diff --git a/2023/activites/reports/fianlReportKo.html b/2023/activites/reports/fianlReportKo.html index faf233c8..0c9920e9 100644 --- a/2023/activites/reports/fianlReportKo.html +++ b/2023/activites/reports/fianlReportKo.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
reports
[KOR]Final Report

TL;TR

+
2023
🎢 활동
reports
[KOR]Final Report

TL;TR

기여 내용 전체 보러가기

☑️ 팀 소개

ArgoWorkflows OSS 2023팀은 1명의 멘토와, 17명의 멘티의 구성으로 총 18명이 한 팀으로 활동하였습니다.

@@ -1532,4 +1532,4 @@

이번 경험으로 인해 ArgoWorkflows 뿐만 아니라 다른 프로젝트에도 충분히 기여할 수 있겠다는 자신감이 생겼습니다.

이 기간이 끝난다고 컨트리뷰션을 멈출 생각은 없습니다. 앞으로도 ArgoWorkflows를 꾸준히 보면서 기여하고 싶은 부분에 기여할 생각입니다. 또한 ArgoWorkflows 뿐만 아니라 회사에서 사용하는 Kubernetes나 Argo CD 프로젝트에도 기여해보고 싶어서 도전해볼 생각입니다.

🌵 기여 요약

-

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

MIT 2023 © Nextra.
\ No newline at end of file +

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary
\ No newline at end of file diff --git a/2023/activites/reports/finalReportEn.html b/2023/activites/reports/finalReportEn.html index 998df2d5..da4e3ec5 100644 --- a/2023/activites/reports/finalReportEn.html +++ b/2023/activites/reports/finalReportEn.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
reports
[ENG]Final Report

TL;TR

+
2023
🎢 활동
reports
[ENG]Final Report

TL;TR

Go to see Contributions Summary

☑️ Who We Are

The ArgoWorkflows OSS 2023team have 18 member. (1 Mentor, 17 Mentees)

@@ -1538,4 +1538,4 @@

Thanks to this experience, I gained the confidence to contribute not only to ArgoWorkflows but also to other projects.

I have no intention of stopping my contributions after this period ends. I plan to continue contributing to ArgoWorkflows while looking for opportunities to contribute to Kubernetes and Argo CD projects used by my company.

🌵 Personal Summary

-

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

MIT 2023 © Nextra.
\ No newline at end of file +

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary
\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230715.html b/2023/activites/weeklyMeets/230715.html index 415852bc..dd02ed26 100644 --- a/2023/activites/weeklyMeets/230715.html +++ b/2023/activites/weeklyMeets/230715.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
1주차

[07/15] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image2

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230723.html b/2023/activites/weeklyMeets/230723.html index c92eba6a..510007e4 100644 --- a/2023/activites/weeklyMeets/230723.html +++ b/2023/activites/weeklyMeets/230723.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
2주차

[07/23] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +

image1

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230730.html b/2023/activites/weeklyMeets/230730.html index ddfed2e8..5b76e15a 100644 --- a/2023/activites/weeklyMeets/230730.html +++ b/2023/activites/weeklyMeets/230730.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
3주차

[07/30] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image4

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230806.html b/2023/activites/weeklyMeets/230806.html index 99e40597..223017fb 100644 --- a/2023/activites/weeklyMeets/230806.html +++ b/2023/activites/weeklyMeets/230806.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
4주차

[08/06] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image5

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230813.html b/2023/activites/weeklyMeets/230813.html index f255721c..cca0ad68 100644 --- a/2023/activites/weeklyMeets/230813.html +++ b/2023/activites/weeklyMeets/230813.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
5주차

[08/13] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image3

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230820.html b/2023/activites/weeklyMeets/230820.html index 2a8776c4..4e7a0c39 100644 --- a/2023/activites/weeklyMeets/230820.html +++ b/2023/activites/weeklyMeets/230820.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
6주차

[08/20] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image4

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230827.html b/2023/activites/weeklyMeets/230827.html index d81fe318..36ea33d7 100644 --- a/2023/activites/weeklyMeets/230827.html +++ b/2023/activites/weeklyMeets/230827.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
7주차

[08/27] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image3

\ No newline at end of file diff --git a/2023/activites/weeklyMeets/230904.html b/2023/activites/weeklyMeets/230904.html index 84982a48..d8f14c18 100644 --- a/2023/activites/weeklyMeets/230904.html +++ b/2023/activites/weeklyMeets/230904.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
🎢 활동
주간 정기모임
8주차

[09/04] 오픈소스 컨트리뷰션 아카데미 회의록

+

MIT 2023 © Nextra.
\ No newline at end of file +image4

\ No newline at end of file diff --git a/2023/members.html b/2023/members.html index e1298060..8992ce06 100644 --- a/2023/members.html +++ b/2023/members.html @@ -9,28 +9,28 @@ .dark { --nextra-primary-hue: 204deg; } -
2023
👨‍💻 멤버

멤버 목록

+
2023
👨‍💻 멤버

멤버 목록


    -
  1. 강병선 (opens in a new tab)
  2. -
  3. 강시온 (opens in a new tab)
  4. -
  5. 권영길 (opens in a new tab)
  6. -
  7. 김수빈 (opens in a new tab)
  8. -
  9. 김원식 (opens in a new tab)
  10. -
  11. 김학준 (opens in a new tab)
  12. -
  13. 박진수 (opens in a new tab)
  14. -
  15. 서청운 (opens in a new tab)
  16. -
  17. 송혜민 (opens in a new tab)
  18. -
  19. 안다혜 (opens in a new tab)
  20. -
  21. 안지완 (opens in a new tab)
  22. -
  23. 유윤우 (opens in a new tab)
  24. -
  25. 이병곤 (opens in a new tab)
  26. -
  27. 이의주 (opens in a new tab)
  28. -
  29. 전의정 (opens in a new tab)
  30. -
  31. 정성락 (opens in a new tab)
  32. -
  33. 채문영 (opens in a new tab)
  34. -
  35. 최수녕 (opens in a new tab)
  36. -

MIT 2023 © Nextra.
\ No newline at end of file +
  • 강병선 (opens in a new tab)
  • +
  • 강시온 (opens in a new tab)
  • +
  • 권영길 (opens in a new tab)
  • +
  • 김수빈 (opens in a new tab)
  • +
  • 김원식 (opens in a new tab)
  • +
  • 김학준 (opens in a new tab)
  • +
  • 박진수 (opens in a new tab)
  • +
  • 서청운 (opens in a new tab)
  • +
  • 송혜민 (opens in a new tab)
  • +
  • 안다혜 (opens in a new tab)
  • +
  • 안지완 (opens in a new tab)
  • +
  • 유윤우 (opens in a new tab)
  • +
  • 이병곤 (opens in a new tab)
  • +
  • 이의주 (opens in a new tab)
  • +
  • 전의정 (opens in a new tab)
  • +
  • 정성락 (opens in a new tab)
  • +
  • 채문영 (opens in a new tab)
  • +
  • 최수녕 (opens in a new tab)
  • +
    \ No newline at end of file diff --git a/2023/members/AhnDaHae.html b/2023/members/AhnDaHae.html index f1634a00..528953da 100644 --- a/2023/members/AhnDaHae.html +++ b/2023/members/AhnDaHae.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    안다혜
    \ No newline at end of file diff --git a/2023/members/AhnJiWan.html b/2023/members/AhnJiWan.html index 802fb3a5..14b18e1f 100644 --- a/2023/members/AhnJiWan.html +++ b/2023/members/AhnJiWan.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    안지완
    \ No newline at end of file diff --git a/2023/members/ChaeMoonYoung.html b/2023/members/ChaeMoonYoung.html index 20ae55d5..339a7292 100644 --- a/2023/members/ChaeMoonYoung.html +++ b/2023/members/ChaeMoonYoung.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    채문영
    \ No newline at end of file diff --git a/2023/members/ChoiSooNyeong.html b/2023/members/ChoiSooNyeong.html index 3805e871..2a55f9c0 100644 --- a/2023/members/ChoiSooNyeong.html +++ b/2023/members/ChoiSooNyeong.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    최수녕
    \ No newline at end of file diff --git a/2023/members/GangByeongSun.html b/2023/members/GangByeongSun.html index 324c915b..c0dd06f5 100644 --- a/2023/members/GangByeongSun.html +++ b/2023/members/GangByeongSun.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    강병선
    \ No newline at end of file diff --git a/2023/members/GangSiOn.html b/2023/members/GangSiOn.html index 02d646c3..baa572d4 100644 --- a/2023/members/GangSiOn.html +++ b/2023/members/GangSiOn.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    강시온
    \ No newline at end of file diff --git a/2023/members/GeonEuiJung.html b/2023/members/GeonEuiJung.html index 562c228c..5f079886 100644 --- a/2023/members/GeonEuiJung.html +++ b/2023/members/GeonEuiJung.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    전의정
    \ No newline at end of file diff --git a/2023/members/JungSungRock.html b/2023/members/JungSungRock.html index c62f622a..e6dfe415 100644 --- a/2023/members/JungSungRock.html +++ b/2023/members/JungSungRock.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    정성락
    \ No newline at end of file diff --git a/2023/members/KimHakJun.html b/2023/members/KimHakJun.html index 9a31f35d..41c629d8 100644 --- a/2023/members/KimHakJun.html +++ b/2023/members/KimHakJun.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    김학준
    \ No newline at end of file diff --git a/2023/members/KimOwnSik.html b/2023/members/KimOwnSik.html index 6c29ec5d..d589b2f4 100644 --- a/2023/members/KimOwnSik.html +++ b/2023/members/KimOwnSik.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    김원식
    \ No newline at end of file diff --git a/2023/members/KimSuBin.html b/2023/members/KimSuBin.html index 45357b87..b167889f 100644 --- a/2023/members/KimSuBin.html +++ b/2023/members/KimSuBin.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    김수빈
    \ No newline at end of file diff --git a/2023/members/KwonYoungGil.html b/2023/members/KwonYoungGil.html index 339653ab..4d55f301 100644 --- a/2023/members/KwonYoungGil.html +++ b/2023/members/KwonYoungGil.html @@ -9,11 +9,11 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    권영길
    \ No newline at end of file diff --git a/2023/members/LeeByeongGon.html b/2023/members/LeeByeongGon.html index 19db4d6d..da43730d 100644 --- a/2023/members/LeeByeongGon.html +++ b/2023/members/LeeByeongGon.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    이병곤
    \ No newline at end of file diff --git a/2023/members/LeeEuiJu.html b/2023/members/LeeEuiJu.html index 355536b9..ababc384 100644 --- a/2023/members/LeeEuiJu.html +++ b/2023/members/LeeEuiJu.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    이의주
    \ No newline at end of file diff --git a/2023/members/ParkJinSu.html b/2023/members/ParkJinSu.html index 23ee023d..14b86522 100644 --- a/2023/members/ParkJinSu.html +++ b/2023/members/ParkJinSu.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    박진수
    \ No newline at end of file diff --git a/2023/members/SeoChungWun.html b/2023/members/SeoChungWun.html index 3db68f32..4b0086d3 100644 --- a/2023/members/SeoChungWun.html +++ b/2023/members/SeoChungWun.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    서청운
    \ No newline at end of file diff --git a/2023/members/SongHaeMin.html b/2023/members/SongHaeMin.html index 0c25ad8b..f68f52ad 100644 --- a/2023/members/SongHaeMin.html +++ b/2023/members/SongHaeMin.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    송혜민
    \ No newline at end of file diff --git a/2023/members/YeomGeunCheol.html b/2023/members/YeomGeunCheol.html index 0506105e..ba6c8be3 100644 --- a/2023/members/YeomGeunCheol.html +++ b/2023/members/YeomGeunCheol.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    염근철
    \ No newline at end of file diff --git a/2023/members/YouYoonWoo.html b/2023/members/YouYoonWoo.html index bb02339b..624f5079 100644 --- a/2023/members/YouYoonWoo.html +++ b/2023/members/YouYoonWoo.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    2023
    유윤우
    \ No newline at end of file diff --git a/2024/members.html b/2024/members.html new file mode 100644 index 00000000..a1a931e6 --- /dev/null +++ b/2024/members.html @@ -0,0 +1,21 @@ +Members – Nextra
    \ No newline at end of file diff --git a/2024/members/KimCheolSu.html b/2024/members/KimCheolSu.html new file mode 100644 index 00000000..6f357b78 --- /dev/null +++ b/2024/members/KimCheolSu.html @@ -0,0 +1,19 @@ +Kimcheolsu – Nextra
    \ No newline at end of file diff --git a/2024/members/SongHaeMin.html b/2024/members/SongHaeMin.html new file mode 100644 index 00000000..e8b38058 --- /dev/null +++ b/2024/members/SongHaeMin.html @@ -0,0 +1,21 @@ +Songhaemin – Nextra
    \ No newline at end of file diff --git a/404.html b/404.html index 35390bde..e897ddf2 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

    404

    This page could not be found.

    \ No newline at end of file +404: This page could not be found

    404

    This page could not be found.

    \ No newline at end of file diff --git a/_next/static/B3_AtZ1FunGxW_tcpFXVv/_buildManifest.js b/_next/static/B3_AtZ1FunGxW_tcpFXVv/_buildManifest.js deleted file mode 100644 index 3c973cf9..00000000 --- a/_next/static/B3_AtZ1FunGxW_tcpFXVv/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST=function(e,s,t,a){return{__rewrites:{beforeFiles:[],afterFiles:[{source:"/:path*/_meta",destination:"/404"}],fallback:[]},"/":[e,s,"static/chunks/pages/index-23b91e7f7eb3cf08.js"],"/2023/activites/reports/fianlReportKo":[e,s,t,a,"static/chunks/pages/2023/activites/reports/fianlReportKo-b575864cfc3418c6.js"],"/2023/activites/reports/finalReportEn":[e,s,t,a,"static/chunks/pages/2023/activites/reports/finalReportEn-9f34c6aa54de741a.js"],"/2023/activites/weeklyMeets/230715":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230715-ed34d0545ac4212c.js"],"/2023/activites/weeklyMeets/230723":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230723-f3d87cb9c27711eb.js"],"/2023/activites/weeklyMeets/230730":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230730-143c673288562e56.js"],"/2023/activites/weeklyMeets/230806":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230806-6e4dfaa93130ea72.js"],"/2023/activites/weeklyMeets/230813":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230813-e6a4067b32b3c751.js"],"/2023/activites/weeklyMeets/230820":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230820-dbb0284610a52e87.js"],"/2023/activites/weeklyMeets/230827":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230827-9fbd0b211c44edbf.js"],"/2023/activites/weeklyMeets/230904":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230904-86eecbaa6f89f24e.js"],"/2023/members":[e,s,"static/chunks/pages/2023/members-de69fca9a330ad91.js"],"/2023/members/AhnDaHae":[e,s,"static/chunks/pages/2023/members/AhnDaHae-523f9bf2bbe22137.js"],"/2023/members/AhnJiWan":[e,s,"static/chunks/pages/2023/members/AhnJiWan-c4c3d1981917b454.js"],"/2023/members/ChaeMoonYoung":[e,s,"static/chunks/pages/2023/members/ChaeMoonYoung-31f69a03e0489143.js"],"/2023/members/ChoiSooNyeong":[e,s,"static/chunks/pages/2023/members/ChoiSooNyeong-283130c731dc0b5e.js"],"/2023/members/GangByeongSun":[e,s,"static/chunks/pages/2023/members/GangByeongSun-3cf92debe566816c.js"],"/2023/members/GangSiOn":[e,s,"static/chunks/pages/2023/members/GangSiOn-438a1ab516f6bd51.js"],"/2023/members/GeonEuiJung":[e,s,"static/chunks/pages/2023/members/GeonEuiJung-482322524d8b9423.js"],"/2023/members/JungSungRock":[e,s,"static/chunks/pages/2023/members/JungSungRock-dbee88d115c515f6.js"],"/2023/members/KimHakJun":[e,s,"static/chunks/pages/2023/members/KimHakJun-c6088429f4dc1c3c.js"],"/2023/members/KimOwnSik":[e,s,"static/chunks/pages/2023/members/KimOwnSik-0f78ea5d34521dbd.js"],"/2023/members/KimSuBin":[e,s,"static/chunks/pages/2023/members/KimSuBin-1ae4424fad98792c.js"],"/2023/members/KwonYoungGil":[e,s,"static/chunks/pages/2023/members/KwonYoungGil-3823078e3f6e5065.js"],"/2023/members/LeeByeongGon":[e,s,"static/chunks/pages/2023/members/LeeByeongGon-652afddea6906ab3.js"],"/2023/members/LeeEuiJu":[e,s,"static/chunks/pages/2023/members/LeeEuiJu-b6a00b738e9b874d.js"],"/2023/members/ParkJinSu":[e,s,"static/chunks/pages/2023/members/ParkJinSu-5488324b63aa659c.js"],"/2023/members/SeoChungWun":[e,s,"static/chunks/pages/2023/members/SeoChungWun-20e2e0e35fa7c70c.js"],"/2023/members/SongHaeMin":[e,s,"static/chunks/pages/2023/members/SongHaeMin-1118b8b31c3a8b66.js"],"/2023/members/YeomGeunCheol":[e,s,"static/chunks/pages/2023/members/YeomGeunCheol-63c29f7c3dc9016f.js"],"/2023/members/YouYoonWoo":[e,s,"static/chunks/pages/2023/members/YouYoonWoo-a48dde4ca8c3deb1.js"],"/_error":["static/chunks/pages/_error-54de1933a164a1ff.js"],"/test":[e,s,"static/chunks/pages/test-8551c5ecc7549320.js"],sortedPages:["/","/2023/activites/reports/fianlReportKo","/2023/activites/reports/finalReportEn","/2023/activites/weeklyMeets/230715","/2023/activites/weeklyMeets/230723","/2023/activites/weeklyMeets/230730","/2023/activites/weeklyMeets/230806","/2023/activites/weeklyMeets/230813","/2023/activites/weeklyMeets/230820","/2023/activites/weeklyMeets/230827","/2023/activites/weeklyMeets/230904","/2023/members","/2023/members/AhnDaHae","/2023/members/AhnJiWan","/2023/members/ChaeMoonYoung","/2023/members/ChoiSooNyeong","/2023/members/GangByeongSun","/2023/members/GangSiOn","/2023/members/GeonEuiJung","/2023/members/JungSungRock","/2023/members/KimHakJun","/2023/members/KimOwnSik","/2023/members/KimSuBin","/2023/members/KwonYoungGil","/2023/members/LeeByeongGon","/2023/members/LeeEuiJu","/2023/members/ParkJinSu","/2023/members/SeoChungWun","/2023/members/SongHaeMin","/2023/members/YeomGeunCheol","/2023/members/YouYoonWoo","/_app","/_error","/test"]}}("static/css/ce3e2389ff45897c.css","static/chunks/376-de4899af1a583d2b.js","static/chunks/762-605ff1cae26ecb3d.js","static/chunks/674-735775a98ba7ac8d.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/chunks/674-735775a98ba7ac8d.js b/_next/static/chunks/674-04b6304fae691b56.js similarity index 97% rename from _next/static/chunks/674-735775a98ba7ac8d.js rename to _next/static/chunks/674-04b6304fae691b56.js index f32d423b..69891138 100644 --- a/_next/static/chunks/674-735775a98ba7ac8d.js +++ b/_next/static/chunks/674-04b6304fae691b56.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[674],{1022:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack.83b11dab.png",height:457,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAgUlEQVR42hWMOQ7CMBAA93KiSOEQHZ9CPIDfAxUUJALsXa9tzGjK0eDpfHm+HimpCLdWS7b4XkttPB8P47RPDtW96BcAPJuZi6DNEKchwsiw2TVk387X212i6qcmAir9Uzzn7N5zliB/YkyqiogAwMyEREMYQgg9ZqIutLYsq5r9ADKlSybNQjpBAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},2107:function(A,t){"use strict";t.Z={src:"/_next/static/media/kbs_docker_pull_request.d088519f.png",height:463,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAhklEQVR42g3MSw7CIBAA0BlmaOyHtLvGO7n1NN7SY7QFYmzAUBhk+TYPn4+X/b03a6XSZj8lRYRCTITjsa53t2/h9GbkcdAlpxgja5xjCFqTVPHOAUJKVxVh533f366cm79noHYAACIjwmHtfjhS2HVdlYoaSZEqUhXxMhtjJmq8Cg84LcMfmB9F77D3uCIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},4004:function(A,t){"use strict";t.Z={src:"/_next/static/media/multi-staging-build.6f98d7b2.png",height:508,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAkklEQVR42hXLywqCUBSF4f2s0atEz1HNG0c16kZRIEE1CM0CqTAx7ajnuvdpO1rw/Szw3hff/JO+xa+sK6GVYiEi4KlEWYtCyxqtNlpK2TACIjqH4f253J9Wh3MYJ9aaNjAbh9Fisut3N73OYz1jJUTgg7aUBOPjEIIB3LYjZZATEFEjdf66pNE0i+dVdkXyRPgH7r2B34dXrr4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},6428:function(A,t){"use strict";t.Z={src:"/_next/static/media/profile_update.30a40b4e.png",height:431,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAeElEQVR42gUAOwpCMSxp0veQ96p4DTfxHq5exWu6OImbOAhtEaTpLxW8nK9BHtKCD/n1/limKqH1TpMz8Rtu92eWxITaK6Blnin+ZN3MoyUDWnLSVgdmhEan4wHZFqnOrUN1gALOxi5mv91Znla3eB8llzGAyRDoH4E+P0Qjl24/AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},6406:function(A,t){"use strict";t.Z={src:"/_next/static/media/class1.1a478edb.png",height:1664,width:2876,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgElEQVR42mNw8Q3w9/cuK8k1NTbS1NFXVlWXklbQ0TNkYJDi13eMnjhhSZiHMQODhLyCkpSMgriELIOStpKasU9qRpO9ubagpJKsHEhCRk6JQd3E1MnV2dHVRVrNUE3bUEZWESghLavIoGZqqWZgZmHrrKCur6CqpaisDkRKKhoADZkWtaRIgMoAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},7132:function(A,t){"use strict";t.Z={src:"/_next/static/media/filter1.5b3ce562.png",height:1404,width:2868,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAVElEQVR42k3ESQqAIBQAUO9/sxZBIwSFpInmkEpB9b+bCiKCxyNFWTsfT0BICfB1ABLG+Q6orHdxc3G92fBM8qqdTOiY6oX+DEKTrGjGeaHSUGn/LlOUV3SbCSJ9AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},2431:function(A,t){"use strict";t.Z={src:"/_next/static/media/filter2.387a8e10.png",height:1096,width:2130,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAbElEQVR42mOQlJIzMbNU1dSXU9KQklMWlZATVFAQkVZkMDIwcHR1UVXXFZGUExGXFRCRFJLVFpRUY2BkFTc3dlBVUxGVUhYSV+QXlpCWUxKVkGHQU/ZxtA2zsvcys3CVldeXkNDQ1rFQUNIFAJBhDcjnSwdmAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},7574:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack1.be0d74b1.png",height:884,width:2292,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAATklEQVR42mMI9PN1dXFRVVUXFZeRklGQkJIDktKyigwWltb+gUHW9i4WljbauvoqqhpAUaAcg52rl6mFjYa2no6eoaKymryiKlBCWlYRAOlIDHvoEK4tAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:3}},9376:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack2.2c80a84f.png",height:1014,width:1886,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAY0lEQVR42mPw9PI1t3fX0jeWk1eUV1SRkVOUkpGXllVgcHH39vIN0DU0MzYx1TMwAgpBJYKDQ81snDS1dRWUVNQ1tJVV1CWl5UASVjY2bp4+Xp4etnb2BkYmWjp6SipqktJyAHQHEZhNd8CUAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},8578:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack3.f8be8006.png",height:2160,width:2880,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AF1TTX96eCs+TyU5RmBeY4twY6eCab6WfACmeHiZeHViY2paWF2Cb2iwj4HctaXHoZgAhlhVqYF6pYh9s5B/g2xdWkxIln59aWFnABIdF4xoWbmQdrOPbY5gTY5sV2ZXRwASNAA+My5+Y13MpoW+n31VRU98WUC4ppedj4AAICIgXVJXt6ufhIWBmImA3rCD4bB+8r+E3GxCoSDyIYoAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},8973:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack4.77ec9eb3.png",height:2160,width:2880,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/ANTq+sfa88DN6L3C08/JzLi4vKu2vL/FxwB8nMWYo7+sqLi2pqOcl5mNgHyzl4KrlIQAtoqEk3FymIyPxZ2NloBvn3hry6KNo5B/AIRhVJpyYbOLd6l1Z7KKdb2JcpRpZKeSeQCLhICohHaydmbNpH7KnXincmBdS0e/oogAv7ewpIp9hlNJl2tRqF9NpWJUvKOMw6OK8vxVa1PhCuMAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},4817:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue1.e4c88f0e.png",height:1306,width:2778,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAbElEQVR42mMw1Dd0cvU0MLEVlFARFBB109TR1DEUk1JgMDYyMzK1YRHWEJTS5hdTlFRQlpFVYOMWZpBVUDY1t5ZVUOUVEhcQVZCVMmLnFeYTFGeQllK3d/TQNbISFJXhE5DUVHLkFRTjERAHALSEDLyZQ8aCAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},6288:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue2.267b95bf.png",height:1486,width:1826,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAo0lEQVR42g3JSxKCIBgAYOAHstKJaXraptq37ghdoMs30wW0MikeQgL5bT98Pl3Fhlfy3rZB62/oPWaFVxW8441xpqTlLMbgtXFA0NBEZIeMTSiDVqqm/XA+AjZGKFFjtXM2RMAoYYR6b6SVGaFEGZcXxXo1n4kZTqjD6bJeCgDYlivOoX40KYY8n5pOSzpWnSPH3X4xL4fzgdbPF2fCYhHS7w8F/lILaBUuBQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:7}},1931:function(A,t){"use strict";t.Z={src:"/_next/static/media/memberprofile1.cd1859b4.png",height:1114,width:2868,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAT0lEQVR42gUA2w6AENR66rG05jJZCJM6xLQ2//9fDSV4zgh3rqV9pXW5+2Gc2aYRFdrHrI7gAhgPzmebgF4GEa7q27WNmIiJOszMyuS08B+cyQouGJB0pgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},9417:function(A,t){"use strict";t.Z={src:"/_next/static/media/review1.669cbc2f.png",height:1496,width:1928,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAkklEQVR42gUA2wqCMPREgXiZl83pVnM6dFEUhVPTCoswkF7r//8l4NF9p+nXDTeRHyOuIq79VKMwBliBGdvPPNf12dowViqaSQdRgGU4XMemvyPMbURzpdO1tP0YpCwOJyNyHWAWEIaI9EiGQgqlKp+vt2kunodRlHK5S8TWQRhg4Zq2V9Xe8ogbJrKoEi4cn/4BjkoRPlpG0ZQAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},9083:function(A,t){"use strict";t.Z={src:"/_next/static/media/review2.9730b477.png",height:1454,width:2008,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAk0lEQVR42hXJ3QqCMBQA4FFEkHqmc87j/MNEXTlrmZWCXghBd73/40Tf7Ud0+Zmnb9MZ4DWwxAEOHjpeSMiG6NHcX+Px3BbayFpBgDYVZLNj87ou6ztXl7TRVXfzMTlAQLZ76IfxOS21agWmnMfUj2xXEOqjNoPMK8sNLSogjCjHfzAhr/0jK09KmzgrHZkwLCzKf1uCEVsO+2HnAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},301:function(A,t){"use strict";t.Z={src:"/_next/static/media/slack1.b6ffb44e.png",height:1656,width:2880,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAZ0lEQVR42hWMQQrCQBAEp8foMyT//4Mg+BAJePEkHkIm2Z7p7FY31K3weL7u87xFuKOPzNt1kpm9l0XS3tg4OFgRcTQ6STNlsqpMIhsAqVxCGbJU/QZm+aWnMP3X+Hx/SRpgg+Ft5wltmEwi/RKB5wAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},534:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr1_img.0fa11d79.png",height:856,width:1661,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAV0lEQVR42j3LOw6AIBAEUO5/P39YECAKRkRwgYoVl8bkNZOZYaPYFmUJV3aWxgWAXGIqjDLX3aoPKgLkF7FWZLPsQ0KnQew35NYaIjLKv0kac3p3+fikD/IQVxnnv4OpAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},4788:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr2_img.2a13c761.png",height:200,width:169,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAMAAAAC2hU0AAAAYFBMVEXc4+rY4+ra4unY4+nZ4unZ4ujZ4ufY4unY4ujZ4efV4uzY4ejY4efX4ejX4efa4OPW4Ofb397Y3uXW3+XZ3uDb3NrR3+LQ3uHo173R2+DP2+TI3NzN2N3nz6q1yclkwaBZ6s5OAAAAP0lEQVR42hXFRwKAIAwEwBWNZDVW7PX/vwTmMjCxvReDue2/kT+/x6UlzEEJZdWUVNAPx+SZXt61INq6u0axCFtTAssM/Dk6AAAAAElFTkSuQmCC",blurWidth:7,blurHeight:8}},3523:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr3_img.b48013bf.png",height:1362,width:2674,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAARUlEQVR42k3JSwrAIAwEUO9/1JYSzdckXdRIFw6PYWAaipIYVSurLbQ124k3I9N/tdt0ZzO2Ke5xHs/AC8ZydwRiwNKJPxQrXD+AXe/dAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},8083:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr4_img.99b04217.png",height:1404,width:2868,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAUUlEQVR42l3ESwqAIBAA0Ln/0Vr0kdpEEWqlmE3SxmbcRAgthMeDthMew0PMKRFnHIlAKhWJzYFnuH12fUMthtXhKPdJ29+sLVRNL41fNld4AVMKV2tea3joAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},178:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr5_img.36b5d7b9.png",height:1388,width:2782,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAWUlEQVR42g3Kyw2AIBBFUeYTWUhiQktagP23IYQAjxlZ3pNL9/N+pahqrdWcMGfOF7AUa4lISmeMR+8YY5RSzVx3m5mwGxORUdjnYhbeCmAiEGtrgzYxu/sPu301lr1M75wAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},8556:function(A,t){"use strict";t.Z={src:"/_next/static/media/goal.d671145e.png",height:1250,width:2030,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgklEQVR42mPw9A2wd3KzsnXQNTBh4xZiYObh5hflF5Jg8PD2i09KCwqN9PINtHN0VdPUERSRYmLnZ3D38ouIjvcNCHFx93bz9HV287SwttPQ1mdw8/SOTUjyDQzx8PYXk5QXFpeRkVeWVVBhsLT3DghLdPcOsrZ30dDSA1oDRKxcggBNPBkhxLUk8gAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},513:function(A,t){"use strict";t.Z={src:"/_next/static/media/meet.f2b8fa86.png",height:1500,width:1992,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/ALzBx4ePlmtzeXqKlIGNlXSAh2lwdo+WngDQ1dmttLxhbXSCo6+Wp7B9iJB4f4Wjq7QAtLq9oqixeHZ5jpSXlJueiomNYGdxl52lAGJcYmdpco18bLKnmbCkkaCXiXtzb5uZlwBMRUVOTVLCsJurpZmhm5TMwKqxpJFHRksAAAAAc2NV4dC339TBoaCm39TB4NK3ZWBZtdhQgawS5WAAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},101:function(A,t){"use strict";t.Z={src:"/_next/static/media/debug1.8b99cb38.jpg",height:2504,width:2e3,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgABgMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABwEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAJ6KP//EABsQAAIBBQAAAAAAAAAAAAAAAAECAAMEERIh/9oACAEBAAE/ALl8VWCnmxn/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAECAQE/AH//xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAEDAQE/AH//2Q==",blurWidth:6,blurHeight:8}},7041:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue-report1.bb83ed04.jpg",height:334,width:1274,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAIACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABgEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAIMUH//EABkQAAEFAAAAAAAAAAAAAAAAAAEAAwQyQf/aAAgBAQABPwCTVo6Qv//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Af//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Af//Z",blurWidth:8,blurHeight:2}},5309:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue-report2.a394ffac.jpg",height:2628,width:1982,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgABgMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABwEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAJ+KP//EABoQAAICAwAAAAAAAAAAAAAAAAECAAMREiH/2gAIAQEAAT8AvtVbCuq5HCSJ/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwB//9k=",blurWidth:6,blurHeight:8}},8456:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue-report3.5395b23d.jpg",height:2334,width:2488,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABwEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAAsQP/xAAXEAADAQAAAAAAAAAAAAAAAAAAASEx/9oACAEBAAE/AFkP/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwB//9k=",blurWidth:8,blurHeight:8}},9772:function(A,t){"use strict";t.Z={src:"/_next/static/media/1.picture.9771c140.png",height:1158,width:1019,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAIAAAC6ZnJRAAAAmklEQVR42h2NwQrCMBBEd5NsWlsvFsWb4BcJXvx6LYJIQW1oU0hJmsTVOQzMwMzD0/lizAdQAVJKGbJP0avu2fXWXe8PKSQi5JxJKZUgHg/77aYUQgKAc84Yw73MOVk7ERG3cVnGcZJNs/st/hqGARFjTMLNc1GUdb32PnBmB0avWFV1a9vXuy808YIBojcmhKCJtCYpBb8BwhfKzFGklVtu3wAAAABJRU5ErkJggg==",blurWidth:7,blurHeight:8}},1352:function(A,t){"use strict";t.Z={src:"/_next/static/media/10.picture.204bfe0a.png",height:1154,width:1375,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAqklEQVR42iXLywqCQBhA4X8X1MaKUstMJK+heR1Nx3HGUUOjCOo5ev9lQrsDhw/ezy+mLMddSe9eTIWtJqw2qq4DyqnhxqJykg7G7miZTuC4/mIpQEnY4/VpbyPlPaE8zUpZ0WZzAYqK4bq5RKm0VwFgIx1cLxBlBWJ0bbqhqGia46lNx0cFCZMMghjxfiSs5f1QEBZEyHa8tbiHMMknUZIG1/w/LPu82so/zRkgGpFLqNIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:7}},2424:function(A,t){"use strict";t.Z={src:"/_next/static/media/11.picture.6fe9227e.png",height:975,width:2531,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAU0lEQVR42mOwcXA0NLYSkVLkFRTh4hXi5hUSFJKSVlVhkJCRU9O30DJ3ltM0lVfV0rHx0LBwkdPRY+AVEBWVkheXlucXktQxM7H18NA2M5LTUgUAdeQKeBQoM5QAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3}},7163:function(A,t){"use strict";t.Z={src:"/_next/static/media/2.picture.21d518e5.png",height:1231,width:915,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAICAIAAABVpBlvAAAAh0lEQVR42hXIQQ6CMBAAwO6ylSYGlUQP3oyf0YP/f4NiFIppgba7tcxx4HZ/MEc7jggYYui6jj5+qs2OccHalGwOQhPJZtv2zxdbjxUiaALOvn+H3zcuHqBSKhMSNfuTG3pAULAi5iRFFpUyYBmka3vUOraXc0qxhB0GMrXRWgPk2c7eORH5A3iqRjZ8gegIAAAAAElFTkSuQmCC",blurWidth:6,blurHeight:8}},2562:function(A,t){"use strict";t.Z={src:"/_next/static/media/3.picture.921611e2.png",height:1294,width:1390,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAn0lEQVR42gUAwQ6CIPQ9QGUZlnXqk7r0H/1sW1tbl24d1GUqoA0Ung0v52ulHxQok7LrTN1UWcrkMePlab/fFda62/1pRl2qnK30ftUC11AolW/yQkmt+xBiDPGEIBDROee9J4ppkk6TKQ+lSISgGJd5BoBpHK21CRefqm61ZsSQmBi0mZdlqxQBdEPPEUQTWufl72smZ7ybV1iRcwT4AxhJXYFAZ6MbAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7}},252:function(A,t){"use strict";t.Z={src:"/_next/static/media/4.picture.9a530bf1.png",height:767,width:1011,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAjklEQVR42gUA2wrCIPSop83YTYiILnT5ij32/79QDz0siCJsoJtHZjpY217VemWNvd0f1nkAqMoCIIlKNYf9NpeZzFjwRlXLXr9/nxcKgcPoyDnE7Hi6ELm6UdM0IREtEEFK7z0XnHOWEoQQMM9lUZYxRmuM1rrrnl/dxwRsszsrVTOAf4zOkR1GITgAmwHp+0RiNT04NQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},2359:function(A,t){"use strict";t.Z={src:"/_next/static/media/5.picture.048cf128.png",height:1157,width:1399,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAqElEQVR42gXA2AqCsEEQPQRWhnmnZlNnm1c6mndqUlJR/9H/vwb4Pn+0qGgxnFlP84ayyrRd2dqDOGUHN1L2UJAtMOMVHUIXLVYcaLtxen368U5ZTcIE4VCQtPmCAxkrm9tEy84nsaQa0MM+iSRFB+LJwG0f1m/TTzheVPRjeikRjoBK7OA6kPyhOwG/Uw3L8RBZrgUgY9OvapT12hFvRU1WTRt63Eb4A2cYHJR28ML8AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7}},628:function(A,t){"use strict";t.Z={src:"/_next/static/media/6.picture.e0fcd07f.png",height:602,width:957,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAdUlEQVR42g3KOwrCQBAA0PnsolHshDSewk68/zmsjEGIsmRgf86MefXD6/12HseaK4ETDqa6irxfU5jSrJeopiSnJut3fv5aRt+SAbGHyGEXmSkyknUAoCHuuTAWaHkB7YDs5uAeDnDsD/HtqJWa0mdhBNf+B0edPmmBrlP2AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},9569:function(A,t){"use strict";t.Z={src:"/_next/static/media/7.picture.26a65656.png",height:1180,width:1377,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAq0lEQVR42gXAygqCsEGH6EEPS6dOp3PLZ2qJOtE0lTQ6BB06Bv1F3x/g+/m1t5GXfVGPvBp42cgIqyYBeXYXVLbYmXOBTFZY1g7M9pZwBy5t1w+PME7OaX5KMjeILOZOZxtQVNfn653yktoeNpmiEWr7a0EEJHLjrqYsYE5gUgdhVlRtnGRgBSWn4XtItpK6lRDSqedHEBlAtFA4NqrhioomKhjpVnCMN3v4B/HrGqVf2Og+AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7}},7430:function(A,t){"use strict";t.Z={src:"/_next/static/media/8.picture.ce979c4c.png",height:636,width:1367,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAX0lEQVR42mNwdvfyCwr18Q8xt3GSkVcWEpPmExTlFxJjcPPyDY2M9fIN0jW2lFFQ4RMUB4ryASV8A0ICQyNd3L1NLawtrO2Amrj4hEA6TMysrO0cLa3tjUwtjE0t4RIAvywR1dAf5tYAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},8801:function(A,t){"use strict";t.Z={src:"/_next/static/media/9.picture.9148a8bf.png",height:1237,width:1371,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAApElEQVR42hXMSw6CMBAA0HZmSqCIn0SjiYn3ceE5PLFLogsNKBUIhUIFinqA9/jpeH5VF85omrhzPSKM/VC4kipzt9bF11gG/jPJg6VcLXx1S4mR3W3XCJMQ4rDfNMYYaykk4gyjaD4MAyIBAFNKynAZRZSpYnRe19YAk9Z1retAyh+jWejPJAgKGftvhJA+kqprqWtNzlyhMo6i0eVbf5A73/O+T3pRVxTapecAAAAASUVORK5CYII=",blurWidth:8,blurHeight:7}},207:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue.71f16f94.png",height:895,width:1556,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAZ0lEQVR42hWJWw7CMAwEc/9DghCvtgRVOH6sE5O0We3HaCZ99i+rzRvMqwKjdzFNpyKF1UB0j472V/gYI7k7lwLghDrX1BARqUWseb/cl9truz6W55pnjJao8HvLv8LESiwsSoVE5AAzSHLfL2a0VgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},9797:function(A,t){"use strict";t.Z={src:"/_next/static/media/mission.42501584.png",height:937,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAARUlEQVR42iVMCQ7AIAjz/9/dpBxWVmcCaXoOwNeiIaa5e9QSo348rwmqak7LOuq9AYDk3hueWVRBIcqQ1N0kIzJP5d8iP1VYXhgD5VLuAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},7682:function(A,t){"use strict";t.Z={src:"/_next/static/media/mission2.5f674e60.png",height:769,width:1274,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAPFBMVEX////+/v79/f38/Pz7+/v7+vr6+vr6+fn5+fn4+Pn4+Pj3+Pj39/f29vb19fb09PXz8/Xz8/Tz8/Py8vLQUoGXAAAAMElEQVR42h3Jxw0AIAwDQJtOSKj77wrid9JBcwwOIGQvK554GL1J8pCjFkiiTv1zARsMASvXEH53AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},5357:function(A,t){"use strict";t.Z={src:"/_next/static/media/pr1.6226cac9.png",height:886,width:1136,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAfElEQVR42k1LSwqDMBDN/e/QhaWlpT1H6aYgdCEIIoqKRCOoRJI4k8RRQXy8xfuy6/33fIfExyskHdyI30vwYYCzteicRYv+BKa1QUQAUEoZYwDQbWB6M0KINMt50/bDQOn6oJX3LivKf5z2o6ToKGbSVc2jJOdtJ+W0FwtyOoRk2eVnRAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},4005:function(A,t){"use strict";t.Z={src:"/_next/static/media/pr2_1.3f303a8b.png",height:916,width:1903,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAVklEQVR42j3KWwqAIBBAUfe/wKAIpKdQg5qP0dHIDCE4H/fjsq4fBahDahfIYnAYK+MDW7f9KSUSUcopN3dtxucFY7Ie/70FG/gkjT+VAW3gsqA/AtQLv6taxxPwMoUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},7149:function(A,t){"use strict";t.Z={src:"/_next/static/media/pr2_2.feb5d283.png",height:865,width:1905,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAUklEQVR42k3CSQqAIBQAUO9/vWhR0aLBMkkEs+8fDCOC6PFU3XTaOut8BAxnOuAZIqhlNaUUYhbJkt8XS1bDrBMxICHxNyGpqu0n6wezj5v7vwG/pVpm0yeqaQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4}},4405:function(A,t){"use strict";t.Z={src:"/_next/static/media/result1_1.6ed67309.png",height:720,width:1016,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAfUlEQVR42h2I0QrCMAxFkzTbWMcoSt/c//+LiL+iCLqmrU02eu/D4Ry8P563bTPV2jReL8xOVXOpXJoVpZRLajqmEtd5GIeBmUVkT6kZwOsNDqYYzIwQeJoX75dmVkSICPrUjLFD/5VCoNWfFRHZIQOe76oqkj8/5xC/ez4AAJBB0sSn99gAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},5655:function(A,t){"use strict";t.Z={src:"/_next/static/media/result1_2.d7bd9130.png",height:94,width:700,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABCAIAAABsYngUAAAAH0lEQVR42mN4++oLEPz8BQI/f/76/OPv95+///75AwAgJRc37bSupgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:1}},7799:function(A,t){"use strict";t.Z={src:"/_next/static/media/1.UI.e9150db5.png",height:336,width:282,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAIAAAC6ZnJRAAAAf0lEQVR42j3MMRLDIAxEUWkRCKfI/c+YdLaDjUEouEi2/LPzeH+9k6bhHmNEABGXbZfOPMOwAVUjBuAoctbrbE1D6GburikRkYD5uSyPrJozkU/hqFVKvfLykEFl+9BszO2o0pqVdV+D0G8yvwyWGAPwr2gQ7oajBBH3G71p618QkT6wYWI48gAAAABJRU5ErkJggg==",blurWidth:7,blurHeight:8}},3880:function(A,t){"use strict";t.Z={src:"/_next/static/media/2.UI.07f2b05e.png",height:768,width:562,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAICAIAAABVpBlvAAAAdElEQVR42h3KQQ7DIAxEUd//kl0gUeQCBRuDwSQq6V+Nnga+lXLOIQTvPVF9Y4RCfCjGiIillE9M0Idus+vffV/SB3RVM6skay2zxdIfmnO+HD60lgwFanJqjVNKZ+RS4TyZeYyx9xZVhwmIhQ6pHupzOkw/hO+I/8CBfVIAAAAASUVORK5CYII=",blurWidth:6,blurHeight:8}},2942:function(A,t){"use strict";t.Z={src:"/_next/static/media/3.UI.b99b841f.png",height:1086,width:1786,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAa0lEQVR42i2MWQqEMBBE+/5nGhhFUNRbuEGiWVzQmG4TW7SoetTXgyRJO6HsssYYryeB5xEhL2tP1+5Ouzp3eo/0Fv5ZbrZDmkXomSnNRyjKiiWI9FhC4IM8Ivil2TDZRkwtV6pWqE7qftQ3Yjdvv24iw+4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},8010:function(A,t){"use strict";t.Z={src:"/_next/static/media/4.UI.b9e51171.png",height:1336,width:3296,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAATklEQVR42mMIcTQOdzNzszWwM9Y01VA201A2BSOGtFTv7Cz/6EjnAD8bY2MtXV01PT11IGLISvfNyfJPSvCIjXE1t9DR0FTR0VXT1lEFAIx3EWHC5mU3AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:3}},9937:function(A,t){"use strict";t.Z={src:"/_next/static/media/5.meet.239ca8b8.png",height:1080,width:1440,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAmElEQVR42gXAygqCsD1tJJmECOEthDpG9ovVL/UTdbFTCCXGWkJliq/pXMDDfmdPKIHDCCmkGwRbDBRQJbacFa/z0xEjE4ynpkjzX9lrahNGZfaotCWjGIgCRwm/iy8PU+I5bL2YG4xoKSX+BJtt21Tx5UaCpSsEZ0Ph+47sOoMmz6ru3BnyrOIcXtOsRRQrDQdNetm/3tkfW21P1c71lr4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},9501:function(A,t){"use strict";t.Z={src:"/_next/static/media/6.meet.9d2ea154.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AMDCwpecoHV8f3+OlIeTln2JjnN5fIuQkwDP0c+2vMBzeX14oKqSqrGEkZZ4gIOfpakArrGwpqqvfn1+kZKQlZ2em5CMfn5/naKmAINnXXVydYx1ZLalk7CeiKWVhJWMhZmXlABTSUdMSlDCp420qJail43HtJy4pIxcWVoAACAxYlBC38an6NS5qKKk3Mu2482rcGleNp9RzKfdDYQAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},8050:function(A,t){"use strict";t.Z={src:"/_next/static/media/7.meet.9f3b75dc.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AKWqqYOHh32ChIKFhYWKjHyChWtvcHyAgADHzMydo6NrbGuGiYmVm51/hYZwc3OLj5AAt7u8oKGgd3t8dHh6kpGQiHp0dnV0h4yNAISAf1ZCPoaAeaybhqOVh6qbj3Z3d3Z5eQBKREh3X1WvmYO1p5PVwaHOuZmEgn5qa2wAZVdM1r2a28qu1sWo4sym6NKsiH1qNj5GtBVOhHS2V8cAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},2648:function(A,t){"use strict";t.Z={src:"/_next/static/media/8.meet.15c7b0fb.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AJqlncTSzub07svVz7K9tc3Yz665r56mngCiraaltLLP3NaxsKapsq3AysGstqyXn5cAm6akQVBeY3N3kJqZbnNsX2Fcd313VVlVAF9nYkhRVVVdW4aLgDo3M1FKQV9dTjEqHwBfZ2w8REYAAAUvLy01Ni9bWFVrYG9QRTkAbHOIEhkdHCEiGR0fJCckS1NUa1xZcFs+1UBBUOQMBS8AAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},6213:function(A,t){"use strict";t.Z={src:"/_next/static/media/9.meet.b0a9c157.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AJqmncPSzub078vVz7K9tc3Yz665r56mngCirqaltbPP3NaxsKapsq3AycGstayYnpcAm6akQU9eY3R3j5uZbnJsX2Fcd313VVlVAF9nYklRVVVdW4aMfzo3M1JKQV9dTjIqHgBfZ2w8REYAAAUvLy02Ni9bWFVrYG9RRTkAa3OJEhkdHCIiGR4fJCckS1JUa1xacFs91ulBVn+TeHUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},6838:function(A,t){"use strict";t.Z={src:"/_next/static/media/after1.6fa00861.png",height:1274,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAYUlEQVR42j2LwQ2EMAwE7diJxEWihxP03wSIlhBJ7MU84LOPmR0+tv2/rGZW6y+rpCRE1FpTmaY6zyH6GKP7w0HDoKKaS+bOJZaZggOOrCW4ytMzpVeYQx04r+5mcf8KItwdxC8d62B0TwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},5739:function(A,t){"use strict";t.Z={src:"/_next/static/media/after2-1.f150b826.png",height:916,width:1903,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAV0lEQVR42jXL2wqAIBAEUP//A4MiiK5CiZqrq6uRLUhwGOZhRnT9KJU+tfWRAKPHxFyIYtuPt9ZERLnk0jzcxbSsmDIE9P+8/cQwzdqFyzhlQd3AyaQyH7+CWshtL7J+AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},5531:function(A,t){"use strict";t.Z={src:"/_next/static/media/after2-2.0d79ba01.png",height:865,width:1905,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAUUlEQVR42k3C3QpAMBQA4L3/68kFcsEas6yFOTs/0yQlX5+qm84473yIgPuZDnhuEdQ021IKMYtkye+LJatRm0QMSEj8TUiqanvtwmDXcfH/N79YWmUmE9TlAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},9:function(A,t){"use strict";t.Z={src:"/_next/static/media/before1.4e841747.png",height:1160,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAb0lEQVR42hXLTQrCQBBE4a6uyoiu/MlGEXNIEU+onmfQITIZbJPFWz0+PJ6vyzDQfb/bRgTJTynX212Hvj+fjnVqAMzC4ZJyzrL4mVknLiPCANHp0Fhb+dbWJsDNjOS7jFpvtEpJdAsCi5nrqJTSH/DpIsd41/sdAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},1802:function(A,t){"use strict";t.Z={src:"/_next/static/media/before2.a61a555d.png",height:603,width:1829,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAN0lEQVR42k3CQQoAEBAF0Ln/FRVSRsj4heWUbPB61DpE0AWYC2PepKqpignsONv4kk/F8Wn/sWzCFEHHcXZXkQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},6455:function(A,t){"use strict";t.Z={src:"/_next/static/media/task1.2000569f.png",height:1217,width:1820,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAU0lEQVR42h3MUQ6AMAgD0LZj8/4XNbpPdSDsET4gaXleE9ZVmgpjo3vM+wJgWx9danXmroi1loMeeN7Peo4ZCESIbE35OMaoHtIQkI1MiBKLJAA/HbUkL+F2sZIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},8240:function(A,t){"use strict";t.Z={src:"/_next/static/media/task2.9dff6de8.png",height:551,width:1750,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAASElEQVR42g3JQQ6AIAwEwG1BDDH+xZj4/yepxWPblbmOHOflwXd8w8zdkSi7bkuv9tzUVsukHkCgdO1trYCQzMw5IkJhBiPjByGGIl6oj61iAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:3}},1057:function(A,t){"use strict";t.Z={src:"/_next/static/media/task3.4a7fbd87.png",height:867,width:1610,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAATUlEQVR42hXFSwoCQRAE0cj6MHj/A7p2KSi6mK6c6UdA6Pl7PaaPo0NhLDDMTC3+a+Zcygqbzfv6vj+DuyvzLr0NqOgoSRFKSAl5GbgAFKYj25s0J3gAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},310:function(A,t){"use strict";t.Z={src:"/_next/static/media/task4-1.d67db6ef.png",height:1484,width:1920,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAi0lEQVR42g2L3QqDIBhA9UuTNitQdjMGY1AQvf9LDfpHK5v6zctzOIe2bff6tNtm3G4Wc+7HKYoKQWTT5JrmrVRdljet6kIwTn8QLO27Hln+HeZK3q21w7hSACE44zyvH0+tNSHEe6/VklTwgRGCh13HaUaCGNFdF1CaIpYIAKSUMYZ0jPMSI7Is+wNslUOQI/xXXgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},6359:function(A,t){"use strict";t.Z={src:"/_next/static/media/task4-2.6e8f5fc8.png",height:1450,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAfklEQVR42gUAQQ7CIKwtjAGJGs3iP5b4/+eYuItzOgYUWoOPebbxtH33df3UyszZhQnJmOe73KdrStmNQym5lCaQpO32dg6/beOmr2UhQuw0XFwETyLqvAeAGDwhAYEenY9qAbTmoqrMDRGli40mwEiqwI1FxBhSUEJsXUuXP3BZTPpXadidAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},7727:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity1.e8d1ca4b.png",height:1275,width:1608,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAlElEQVR42mNIT4gODvC1tnWws3cEIgsrGy1dAxU1LQYDEwufgBBP3yAv3yAHV287Rxd9QxN5JTUGA0NTAzM7HSMrHVNLLSMLHX0THT1DRRUNBlkFVQYIEGSQVpOTlVMFKldS1WSwdXRNTMuJjEuJjE91cHbX1TdS19JTUNZg6O3rfw0Cb75//jSxvx+oU8/AWFFFAwCpuSWRYlAGsgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},7367:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity10.0293a29b.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgklEQVR42mNoyIvvb6ufvWBpV225na2ls6VNSUnsjFkVDPGRbm29c3onzAx0c3ZwDczKLK8sSk5Ji2UAAme/CA8/f3kFLS9nd13dwNi46MqUYAZVdW0GEOBxcfbuzs0uz0xqz09Z3dvKICmtqKGuqa+to2jrXBjhu6GnoCLWOzwkAAClpChLBTGrWwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},525:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity2.61370100.png",height:246,width:966,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAIAAADq9gq6AAAAN0lEQVR42mMIDQ0LDgl3dfe0trU3NbPS0jFQUFZXUtVkCAgKDw2N9PfxMjI0kFUCCmkARRVVNAAo5gq2m43bPgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:2}},8189:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity3.f796a04d.png",height:764,width:1196,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAbklEQVR42mMID48wNLfR1DfVNDBT09RTVtWQklWUllNi8AoIM3Hw0jC2VTWwVFDVUlBWV1TRVFTRYDA2tdTWM9bQMVBW1wHylVQ0gCRIwsfH19rBRV5ZTVxKFmgIHDEoqGjq6hspaKhLyiggSwAAQKUTpOYjypIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},3434:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity4.e0feb885.png",height:469,width:1071,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAY0lEQVR42mOIj4709vIyNjaRkFGSU1RVVNGAIAYLG8ew8Ah3T29DEwtDIzMVNS1lNS0lVU0GBwcn/4Bge1dvJ1dPRydXIxNzfUMToByDq5ePmbWjuqa2tq6BkpqmnJKaAtgoAP09E687o5M1AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},1916:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity5.b239b01d.png",height:915,width:987,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAsklEQVR42mN49erVixcvnj9//u7t22079s6ft3L1/JnpSfEMwdEJZqYWmjoGMoqqIUFBs2pyFtRlp8aEMFi6+lgaGUUG+VvY2IeHhTGAgYaGJkNyZm5mWmpqbKSmnklBYeHcefMXLFwcl5DMsGfv3ty8goDAYFsH58jo2FWr12zeur2opIxh/fr1QL3G1i66JtZAxvnzF968efP69WuGVatW8QuIOTk56xsYASWALvwPBgACnkvhF2gpdwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:7}},5245:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity6.9586cde7.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAh0lEQVR42mOY3ppzeOOMeT1lKf6VWzYcO3pwy7y2iikdZQxTehum1edOrMmtKi1aOGfKhrXLqkoLGqtyGWYtnFcZF1yUm1FcUTRz7oxJ06a0NzY1tHUw2JqZBpoaOTva54b65seFMSiqSjCIWdk7MnDw8jKIiDAwMFSkxZelxgEZCoqyPCyMAGmgL4cuzbZAAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},4877:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity7.8791b048.png",height:931,width:1554,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAQlBMVEX////+/v79/f79/f38/f78/Pz7+/v6+/37+vr5+fn4+fr3+fr4+Pn39/j39/f29vby8/Px8fHR0tLQ0dHKzMzJysqXWlqiAAAAMElEQVR42mNg5RDg42flYWZg5+ZjZWNkZWRg4eJlYmZkAAJWThAJZAqKCIsKMTMAABjNARNEEtsCAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},2583:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity8.522bddda.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAiElEQVR42gF9AIL/ALyurMG6t8XJy9fZ17S2tYyKipaSj46PjgBZU1KkmI2Gem+ho553cnGsnYrGt6CGgYQAqaqqxcPDl5mggoCFgYSNuKyerqGPxbqpAMjKysXCwKKblXBocYdoY4NqVnJbSY50YQB9f3qPioJkWUpoUj+EWkWBYEeVe2RqUUfHKUMOACwElgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},3441:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity9.5e6700c7.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAiElEQVR42gF9AIL/AKKnrIuPmouJipOYnaW0spifoJyprK/AvwB3en5LPjOyn4inmoN7hoVqd4Z2gISSoJwAl5idZnF3m6yls66ddnV6gYaGlZSGgIFzAH9+g4eKiYyXk2BqcZibnJybmqyur5KSkgBVS0yjkoGgj3taVleZmZi2sa2loZ5taWVk5EHhe0dbUwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},4987:function(A,t){"use strict";t.Z={src:"/_next/static/media/argoDag.77b701f4.png",height:1177,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAa0lEQVR42hXKQQoCQQwEwHR3dvEogjf1/18RwT/4ABERF3cmk6jnKpwv18PpOCLaqP1uSzKrWg/vptQUCRhu94fImVNZ+dp7DHuuC4BRGQOznAUXCdhGs6glPoJgAM0zs8ycIvjj/zJ7vdsX2hcvlIBqeiUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},8008:function(A,t){"use strict";t.Z={src:"/_next/static/media/argo_0.eed7f471.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgklEQVR42gXAyg7BsP6q3xIHX0CWEEwiM7GSrl3aardaxUlcODgofRLgNXdaxA7btn4zaKtF3GaxmICkyO/cPDl6NJVhlZPIUhjYHvgWh6u8lcWdILHK+HLqFQmaAgdzL1HazRw7ml68yqFZD1x/Amk+9vUmauY7HC8isPxzGH0V/QPjN2U5BJzzUAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},4381:function(A,t){"use strict";t.Z={src:"/_next/static/media/chart1.f3e1b6ba.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAc0lEQVR42hWKQRKCMAwA+/9vefLieAMZEDs6UBUxNtQhLUmMt53ddSKiIkS0RIyYDFTVnNuY5R+VQsjpa8DMypuTTAXArjCklViFLOHwdC8odbNM/f1QrdOc613XHsd9VRxE6vzn0s/nG/orNB5P7Xt8pB82h3Esh8Wh6gAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},8904:function(A,t){"use strict";t.Z={src:"/_next/static/media/chart2.3f50bff1.png",height:602,width:972,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAeklEQVR42hXJMQrCQBBG4T2zeBR7Cz2JjbGwULQQJBKCCArGNZvZ2d2Zf5K86sHnAJhZLtp7H0IoooWpZHYiogqZgsm/1cxqpsAM0+jnZDSkao1E+fXQTM7MblUTd6tn3X03S6TYbxdI3Qz365vrY9PS73JgYn/eQ+II7V5vwR6esE4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},3917:function(A,t){"use strict";t.Z={src:"/_next/static/media/companys.d1572956.png",height:596,width:1047,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAg0lEQVR42hXKsQrCMBRG4bz/Gzg4OjnpJIIIIlhRMCJXB4eSSFML1ho1bdp4/duu53wimCTEGoAti8v9CEBrrZQS75TWu/MfSB63FS2YmYiklMLWLq8sgF9TBV92wnvv3Ffw/oDJDGiiE6bLruNVfLI0F9hseTgC6nmEwbgfmXnGV9MCxNps4aPTFrAAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},480:function(A,t){"use strict";t.Z={src:"/_next/static/media/core_0.842b8b29.png",height:1250,width:1860,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAAAAABd+vKJAAAAMElEQVR42g3IsREAIAgDwOy/qieHBAQq9MuHiC/NbjAoRnPsY6oeBSV/3sJmWM7MA1TXJhTTR2VSAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},5514:function(A,t){"use strict";t.Z={src:"/_next/static/media/maintainer.99bb7669.png",height:1257,width:1710,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAjElEQVR42mMI8g9QVdNMS00rKy/PzMp59OjR////f//+zWDn5GFh6/To8ZOfv37//PnzLwwwAIGbs8vTx49+//nz798/oHIgAQQMK1euys/OvnTu3Lu3796/e/f58xegOX///GEASvb09JpZ2icmpdg7OHd3dwNFQEYBqd6eXqCBhsZmQLKurh5s2j8A7QZijTKLbGcAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},2154:function(A,t){"use strict";t.Z={src:"/_next/static/media/uiux_0.8a348206.png",height:1003,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAATklEQVR42iWLuxKAMAgE8//faaONEyA8Ajie4xV7ze6YxCLqvj02aLidaj6WqpplVWJVT/d5y4oY8InII2ACXX1ck1Ewi3099jcl4qLxAh6DXMX8pUeIAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},94:function(A,t){"use strict";t.Z={src:"/_next/static/media/uiux_1.97bf9785.png",height:995,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAW0lEQVR42g3JORKAIAwFUO5/Pi1cC2fc2ELgJ2An5ZtniKhwDpGGYbzuxzmfiIOPZt4PGwjAtG7QxpAsShlmWtaiH7Se92udF61am6iaedtTkZByKugVGZ2R8QNH4ljxB/rZjAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4}},3782:function(A,t){"use strict";t.Z={src:"/_next/static/media/ContributingDocs.e89711e4.png",height:1016,width:1656,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAmklEQVR4nCXNOQrCQBiA0e+PuA1iob2eQgS1E1QUwRN4ZxsDrgSxiaYwyxAmM4mC9SuejKYbq1oehUm5XAMyneOcQ7WbeJ4g88XS9np9wjDkfL7R6bQB4fWOMMYg48nMDgZDRDzirESn0Y8LfP/EJ0mQxXprlWrxfAQY1+BwjED7qG7/X6x2exvrGvfbiVIH5EUdKTOsK6mqii+THEbqx8tSxwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},2482:function(A,t){"use strict";t.Z={src:"/_next/static/media/Github.fd701e32.png",height:756,width:1846,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAYAAACuyE5IAAAAU0lEQVR42g3KQQ5AMBCG0e+f0Vi4lli4/y0IQhuL0iF5y6d5Gp8QLMdNKRkzUSvU5qhlunU/Sf3Atl9/KLQIfgSOW9C1EEikZES8XPnG3XATj5wPdpIm+oLyArwAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3}},7725:function(A,t){"use strict";t.Z={src:"/_next/static/media/HackertonC.e74686c3.png",height:644,width:858,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAA0UlEQVR4nAHGADn/AWRiYPwMExcAp7LEACEZCwAqIBsAHA0AACAaEAAHBQQAAYxrZ/z2DREA3OXrAOHo6wAsGxAAOS4mAColKADf5ucAAYhiXvwSIiMA8vr5ABEIAADa4eEA5OfuABcWHQDY5u0AASAeG/xpUEcAAwcBABMTCwDY1OMACAwHAPH+/wCQud0AATMvLPxGNzIAOzQgAPf9/ACfqc0ALyH+ADA9TAD9/PgAASEfIPw3MzoATkw4AMvU3QAeEwwAQzEWAP/68wASEQsAJrJApOeoZVQAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},4012:function(A,t){"use strict";t.Z={src:"/_next/static/media/Slack.e8d1c3d2.png",height:1016,width:1656,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAk0lEQVR42kWNvQqCUACF7xPUEGVq+cfVqymKXCjSW0tLEC1tRdAStDS09QC99jdEBjUcOHAO3yfOxwuFXuKEKY4XYbk+40nwSddFkGuUXtELS/JKE0QxQ8f7H06HPfW8RcaKPJP0Rx52N34p4vV8sNnuMGZN0zYkRY0lK9y4xJ5GiPv1hl4YQpmishkqkQxs/6d4A/CqO6omagLhAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},1015:function(A,t){"use strict";t.Z={src:"/_next/static/media/namePattern.a52f53ce.png",height:914,width:2870,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAYAAACuyE5IAAAAUklEQVR4nGM8febsH2lZOQZ+Xh4GRkZGBhj4D4L//jMw3r9//4+YhCTD12/fGVhZWRj+//8PlAYphNCMV6/f+CMkJsHw7uNnBlYWZqAgAoAMBADXJRpNY073xQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},555:function(A,t,i){"use strict";i.d(t,{Z:function(){return E}});var e=i(5893),a=i(7294),g=i(2762),s=i(2010);let r=A=>{let{colums:t,className:i}=A;return(0,e.jsx)("thead",{className:i,children:(0,e.jsx)("tr",{children:t.map((A,t)=>(0,e.jsx)("th",{className:"p-2 whitespace-nowrap",children:(0,e.jsx)("div",{className:"flex",children:(0,e.jsx)("div",{className:"grow font-semibold text-left",children:A.columTitle})})},t))})})},h=A=>{let{colums:t,rows:i,className:a}=A;return(0,e.jsx)("tbody",{className:a,children:i.map((A,i)=>(0,e.jsx)("tr",{children:t.map((t,i)=>(0,e.jsx)("td",{className:"p-2 whitespace-nowrap",children:A[t.columTitle].data},i))},i))})};var l=A=>{let{tableTitle:t="Table Title",subTitle:i,colums:a=[{columTitle:"GitHub",filter:!0},{columTitle:"Type",filter:!0},{columTitle:"Summary",filter:!1}],rows:g=[{GitHub:{data:"GeunSam2",searchLabel:"GeunSam2"},Type:{data:"PR",searchLabel:"PR"},Summary:{data:"11111",searchLabel:null}}],theme:s="light"}=A;return(0,e.jsx)("section",{id:"contribute-info",className:"flex flex-col justify-center antialiased text-gray-600 py-2",children:(0,e.jsx)("div",{className:"h-full",children:(0,e.jsxs)("div",{className:"w-full mx-auto shadow-lg rounded-sm border "+("dark"===s?"bg-zinc-900 border-gray-800":"bg-white border-gray-200"),children:[(0,e.jsxs)("header",{className:"px-5 py-4 border-b "+("dark"===s?"border-gray-800":"border-gray-100"),children:[(0,e.jsx)("h2",{className:"font-semibold "+("dark"===s?"text-gray-200":"text-gray-600"),children:t}),i||null]}),(0,e.jsx)("div",{className:"p-3",children:(0,e.jsx)("div",{className:"overflow-x-auto",children:(0,e.jsxs)("table",{className:"table-auto w-full",children:[(0,e.jsx)(r,{colums:a,className:"text-xs font-semibold uppercase "+("dark"===s?"bg-gray-800 text-gray-200":"bg-gray-100 text-gray-500")}),(0,e.jsx)(h,{colums:a,rows:g,className:"text-sm divide-y "+("dark"===s?"divide-gray-800 text-gray-400":"divide-gray-100 text-gray-600")})]})})})]})})})};let n=A=>(0,e.jsxs)("div",{className:"flex items-center",children:[(0,e.jsx)("div",{className:"w-7 h-7 flex-shrink-0 mr-2 sm:mr-3",children:(0,e.jsx)("img",{className:"rounded-full",src:A.avatar_url,alt:A.login})}),(0,e.jsx)("a",{href:A.html_url,className:"font-medium hover:underline",children:A.login})]}),d=A=>(0,e.jsx)("a",{href:A.html_url,className:"font-medium text-blue-600 hover:underline",children:A.title},A.id),u=A=>{let{children:t,colorClass:i}=A;return(0,e.jsx)("span",{className:"text-[8px] font-semibold inline-block px-1 rounded-full last:mr-0 mr-1 "+i,children:t})},c=(A,t)=>{let i=(0,e.jsx)(u,{colorClass:"text-blue-600 bg-blue-200",children:"MERGED"}),a=(0,e.jsx)(u,{colorClass:"text-emerald-600 bg-emerald-200",children:"OPENED"}),g=(0,e.jsx)(u,{colorClass:"text-red-600 bg-red-200",children:"CLOSED"}),s=(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"PR"}),i]}),r=(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"PR"}),a]}),h=(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"PR"}),g]}),l=(0,e.jsx)("div",{children:(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"ISSUE"})}),n=A?A.merged_at?s:t?h:r:l;return n},b=async A=>{let t=new g.vd({}),i=await t.request("GET /repos/{owner}/{repo}/issues",{owner:"argoproj",repo:"argo-workflows",creator:A,state:"all",headers:{"X-GitHub-Api-Version":"2022-11-28"}}),e=i.data;return e.map(A=>({GitHub:{data:n(A.user),searchLabel:A.user.login},Type:{data:c(A.pull_request,A.closed_at),searchLabel:A.pull_request?"PR":"ISSUE"},Summary:{data:d(A),searchLabel:null}}))},o=async A=>{let t=A.map(async A=>await b(A)),i=await Promise.all(t),e=i.flat(),a=e.sort((A,t)=>t.Type.searchLabel.localeCompare(A.Type.searchLabel)).sort((A,t)=>A.GitHub.searchLabel.localeCompare(t.GitHub.searchLabel));return a};var E=A=>{let{contributers:t=[]}=A,[i,g]=(0,a.useState)([]),{current:r}=(0,a.useRef)(t),{theme:h}=(0,s.F)();(0,a.useEffect)(()=>{o(r).then(A=>g(A))},[r,o,g,h]);let n=(0,e.jsxs)("div",{className:"grid grid-cols-3 gap-5 mt-2 text-center text-gray-600 text-sm",children:[(0,e.jsxs)("div",{className:"grid grid-cols-3",children:[(0,e.jsx)("div",{className:"col-span-2 bg-orange-200 p-3 rounded-l-md font-semibold",children:"TOTAL COUNT"}),(0,e.jsx)("div",{className:"bg-gray-100 p-3 rounded-r-md font-semibold text-orange-400",children:i.length})]}),(0,e.jsxs)("div",{className:"grid grid-cols-3",children:[(0,e.jsx)("div",{className:"col-span-2 bg-blue-100 p-3 rounded-l-md font-medium",children:"PR COUNT"}),(0,e.jsx)("div",{className:"bg-gray-100 p-3 rounded-r-md font-medium text-blue-600",children:i.filter(A=>"PR"===A.Type.searchLabel).length})]}),(0,e.jsxs)("div",{className:"grid grid-cols-3",children:[(0,e.jsx)("div",{className:"col-span-2 bg-gray-200 p-3 rounded-l-md font-medium",children:"ISSUE COUNT"}),(0,e.jsx)("div",{className:"bg-gray-100 p-3 rounded-r-md font-medium",children:i.filter(A=>"ISSUE"===A.Type.searchLabel).length})]})]});return(0,e.jsx)(l,{tableTitle:"Contribute Info",subTitle:n,theme:h,colums:[{columTitle:"GitHub",filter:!0},{columTitle:"Type",filter:!0},{columTitle:"Summary",filter:!1}],rows:i})}},979:function(A,t,i){"use strict";var e=i(5893);t.Z={logo:(0,e.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,e.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,e.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,e.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,e.jsx)("meta",{property:"og:type",content:"website"})]})}},5696:function(){}}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[674],{1022:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack.83b11dab.png",height:457,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAgUlEQVR42hWMOQ7CMBAA93KiSOEQHZ9CPIDfAxUUJALsXa9tzGjK0eDpfHm+HimpCLdWS7b4XkttPB8P47RPDtW96BcAPJuZi6DNEKchwsiw2TVk387X212i6qcmAir9Uzzn7N5zliB/YkyqiogAwMyEREMYQgg9ZqIutLYsq5r9ADKlSybNQjpBAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},2107:function(A,t){"use strict";t.Z={src:"/_next/static/media/kbs_docker_pull_request.d088519f.png",height:463,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAhklEQVR42g3MSw7CIBAA0BlmaOyHtLvGO7n1NN7SY7QFYmzAUBhk+TYPn4+X/b03a6XSZj8lRYRCTITjsa53t2/h9GbkcdAlpxgja5xjCFqTVPHOAUJKVxVh533f366cm79noHYAACIjwmHtfjhS2HVdlYoaSZEqUhXxMhtjJmq8Cg84LcMfmB9F77D3uCIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},4004:function(A,t){"use strict";t.Z={src:"/_next/static/media/multi-staging-build.6f98d7b2.png",height:508,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAkklEQVR42hXLywqCUBSF4f2s0atEz1HNG0c16kZRIEE1CM0CqTAx7ajnuvdpO1rw/Szw3hff/JO+xa+sK6GVYiEi4KlEWYtCyxqtNlpK2TACIjqH4f253J9Wh3MYJ9aaNjAbh9Fisut3N73OYz1jJUTgg7aUBOPjEIIB3LYjZZATEFEjdf66pNE0i+dVdkXyRPgH7r2B34dXrr4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},6428:function(A,t){"use strict";t.Z={src:"/_next/static/media/profile_update.30a40b4e.png",height:431,width:640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAeElEQVR42gUAOwpCMSxp0veQ96p4DTfxHq5exWu6OImbOAhtEaTpLxW8nK9BHtKCD/n1/limKqH1TpMz8Rtu92eWxITaK6Blnin+ZN3MoyUDWnLSVgdmhEan4wHZFqnOrUN1gALOxi5mv91Znla3eB8llzGAyRDoH4E+P0Qjl24/AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},6406:function(A,t){"use strict";t.Z={src:"/_next/static/media/class1.1a478edb.png",height:1664,width:2876,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgElEQVR42mNw8Q3w9/cuK8k1NTbS1NFXVlWXklbQ0TNkYJDi13eMnjhhSZiHMQODhLyCkpSMgriELIOStpKasU9qRpO9ubagpJKsHEhCRk6JQd3E1MnV2dHVRVrNUE3bUEZWESghLavIoGZqqWZgZmHrrKCur6CqpaisDkRKKhoADZkWtaRIgMoAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},7132:function(A,t){"use strict";t.Z={src:"/_next/static/media/filter1.5b3ce562.png",height:1404,width:2868,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAVElEQVR42k3ESQqAIBQAUO9/sxZBIwSFpInmkEpB9b+bCiKCxyNFWTsfT0BICfB1ABLG+Q6orHdxc3G92fBM8qqdTOiY6oX+DEKTrGjGeaHSUGn/LlOUV3SbCSJ9AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},2431:function(A,t){"use strict";t.Z={src:"/_next/static/media/filter2.387a8e10.png",height:1096,width:2130,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAbElEQVR42mOQlJIzMbNU1dSXU9KQklMWlZATVFAQkVZkMDIwcHR1UVXXFZGUExGXFRCRFJLVFpRUY2BkFTc3dlBVUxGVUhYSV+QXlpCWUxKVkGHQU/ZxtA2zsvcys3CVldeXkNDQ1rFQUNIFAJBhDcjnSwdmAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},7574:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack1.be0d74b1.png",height:884,width:2292,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAATklEQVR42mMI9PN1dXFRVVUXFZeRklGQkJIDktKyigwWltb+gUHW9i4WljbauvoqqhpAUaAcg52rl6mFjYa2no6eoaKymryiKlBCWlYRAOlIDHvoEK4tAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:3}},9376:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack2.2c80a84f.png",height:1014,width:1886,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAY0lEQVR42mPw9PI1t3fX0jeWk1eUV1SRkVOUkpGXllVgcHH39vIN0DU0MzYx1TMwAgpBJYKDQ81snDS1dRWUVNQ1tJVV1CWl5UASVjY2bp4+Xp4etnb2BkYmWjp6SipqktJyAHQHEZhNd8CUAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},8578:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack3.f8be8006.png",height:2160,width:2880,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AF1TTX96eCs+TyU5RmBeY4twY6eCab6WfACmeHiZeHViY2paWF2Cb2iwj4HctaXHoZgAhlhVqYF6pYh9s5B/g2xdWkxIln59aWFnABIdF4xoWbmQdrOPbY5gTY5sV2ZXRwASNAA+My5+Y13MpoW+n31VRU98WUC4ppedj4AAICIgXVJXt6ufhIWBmImA3rCD4bB+8r+E3GxCoSDyIYoAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},8973:function(A,t){"use strict";t.Z={src:"/_next/static/media/hack4.77ec9eb3.png",height:2160,width:2880,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/ANTq+sfa88DN6L3C08/JzLi4vKu2vL/FxwB8nMWYo7+sqLi2pqOcl5mNgHyzl4KrlIQAtoqEk3FymIyPxZ2NloBvn3hry6KNo5B/AIRhVJpyYbOLd6l1Z7KKdb2JcpRpZKeSeQCLhICohHaydmbNpH7KnXincmBdS0e/oogAv7ewpIp9hlNJl2tRqF9NpWJUvKOMw6OK8vxVa1PhCuMAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},4817:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue1.e4c88f0e.png",height:1306,width:2778,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAbElEQVR42mMw1Dd0cvU0MLEVlFARFBB109TR1DEUk1JgMDYyMzK1YRHWEJTS5hdTlFRQlpFVYOMWZpBVUDY1t5ZVUOUVEhcQVZCVMmLnFeYTFGeQllK3d/TQNbISFJXhE5DUVHLkFRTjERAHALSEDLyZQ8aCAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},6288:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue2.267b95bf.png",height:1486,width:1826,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAo0lEQVR42g3JSxKCIBgAYOAHstKJaXraptq37ghdoMs30wW0MikeQgL5bT98Pl3Fhlfy3rZB62/oPWaFVxW8441xpqTlLMbgtXFA0NBEZIeMTSiDVqqm/XA+AjZGKFFjtXM2RMAoYYR6b6SVGaFEGZcXxXo1n4kZTqjD6bJeCgDYlivOoX40KYY8n5pOSzpWnSPH3X4xL4fzgdbPF2fCYhHS7w8F/lILaBUuBQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:7}},1931:function(A,t){"use strict";t.Z={src:"/_next/static/media/memberprofile1.cd1859b4.png",height:1114,width:2868,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAT0lEQVR42gUA2w6AENR66rG05jJZCJM6xLQ2//9fDSV4zgh3rqV9pXW5+2Gc2aYRFdrHrI7gAhgPzmebgF4GEa7q27WNmIiJOszMyuS08B+cyQouGJB0pgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},9417:function(A,t){"use strict";t.Z={src:"/_next/static/media/review1.669cbc2f.png",height:1496,width:1928,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAkklEQVR42gUA2wqCMPREgXiZl83pVnM6dFEUhVPTCoswkF7r//8l4NF9p+nXDTeRHyOuIq79VKMwBliBGdvPPNf12dowViqaSQdRgGU4XMemvyPMbURzpdO1tP0YpCwOJyNyHWAWEIaI9EiGQgqlKp+vt2kunodRlHK5S8TWQRhg4Zq2V9Xe8ogbJrKoEi4cn/4BjkoRPlpG0ZQAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},9083:function(A,t){"use strict";t.Z={src:"/_next/static/media/review2.9730b477.png",height:1454,width:2008,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAk0lEQVR42hXJ3QqCMBQA4FFEkHqmc87j/MNEXTlrmZWCXghBd73/40Tf7Ud0+Zmnb9MZ4DWwxAEOHjpeSMiG6NHcX+Px3BbayFpBgDYVZLNj87ou6ztXl7TRVXfzMTlAQLZ76IfxOS21agWmnMfUj2xXEOqjNoPMK8sNLSogjCjHfzAhr/0jK09KmzgrHZkwLCzKf1uCEVsO+2HnAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},301:function(A,t){"use strict";t.Z={src:"/_next/static/media/slack1.b6ffb44e.png",height:1656,width:2880,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAZ0lEQVR42hWMQQrCQBAEp8foMyT//4Mg+BAJePEkHkIm2Z7p7FY31K3weL7u87xFuKOPzNt1kpm9l0XS3tg4OFgRcTQ6STNlsqpMIhsAqVxCGbJU/QZm+aWnMP3X+Hx/SRpgg+Ft5wltmEwi/RKB5wAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},534:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr1_img.0fa11d79.png",height:856,width:1661,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAV0lEQVR42j3LOw6AIBAEUO5/P39YECAKRkRwgYoVl8bkNZOZYaPYFmUJV3aWxgWAXGIqjDLX3aoPKgLkF7FWZLPsQ0KnQew35NYaIjLKv0kac3p3+fikD/IQVxnnv4OpAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},4788:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr2_img.2a13c761.png",height:200,width:169,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAMAAAAC2hU0AAAAYFBMVEXc4+rY4+ra4unY4+nZ4unZ4ujZ4ufY4unY4ujZ4efV4uzY4ejY4efX4ejX4efa4OPW4Ofb397Y3uXW3+XZ3uDb3NrR3+LQ3uHo173R2+DP2+TI3NzN2N3nz6q1yclkwaBZ6s5OAAAAP0lEQVR42hXFRwKAIAwEwBWNZDVW7PX/vwTmMjCxvReDue2/kT+/x6UlzEEJZdWUVNAPx+SZXt61INq6u0axCFtTAssM/Dk6AAAAAElFTkSuQmCC",blurWidth:7,blurHeight:8}},3523:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr3_img.b48013bf.png",height:1362,width:2674,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAARUlEQVR42k3JSwrAIAwEUO9/1JYSzdckXdRIFw6PYWAaipIYVSurLbQ124k3I9N/tdt0ZzO2Ke5xHs/AC8ZydwRiwNKJPxQrXD+AXe/dAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},8083:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr4_img.99b04217.png",height:1404,width:2868,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAUUlEQVR42l3ESwqAIBAA0Ln/0Vr0kdpEEWqlmE3SxmbcRAgthMeDthMew0PMKRFnHIlAKhWJzYFnuH12fUMthtXhKPdJ29+sLVRNL41fNld4AVMKV2tea3joAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},178:function(A,t){"use strict";t.Z={src:"/_next/static/media/song_pr5_img.36b5d7b9.png",height:1388,width:2782,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAWUlEQVR42g3Kyw2AIBBFUeYTWUhiQktagP23IYQAjxlZ3pNL9/N+pahqrdWcMGfOF7AUa4lISmeMR+8YY5RSzVx3m5mwGxORUdjnYhbeCmAiEGtrgzYxu/sPu301lr1M75wAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},8556:function(A,t){"use strict";t.Z={src:"/_next/static/media/goal.d671145e.png",height:1250,width:2030,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgklEQVR42mPw9A2wd3KzsnXQNTBh4xZiYObh5hflF5Jg8PD2i09KCwqN9PINtHN0VdPUERSRYmLnZ3D38ouIjvcNCHFx93bz9HV287SwttPQ1mdw8/SOTUjyDQzx8PYXk5QXFpeRkVeWVVBhsLT3DghLdPcOsrZ30dDSA1oDRKxcggBNPBkhxLUk8gAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},513:function(A,t){"use strict";t.Z={src:"/_next/static/media/meet.f2b8fa86.png",height:1500,width:1992,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/ALzBx4ePlmtzeXqKlIGNlXSAh2lwdo+WngDQ1dmttLxhbXSCo6+Wp7B9iJB4f4Wjq7QAtLq9oqixeHZ5jpSXlJueiomNYGdxl52lAGJcYmdpco18bLKnmbCkkaCXiXtzb5uZlwBMRUVOTVLCsJurpZmhm5TMwKqxpJFHRksAAAAAc2NV4dC339TBoaCm39TB4NK3ZWBZtdhQgawS5WAAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},101:function(A,t){"use strict";t.Z={src:"/_next/static/media/debug1.8b99cb38.jpg",height:2504,width:2e3,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgABgMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABwEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAJ6KP//EABsQAAIBBQAAAAAAAAAAAAAAAAECAAMEERIh/9oACAEBAAE/ALl8VWCnmxn/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAECAQE/AH//xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAEDAQE/AH//2Q==",blurWidth:6,blurHeight:8}},7041:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue-report1.bb83ed04.jpg",height:334,width:1274,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAIACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABgEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAIMUH//EABkQAAEFAAAAAAAAAAAAAAAAAAEAAwQyQf/aAAgBAQABPwCTVo6Qv//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Af//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Af//Z",blurWidth:8,blurHeight:2}},5309:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue-report2.a394ffac.jpg",height:2628,width:1982,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgABgMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABwEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAJ+KP//EABoQAAICAwAAAAAAAAAAAAAAAAECAAMREiH/2gAIAQEAAT8AvtVbCuq5HCSJ/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwB//9k=",blurWidth:6,blurHeight:8}},8456:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue-report3.5395b23d.jpg",height:2334,width:2488,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABwEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAAsQP/xAAXEAADAQAAAAAAAAAAAAAAAAAAASEx/9oACAEBAAE/AFkP/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwB//9k=",blurWidth:8,blurHeight:8}},9772:function(A,t){"use strict";t.Z={src:"/_next/static/media/1.picture.9771c140.png",height:1158,width:1019,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAIAAAC6ZnJRAAAAmklEQVR42h2NwQrCMBBEd5NsWlsvFsWb4BcJXvx6LYJIQW1oU0hJmsTVOQzMwMzD0/lizAdQAVJKGbJP0avu2fXWXe8PKSQi5JxJKZUgHg/77aYUQgKAc84Yw73MOVk7ERG3cVnGcZJNs/st/hqGARFjTMLNc1GUdb32PnBmB0avWFV1a9vXuy808YIBojcmhKCJtCYpBb8BwhfKzFGklVtu3wAAAABJRU5ErkJggg==",blurWidth:7,blurHeight:8}},1352:function(A,t){"use strict";t.Z={src:"/_next/static/media/10.picture.204bfe0a.png",height:1154,width:1375,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAqklEQVR42iXLywqCQBhA4X8X1MaKUstMJK+heR1Nx3HGUUOjCOo5ev9lQrsDhw/ezy+mLMddSe9eTIWtJqw2qq4DyqnhxqJykg7G7miZTuC4/mIpQEnY4/VpbyPlPaE8zUpZ0WZzAYqK4bq5RKm0VwFgIx1cLxBlBWJ0bbqhqGia46lNx0cFCZMMghjxfiSs5f1QEBZEyHa8tbiHMMknUZIG1/w/LPu82so/zRkgGpFLqNIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:7}},2424:function(A,t){"use strict";t.Z={src:"/_next/static/media/11.picture.6fe9227e.png",height:975,width:2531,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAU0lEQVR42mOwcXA0NLYSkVLkFRTh4hXi5hUSFJKSVlVhkJCRU9O30DJ3ltM0lVfV0rHx0LBwkdPRY+AVEBWVkheXlucXktQxM7H18NA2M5LTUgUAdeQKeBQoM5QAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3}},7163:function(A,t){"use strict";t.Z={src:"/_next/static/media/2.picture.21d518e5.png",height:1231,width:915,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAICAIAAABVpBlvAAAAh0lEQVR42hXIQQ6CMBAAwO6ylSYGlUQP3oyf0YP/f4NiFIppgba7tcxx4HZ/MEc7jggYYui6jj5+qs2OccHalGwOQhPJZtv2zxdbjxUiaALOvn+H3zcuHqBSKhMSNfuTG3pAULAi5iRFFpUyYBmka3vUOraXc0qxhB0GMrXRWgPk2c7eORH5A3iqRjZ8gegIAAAAAElFTkSuQmCC",blurWidth:6,blurHeight:8}},2562:function(A,t){"use strict";t.Z={src:"/_next/static/media/3.picture.921611e2.png",height:1294,width:1390,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAn0lEQVR42gUAwQ6CIPQ9QGUZlnXqk7r0H/1sW1tbl24d1GUqoA0Ung0v52ulHxQok7LrTN1UWcrkMePlab/fFda62/1pRl2qnK30ftUC11AolW/yQkmt+xBiDPGEIBDROee9J4ppkk6TKQ+lSISgGJd5BoBpHK21CRefqm61ZsSQmBi0mZdlqxQBdEPPEUQTWufl72smZ7ybV1iRcwT4AxhJXYFAZ6MbAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7}},252:function(A,t){"use strict";t.Z={src:"/_next/static/media/4.picture.9a530bf1.png",height:767,width:1011,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAjklEQVR42gUA2wrCIPSop83YTYiILnT5ij32/79QDz0siCJsoJtHZjpY217VemWNvd0f1nkAqMoCIIlKNYf9NpeZzFjwRlXLXr9/nxcKgcPoyDnE7Hi6ELm6UdM0IREtEEFK7z0XnHOWEoQQMM9lUZYxRmuM1rrrnl/dxwRsszsrVTOAf4zOkR1GITgAmwHp+0RiNT04NQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},2359:function(A,t){"use strict";t.Z={src:"/_next/static/media/5.picture.048cf128.png",height:1157,width:1399,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAqElEQVR42gXA2AqCsEEQPQRWhnmnZlNnm1c6mndqUlJR/9H/vwb4Pn+0qGgxnFlP84ayyrRd2dqDOGUHN1L2UJAtMOMVHUIXLVYcaLtxen368U5ZTcIE4VCQtPmCAxkrm9tEy84nsaQa0MM+iSRFB+LJwG0f1m/TTzheVPRjeikRjoBK7OA6kPyhOwG/Uw3L8RBZrgUgY9OvapT12hFvRU1WTRt63Eb4A2cYHJR28ML8AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7}},628:function(A,t){"use strict";t.Z={src:"/_next/static/media/6.picture.e0fcd07f.png",height:602,width:957,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAdUlEQVR42g3KOwrCQBAA0PnsolHshDSewk68/zmsjEGIsmRgf86MefXD6/12HseaK4ETDqa6irxfU5jSrJeopiSnJut3fv5aRt+SAbGHyGEXmSkyknUAoCHuuTAWaHkB7YDs5uAeDnDsD/HtqJWa0mdhBNf+B0edPmmBrlP2AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},9569:function(A,t){"use strict";t.Z={src:"/_next/static/media/7.picture.26a65656.png",height:1180,width:1377,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAq0lEQVR42gXAygqCsEGH6EEPS6dOp3PLZ2qJOtE0lTQ6BB06Bv1F3x/g+/m1t5GXfVGPvBp42cgIqyYBeXYXVLbYmXOBTFZY1g7M9pZwBy5t1w+PME7OaX5KMjeILOZOZxtQVNfn653yktoeNpmiEWr7a0EEJHLjrqYsYE5gUgdhVlRtnGRgBSWn4XtItpK6lRDSqedHEBlAtFA4NqrhioomKhjpVnCMN3v4B/HrGqVf2Og+AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7}},7430:function(A,t){"use strict";t.Z={src:"/_next/static/media/8.picture.ce979c4c.png",height:636,width:1367,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAX0lEQVR42mNwdvfyCwr18Q8xt3GSkVcWEpPmExTlFxJjcPPyDY2M9fIN0jW2lFFQ4RMUB4ryASV8A0ICQyNd3L1NLawtrO2Amrj4hEA6TMysrO0cLa3tjUwtjE0t4RIAvywR1dAf5tYAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},8801:function(A,t){"use strict";t.Z={src:"/_next/static/media/9.picture.9148a8bf.png",height:1237,width:1371,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAApElEQVR42hXMSw6CMBAA0HZmSqCIn0SjiYn3ceE5PLFLogsNKBUIhUIFinqA9/jpeH5VF85omrhzPSKM/VC4kipzt9bF11gG/jPJg6VcLXx1S4mR3W3XCJMQ4rDfNMYYaykk4gyjaD4MAyIBAFNKynAZRZSpYnRe19YAk9Z1retAyh+jWejPJAgKGftvhJA+kqprqWtNzlyhMo6i0eVbf5A73/O+T3pRVxTapecAAAAASUVORK5CYII=",blurWidth:8,blurHeight:7}},207:function(A,t){"use strict";t.Z={src:"/_next/static/media/issue.71f16f94.png",height:895,width:1556,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAZ0lEQVR42hWJWw7CMAwEc/9DghCvtgRVOH6sE5O0We3HaCZ99i+rzRvMqwKjdzFNpyKF1UB0j472V/gYI7k7lwLghDrX1BARqUWseb/cl9truz6W55pnjJao8HvLv8LESiwsSoVE5AAzSHLfL2a0VgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},9797:function(A,t){"use strict";t.Z={src:"/_next/static/media/mission.42501584.png",height:937,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAARUlEQVR42iVMCQ7AIAjz/9/dpBxWVmcCaXoOwNeiIaa5e9QSo348rwmqak7LOuq9AYDk3hueWVRBIcqQ1N0kIzJP5d8iP1VYXhgD5VLuAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},7682:function(A,t){"use strict";t.Z={src:"/_next/static/media/mission2.5f674e60.png",height:769,width:1274,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAPFBMVEX////+/v79/f38/Pz7+/v7+vr6+vr6+fn5+fn4+Pn4+Pj3+Pj39/f29vb19fb09PXz8/Xz8/Tz8/Py8vLQUoGXAAAAMElEQVR42h3Jxw0AIAwDQJtOSKj77wrid9JBcwwOIGQvK554GL1J8pCjFkiiTv1zARsMASvXEH53AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},5357:function(A,t){"use strict";t.Z={src:"/_next/static/media/pr1.6226cac9.png",height:886,width:1136,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAfElEQVR42k1LSwqDMBDN/e/QhaWlpT1H6aYgdCEIIoqKRCOoRJI4k8RRQXy8xfuy6/33fIfExyskHdyI30vwYYCzteicRYv+BKa1QUQAUEoZYwDQbWB6M0KINMt50/bDQOn6oJX3LivKf5z2o6ToKGbSVc2jJOdtJ+W0FwtyOoRk2eVnRAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},4005:function(A,t){"use strict";t.Z={src:"/_next/static/media/pr2_1.3f303a8b.png",height:916,width:1903,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAVklEQVR42j3KWwqAIBBAUfe/wKAIpKdQg5qP0dHIDCE4H/fjsq4fBahDahfIYnAYK+MDW7f9KSUSUcopN3dtxucFY7Ie/70FG/gkjT+VAW3gsqA/AtQLv6taxxPwMoUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},7149:function(A,t){"use strict";t.Z={src:"/_next/static/media/pr2_2.feb5d283.png",height:865,width:1905,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAUklEQVR42k3CSQqAIBQAUO9/vWhR0aLBMkkEs+8fDCOC6PFU3XTaOut8BAxnOuAZIqhlNaUUYhbJkt8XS1bDrBMxICHxNyGpqu0n6wezj5v7vwG/pVpm0yeqaQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4}},4405:function(A,t){"use strict";t.Z={src:"/_next/static/media/result1_1.6ed67309.png",height:720,width:1016,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAfUlEQVR42h2I0QrCMAxFkzTbWMcoSt/c//+LiL+iCLqmrU02eu/D4Ry8P563bTPV2jReL8xOVXOpXJoVpZRLajqmEtd5GIeBmUVkT6kZwOsNDqYYzIwQeJoX75dmVkSICPrUjLFD/5VCoNWfFRHZIQOe76oqkj8/5xC/ez4AAJBB0sSn99gAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},5655:function(A,t){"use strict";t.Z={src:"/_next/static/media/result1_2.d7bd9130.png",height:94,width:700,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABCAIAAABsYngUAAAAH0lEQVR42mN4++oLEPz8BQI/f/76/OPv95+///75AwAgJRc37bSupgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:1}},7799:function(A,t){"use strict";t.Z={src:"/_next/static/media/1.UI.e9150db5.png",height:336,width:282,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAIAAAC6ZnJRAAAAf0lEQVR42j3MMRLDIAxEUWkRCKfI/c+YdLaDjUEouEi2/LPzeH+9k6bhHmNEABGXbZfOPMOwAVUjBuAoctbrbE1D6GburikRkYD5uSyPrJozkU/hqFVKvfLykEFl+9BszO2o0pqVdV+D0G8yvwyWGAPwr2gQ7oajBBH3G71p618QkT6wYWI48gAAAABJRU5ErkJggg==",blurWidth:7,blurHeight:8}},3880:function(A,t){"use strict";t.Z={src:"/_next/static/media/2.UI.07f2b05e.png",height:768,width:562,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAICAIAAABVpBlvAAAAdElEQVR42h3KQQ7DIAxEUd//kl0gUeQCBRuDwSQq6V+Nnga+lXLOIQTvPVF9Y4RCfCjGiIillE9M0Idus+vffV/SB3RVM6skay2zxdIfmnO+HD60lgwFanJqjVNKZ+RS4TyZeYyx9xZVhwmIhQ6pHupzOkw/hO+I/8CBfVIAAAAASUVORK5CYII=",blurWidth:6,blurHeight:8}},2942:function(A,t){"use strict";t.Z={src:"/_next/static/media/3.UI.b99b841f.png",height:1086,width:1786,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAa0lEQVR42i2MWQqEMBBE+/5nGhhFUNRbuEGiWVzQmG4TW7SoetTXgyRJO6HsssYYryeB5xEhL2tP1+5Ouzp3eo/0Fv5ZbrZDmkXomSnNRyjKiiWI9FhC4IM8Ivil2TDZRkwtV6pWqE7qftQ3Yjdvv24iw+4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},8010:function(A,t){"use strict";t.Z={src:"/_next/static/media/4.UI.b9e51171.png",height:1336,width:3296,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAATklEQVR42mMIcTQOdzNzszWwM9Y01VA201A2BSOGtFTv7Cz/6EjnAD8bY2MtXV01PT11IGLISvfNyfJPSvCIjXE1t9DR0FTR0VXT1lEFAIx3EWHC5mU3AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:3}},9937:function(A,t){"use strict";t.Z={src:"/_next/static/media/5.meet.239ca8b8.png",height:1080,width:1440,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAmElEQVR42gXAygqCsD1tJJmECOEthDpG9ovVL/UTdbFTCCXGWkJliq/pXMDDfmdPKIHDCCmkGwRbDBRQJbacFa/z0xEjE4ynpkjzX9lrahNGZfaotCWjGIgCRwm/iy8PU+I5bL2YG4xoKSX+BJtt21Tx5UaCpSsEZ0Ph+47sOoMmz6ru3BnyrOIcXtOsRRQrDQdNetm/3tkfW21P1c71lr4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},9501:function(A,t){"use strict";t.Z={src:"/_next/static/media/6.meet.9d2ea154.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AMDCwpecoHV8f3+OlIeTln2JjnN5fIuQkwDP0c+2vMBzeX14oKqSqrGEkZZ4gIOfpakArrGwpqqvfn1+kZKQlZ2em5CMfn5/naKmAINnXXVydYx1ZLalk7CeiKWVhJWMhZmXlABTSUdMSlDCp420qJail43HtJy4pIxcWVoAACAxYlBC38an6NS5qKKk3Mu2482rcGleNp9RzKfdDYQAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},8050:function(A,t){"use strict";t.Z={src:"/_next/static/media/7.meet.9f3b75dc.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AKWqqYOHh32ChIKFhYWKjHyChWtvcHyAgADHzMydo6NrbGuGiYmVm51/hYZwc3OLj5AAt7u8oKGgd3t8dHh6kpGQiHp0dnV0h4yNAISAf1ZCPoaAeaybhqOVh6qbj3Z3d3Z5eQBKREh3X1WvmYO1p5PVwaHOuZmEgn5qa2wAZVdM1r2a28qu1sWo4sym6NKsiH1qNj5GtBVOhHS2V8cAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},2648:function(A,t){"use strict";t.Z={src:"/_next/static/media/8.meet.15c7b0fb.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AJqlncTSzub07svVz7K9tc3Yz665r56mngCiraaltLLP3NaxsKapsq3AysGstqyXn5cAm6akQVBeY3N3kJqZbnNsX2Fcd313VVlVAF9nYkhRVVVdW4aLgDo3M1FKQV9dTjEqHwBfZ2w8REYAAAUvLy01Ni9bWFVrYG9QRTkAbHOIEhkdHCEiGR0fJCckS1NUa1xZcFs+1UBBUOQMBS8AAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},6213:function(A,t){"use strict";t.Z={src:"/_next/static/media/9.meet.b0a9c157.png",height:604,width:806,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAoUlEQVR42gGWAGn/AJqmncPSzub078vVz7K9tc3Yz665r56mngCirqaltbPP3NaxsKapsq3AycGstayYnpcAm6akQU9eY3R3j5uZbnJsX2Fcd313VVlVAF9nYklRVVVdW4aMfzo3M1JKQV9dTjIqHgBfZ2w8REYAAAUvLy02Ni9bWFVrYG9RRTkAa3OJEhkdHCIiGR4fJCckS1JUa1xacFs91ulBVn+TeHUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},6838:function(A,t){"use strict";t.Z={src:"/_next/static/media/after1.6fa00861.png",height:1274,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAYUlEQVR42j2LwQ2EMAwE7diJxEWihxP03wSIlhBJ7MU84LOPmR0+tv2/rGZW6y+rpCRE1FpTmaY6zyH6GKP7w0HDoKKaS+bOJZaZggOOrCW4ytMzpVeYQx04r+5mcf8KItwdxC8d62B0TwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},5739:function(A,t){"use strict";t.Z={src:"/_next/static/media/after2-1.f150b826.png",height:916,width:1903,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAV0lEQVR42jXL2wqAIBAEUP//A4MiiK5CiZqrq6uRLUhwGOZhRnT9KJU+tfWRAKPHxFyIYtuPt9ZERLnk0jzcxbSsmDIE9P+8/cQwzdqFyzhlQd3AyaQyH7+CWshtL7J+AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},5531:function(A,t){"use strict";t.Z={src:"/_next/static/media/after2-2.0d79ba01.png",height:865,width:1905,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAUUlEQVR42k3C3QpAMBQA4L3/68kFcsEas6yFOTs/0yQlX5+qm84473yIgPuZDnhuEdQ021IKMYtkye+LJatRm0QMSEj8TUiqanvtwmDXcfH/N79YWmUmE9TlAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},9:function(A,t){"use strict";t.Z={src:"/_next/static/media/before1.4e841747.png",height:1160,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAb0lEQVR42hXLTQrCQBBE4a6uyoiu/MlGEXNIEU+onmfQITIZbJPFWz0+PJ6vyzDQfb/bRgTJTynX212Hvj+fjnVqAMzC4ZJyzrL4mVknLiPCANHp0Fhb+dbWJsDNjOS7jFpvtEpJdAsCi5nrqJTSH/DpIsd41/sdAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},1802:function(A,t){"use strict";t.Z={src:"/_next/static/media/before2.a61a555d.png",height:603,width:1829,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAN0lEQVR42k3CQQoAEBAF0Ln/FRVSRsj4heWUbPB61DpE0AWYC2PepKqpignsONv4kk/F8Wn/sWzCFEHHcXZXkQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},6455:function(A,t){"use strict";t.Z={src:"/_next/static/media/task1.2000569f.png",height:1217,width:1820,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAU0lEQVR42h3MUQ6AMAgD0LZj8/4XNbpPdSDsET4gaXleE9ZVmgpjo3vM+wJgWx9danXmroi1loMeeN7Peo4ZCESIbE35OMaoHtIQkI1MiBKLJAA/HbUkL+F2sZIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},8240:function(A,t){"use strict";t.Z={src:"/_next/static/media/task2.9dff6de8.png",height:551,width:1750,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAASElEQVR42g3JQQ6AIAwEwG1BDDH+xZj4/yepxWPblbmOHOflwXd8w8zdkSi7bkuv9tzUVsukHkCgdO1trYCQzMw5IkJhBiPjByGGIl6oj61iAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:3}},1057:function(A,t){"use strict";t.Z={src:"/_next/static/media/task3.4a7fbd87.png",height:867,width:1610,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAATUlEQVR42hXFSwoCQRAE0cj6MHj/A7p2KSi6mK6c6UdA6Pl7PaaPo0NhLDDMTC3+a+Zcygqbzfv6vj+DuyvzLr0NqOgoSRFKSAl5GbgAFKYj25s0J3gAAAAASUVORK5CYII=",blurWidth:8,blurHeight:4}},310:function(A,t){"use strict";t.Z={src:"/_next/static/media/task4-1.d67db6ef.png",height:1484,width:1920,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAi0lEQVR42g2L3QqDIBhA9UuTNitQdjMGY1AQvf9LDfpHK5v6zctzOIe2bff6tNtm3G4Wc+7HKYoKQWTT5JrmrVRdljet6kIwTn8QLO27Hln+HeZK3q21w7hSACE44zyvH0+tNSHEe6/VklTwgRGCh13HaUaCGNFdF1CaIpYIAKSUMYZ0jPMSI7Is+wNslUOQI/xXXgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},6359:function(A,t){"use strict";t.Z={src:"/_next/static/media/task4-2.6e8f5fc8.png",height:1450,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAfklEQVR42gUAQQ7CIKwtjAGJGs3iP5b4/+eYuItzOgYUWoOPebbxtH33df3UyszZhQnJmOe73KdrStmNQym5lCaQpO32dg6/beOmr2UhQuw0XFwETyLqvAeAGDwhAYEenY9qAbTmoqrMDRGli40mwEiqwI1FxBhSUEJsXUuXP3BZTPpXadidAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},7727:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity1.e8d1ca4b.png",height:1275,width:1608,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAlElEQVR42mNIT4gODvC1tnWws3cEIgsrGy1dAxU1LQYDEwufgBBP3yAv3yAHV287Rxd9QxN5JTUGA0NTAzM7HSMrHVNLLSMLHX0THT1DRRUNBlkFVQYIEGSQVpOTlVMFKldS1WSwdXRNTMuJjEuJjE91cHbX1TdS19JTUNZg6O3rfw0Cb75//jSxvx+oU8/AWFFFAwCpuSWRYlAGsgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:6}},7367:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity10.0293a29b.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgklEQVR42mNoyIvvb6ufvWBpV225na2ls6VNSUnsjFkVDPGRbm29c3onzAx0c3ZwDczKLK8sSk5Ji2UAAme/CA8/f3kFLS9nd13dwNi46MqUYAZVdW0GEOBxcfbuzs0uz0xqz09Z3dvKICmtqKGuqa+to2jrXBjhu6GnoCLWOzwkAAClpChLBTGrWwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},525:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity2.61370100.png",height:246,width:966,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAIAAADq9gq6AAAAN0lEQVR42mMIDQ0LDgl3dfe0trU3NbPS0jFQUFZXUtVkCAgKDw2N9PfxMjI0kFUCCmkARRVVNAAo5gq2m43bPgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:2}},8189:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity3.f796a04d.png",height:764,width:1196,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAbklEQVR42mMID48wNLfR1DfVNDBT09RTVtWQklWUllNi8AoIM3Hw0jC2VTWwVFDVUlBWV1TRVFTRYDA2tdTWM9bQMVBW1wHylVQ0gCRIwsfH19rBRV5ZTVxKFmgIHDEoqGjq6hspaKhLyiggSwAAQKUTpOYjypIAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},3434:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity4.e0feb885.png",height:469,width:1071,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAY0lEQVR42mOIj4709vIyNjaRkFGSU1RVVNGAIAYLG8ew8Ah3T29DEwtDIzMVNS1lNS0lVU0GBwcn/4Bge1dvJ1dPRydXIxNzfUMToByDq5ePmbWjuqa2tq6BkpqmnJKaAtgoAP09E687o5M1AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},1916:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity5.b239b01d.png",height:915,width:987,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAIAAAC6O5sJAAAAsklEQVR42mN49erVixcvnj9//u7t22079s6ft3L1/JnpSfEMwdEJZqYWmjoGMoqqIUFBs2pyFtRlp8aEMFi6+lgaGUUG+VvY2IeHhTGAgYaGJkNyZm5mWmpqbKSmnklBYeHcefMXLFwcl5DMsGfv3ty8goDAYFsH58jo2FWr12zeur2opIxh/fr1QL3G1i66JtZAxvnzF968efP69WuGVatW8QuIOTk56xsYASWALvwPBgACnkvhF2gpdwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:7}},5245:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity6.9586cde7.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAh0lEQVR42mOY3ppzeOOMeT1lKf6VWzYcO3pwy7y2iikdZQxTehum1edOrMmtKi1aOGfKhrXLqkoLGqtyGWYtnFcZF1yUm1FcUTRz7oxJ06a0NzY1tHUw2JqZBpoaOTva54b65seFMSiqSjCIWdk7MnDw8jKIiDAwMFSkxZelxgEZCoqyPCyMAGmgL4cuzbZAAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},4877:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity7.8791b048.png",height:931,width:1554,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAQlBMVEX////+/v79/f79/f38/f78/Pz7+/v6+/37+vr5+fn4+fr3+fr4+Pn39/j39/f29vby8/Px8fHR0tLQ0dHKzMzJysqXWlqiAAAAMElEQVR42mNg5RDg42flYWZg5+ZjZWNkZWRg4eJlYmZkAAJWThAJZAqKCIsKMTMAABjNARNEEtsCAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},2583:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity8.522bddda.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAiElEQVR42gF9AIL/ALyurMG6t8XJy9fZ17S2tYyKipaSj46PjgBZU1KkmI2Gem+ho553cnGsnYrGt6CGgYQAqaqqxcPDl5mggoCFgYSNuKyerqGPxbqpAMjKysXCwKKblXBocYdoY4NqVnJbSY50YQB9f3qPioJkWUpoUj+EWkWBYEeVe2RqUUfHKUMOACwElgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},3441:function(A,t){"use strict";t.Z={src:"/_next/static/media/activity9.5e6700c7.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAiElEQVR42gF9AIL/AKKnrIuPmouJipOYnaW0spifoJyprK/AvwB3en5LPjOyn4inmoN7hoVqd4Z2gISSoJwAl5idZnF3m6yls66ddnV6gYaGlZSGgIFzAH9+g4eKiYyXk2BqcZibnJybmqyur5KSkgBVS0yjkoGgj3taVleZmZi2sa2loZ5taWVk5EHhe0dbUwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},4987:function(A,t){"use strict";t.Z={src:"/_next/static/media/argoDag.77b701f4.png",height:1177,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAa0lEQVR42hXKQQoCQQwEwHR3dvEogjf1/18RwT/4ABERF3cmk6jnKpwv18PpOCLaqP1uSzKrWg/vptQUCRhu94fImVNZ+dp7DHuuC4BRGQOznAUXCdhGs6glPoJgAM0zs8ycIvjj/zJ7vdsX2hcvlIBqeiUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},8008:function(A,t){"use strict";t.Z={src:"/_next/static/media/argo_0.eed7f471.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAgklEQVR42gXAyg7BsP6q3xIHX0CWEEwiM7GSrl3aardaxUlcODgofRLgNXdaxA7btn4zaKtF3GaxmICkyO/cPDl6NJVhlZPIUhjYHvgWh6u8lcWdILHK+HLqFQmaAgdzL1HazRw7ml68yqFZD1x/Amk+9vUmauY7HC8isPxzGH0V/QPjN2U5BJzzUAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},4381:function(A,t){"use strict";t.Z={src:"/_next/static/media/chart1.f3e1b6ba.png",height:754,width:1340,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAc0lEQVR42hWKQRKCMAwA+/9vefLieAMZEDs6UBUxNtQhLUmMt53ddSKiIkS0RIyYDFTVnNuY5R+VQsjpa8DMypuTTAXArjCklViFLOHwdC8odbNM/f1QrdOc613XHsd9VRxE6vzn0s/nG/orNB5P7Xt8pB82h3Esh8Wh6gAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},8904:function(A,t){"use strict";t.Z={src:"/_next/static/media/chart2.3f50bff1.png",height:602,width:972,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAeklEQVR42hXJMQrCQBBG4T2zeBR7Cz2JjbGwULQQJBKCCArGNZvZ2d2Zf5K86sHnAJhZLtp7H0IoooWpZHYiogqZgsm/1cxqpsAM0+jnZDSkao1E+fXQTM7MblUTd6tn3X03S6TYbxdI3Qz365vrY9PS73JgYn/eQ+II7V5vwR6esE4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},3917:function(A,t){"use strict";t.Z={src:"/_next/static/media/companys.d1572956.png",height:596,width:1047,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAg0lEQVR42hXKsQrCMBRG4bz/Gzg4OjnpJIIIIlhRMCJXB4eSSFML1ho1bdp4/duu53wimCTEGoAti8v9CEBrrZQS75TWu/MfSB63FS2YmYiklMLWLq8sgF9TBV92wnvv3Ffw/oDJDGiiE6bLruNVfLI0F9hseTgC6nmEwbgfmXnGV9MCxNps4aPTFrAAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5}},480:function(A,t){"use strict";t.Z={src:"/_next/static/media/core_0.842b8b29.png",height:1250,width:1860,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAAAAABd+vKJAAAAMElEQVR42g3IsREAIAgDwOy/qieHBAQq9MuHiC/NbjAoRnPsY6oeBSV/3sJmWM7MA1TXJhTTR2VSAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},5514:function(A,t){"use strict";t.Z={src:"/_next/static/media/maintainer.99bb7669.png",height:1257,width:1710,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAjElEQVR42mMI8g9QVdNMS00rKy/PzMp59OjR////f//+zWDn5GFh6/To8ZOfv37//PnzLwwwAIGbs8vTx49+//nz798/oHIgAQQMK1euys/OvnTu3Lu3796/e/f58xegOX///GEASvb09JpZ2icmpdg7OHd3dwNFQEYBqd6eXqCBhsZmQLKurh5s2j8A7QZijTKLbGcAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},2154:function(A,t){"use strict";t.Z={src:"/_next/static/media/uiux_0.8a348206.png",height:1003,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAATklEQVR42iWLuxKAMAgE8//faaONEyA8Ajie4xV7ze6YxCLqvj02aLidaj6WqpplVWJVT/d5y4oY8InII2ACXX1ck1Ewi3099jcl4qLxAh6DXMX8pUeIAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:4}},94:function(A,t){"use strict";t.Z={src:"/_next/static/media/uiux_1.97bf9785.png",height:995,width:2e3,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAW0lEQVR42g3JORKAIAwFUO5/Pi1cC2fc2ELgJ2An5ZtniKhwDpGGYbzuxzmfiIOPZt4PGwjAtG7QxpAsShlmWtaiH7Se92udF61am6iaedtTkZByKugVGZ2R8QNH4ljxB/rZjAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4}},3782:function(A,t){"use strict";t.Z={src:"/_next/static/media/ContributingDocs.e89711e4.png",height:1016,width:1656,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAmklEQVR4nCXNOQrCQBiA0e+PuA1iob2eQgS1E1QUwRN4ZxsDrgSxiaYwyxAmM4mC9SuejKYbq1oehUm5XAMyneOcQ7WbeJ4g88XS9np9wjDkfL7R6bQB4fWOMMYg48nMDgZDRDzirESn0Y8LfP/EJ0mQxXprlWrxfAQY1+BwjED7qG7/X6x2exvrGvfbiVIH5EUdKTOsK6mqii+THEbqx8tSxwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:5}},2482:function(A,t){"use strict";t.Z={src:"/_next/static/media/Github.fd701e32.png",height:756,width:1846,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAYAAACuyE5IAAAAU0lEQVR42g3KQQ5AMBCG0e+f0Vi4lli4/y0IQhuL0iF5y6d5Gp8QLMdNKRkzUSvU5qhlunU/Sf3Atl9/KLQIfgSOW9C1EEikZES8XPnG3XATj5wPdpIm+oLyArwAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3}},7725:function(A,t){"use strict";t.Z={src:"/_next/static/media/HackertonC.e74686c3.png",height:644,width:858,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAA0UlEQVR4nAHGADn/AWRiYPwMExcAp7LEACEZCwAqIBsAHA0AACAaEAAHBQQAAYxrZ/z2DREA3OXrAOHo6wAsGxAAOS4mAColKADf5ucAAYhiXvwSIiMA8vr5ABEIAADa4eEA5OfuABcWHQDY5u0AASAeG/xpUEcAAwcBABMTCwDY1OMACAwHAPH+/wCQud0AATMvLPxGNzIAOzQgAPf9/ACfqc0ALyH+ADA9TAD9/PgAASEfIPw3MzoATkw4AMvU3QAeEwwAQzEWAP/68wASEQsAJrJApOeoZVQAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6}},4012:function(A,t){"use strict";t.Z={src:"/_next/static/media/Slack.e8d1c3d2.png",height:1016,width:1656,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAk0lEQVR42kWNvQqCUACF7xPUEGVq+cfVqymKXCjSW0tLEC1tRdAStDS09QC99jdEBjUcOHAO3yfOxwuFXuKEKY4XYbk+40nwSddFkGuUXtELS/JKE0QxQ8f7H06HPfW8RcaKPJP0Rx52N34p4vV8sNnuMGZN0zYkRY0lK9y4xJ5GiPv1hl4YQpmishkqkQxs/6d4A/CqO6omagLhAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5}},1015:function(A,t){"use strict";t.Z={src:"/_next/static/media/namePattern.a52f53ce.png",height:914,width:2870,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAYAAACuyE5IAAAAUklEQVR4nGM8febsH2lZOQZ+Xh4GRkZGBhj4D4L//jMw3r9//4+YhCTD12/fGVhZWRj+//8PlAYphNCMV6/f+CMkJsHw7uNnBlYWZqAgAoAMBADXJRpNY073xQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},555:function(A,t,i){"use strict";i.d(t,{Z:function(){return m}});var e=i(5893),a=i(7294),g=i(2762),s=i(2010);let r=A=>{let{colums:t,className:i}=A;return(0,e.jsx)("thead",{className:i,children:(0,e.jsx)("tr",{children:t.map((A,t)=>(0,e.jsx)("th",{className:"p-2 whitespace-nowrap",children:(0,e.jsx)("div",{className:"flex",children:(0,e.jsx)("div",{className:"grow font-semibold text-left",children:A.columTitle})})},t))})})},h=A=>{let{colums:t,rows:i,className:a}=A;return(0,e.jsx)("tbody",{className:a,children:i.map((A,i)=>(0,e.jsx)("tr",{children:t.map((t,i)=>(0,e.jsx)("td",{className:"p-2 whitespace-nowrap",children:A[t.columTitle].data},i))},i))})};var l=A=>{let{tableTitle:t="Table Title",subTitle:i,colums:a=[{columTitle:"GitHub",filter:!0},{columTitle:"Type",filter:!0},{columTitle:"Summary",filter:!1}],rows:g=[{GitHub:{data:"GeunSam2",searchLabel:"GeunSam2"},Type:{data:"PR",searchLabel:"PR"},Summary:{data:"11111",searchLabel:null}}],theme:s="light"}=A;return(0,e.jsx)("section",{id:"contribute-info",className:"flex flex-col justify-center antialiased text-gray-600 py-2",children:(0,e.jsx)("div",{className:"h-full",children:(0,e.jsxs)("div",{className:"w-full mx-auto shadow-lg rounded-sm border "+("dark"===s?"bg-zinc-900 border-gray-800":"bg-white border-gray-200"),children:[(0,e.jsxs)("header",{className:"px-5 py-4 border-b "+("dark"===s?"border-gray-800":"border-gray-100"),children:[(0,e.jsx)("h2",{className:"font-semibold "+("dark"===s?"text-gray-200":"text-gray-600"),children:t}),i||null]}),(0,e.jsx)("div",{className:"p-3",children:(0,e.jsx)("div",{className:"overflow-x-auto",children:(0,e.jsxs)("table",{className:"table-auto w-full",children:[(0,e.jsx)(r,{colums:a,className:"text-xs font-semibold uppercase "+("dark"===s?"bg-gray-800 text-gray-200":"bg-gray-100 text-gray-500")}),(0,e.jsx)(h,{colums:a,rows:g,className:"text-sm divide-y "+("dark"===s?"divide-gray-800 text-gray-400":"divide-gray-100 text-gray-600")})]})})})]})})})};let n=A=>(0,e.jsxs)("div",{className:"flex items-center",children:[(0,e.jsx)("div",{className:"w-7 h-7 flex-shrink-0 mr-2 sm:mr-3",children:(0,e.jsx)("img",{className:"rounded-full",src:A.avatar_url,alt:A.login})}),(0,e.jsx)("a",{href:A.html_url,className:"font-medium hover:underline",children:A.login})]}),d=A=>(0,e.jsx)("a",{href:A.html_url,className:"font-medium text-blue-600 hover:underline",children:A.title},A.id),u=A=>{let{children:t,colorClass:i}=A;return(0,e.jsx)("span",{className:"text-[8px] font-semibold inline-block px-1 rounded-full last:mr-0 mr-1 "+i,children:t})},c=(A,t)=>{let i=(0,e.jsx)(u,{colorClass:"text-blue-600 bg-blue-200",children:"MERGED"}),a=(0,e.jsx)(u,{colorClass:"text-emerald-600 bg-emerald-200",children:"OPENED"}),g=(0,e.jsx)(u,{colorClass:"text-red-600 bg-red-200",children:"CLOSED"}),s=(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"PR"}),i]}),r=(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"PR"}),a]}),h=(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"PR"}),g]}),l=(0,e.jsx)("div",{children:(0,e.jsx)("span",{className:"mr-1 font-semibold",children:"ISSUE"})}),n=A?A.merged_at?s:t?h:r:l;return n},b=async A=>{let t=new g.vd({}),i=await t.request("GET /repos/{owner}/{repo}/issues",{owner:"argoproj",repo:"argo-workflows",creator:A,state:"all",headers:{"X-GitHub-Api-Version":"2022-11-28"}}),e=i.data;return e.map(A=>({GitHub:{data:n(A.user),searchLabel:A.user.login},Type:{data:c(A.pull_request,A.closed_at),searchLabel:A.pull_request?"PR":"ISSUE"},Summary:{data:d(A),searchLabel:null}}))},E=async A=>{let t=A.map(async A=>await b(A)),i=await Promise.all(t),e=i.flat(),a=e.sort((A,t)=>t.Type.searchLabel.localeCompare(A.Type.searchLabel)).sort((A,t)=>A.GitHub.searchLabel.localeCompare(t.GitHub.searchLabel));return a};var m=A=>{let{contributers:t=[]}=A,[i,g]=(0,a.useState)([]),{current:r}=(0,a.useRef)(t),{theme:h}=(0,s.F)();(0,a.useEffect)(()=>{E(r).then(A=>g(A))},[r,E,g,h]);let n=(0,e.jsxs)("div",{className:"grid grid-cols-3 gap-5 mt-2 text-center text-gray-600 text-sm",children:[(0,e.jsxs)("div",{className:"grid grid-cols-3",children:[(0,e.jsx)("div",{className:"col-span-2 bg-orange-200 p-3 rounded-l-md font-semibold",children:"TOTAL COUNT"}),(0,e.jsx)("div",{className:"bg-gray-100 p-3 rounded-r-md font-semibold text-orange-400",children:i.length})]}),(0,e.jsxs)("div",{className:"grid grid-cols-3",children:[(0,e.jsx)("div",{className:"col-span-2 bg-blue-100 p-3 rounded-l-md font-medium",children:"PR COUNT"}),(0,e.jsx)("div",{className:"bg-gray-100 p-3 rounded-r-md font-medium text-blue-600",children:i.filter(A=>"PR"===A.Type.searchLabel).length})]}),(0,e.jsxs)("div",{className:"grid grid-cols-3",children:[(0,e.jsx)("div",{className:"col-span-2 bg-gray-200 p-3 rounded-l-md font-medium",children:"ISSUE COUNT"}),(0,e.jsx)("div",{className:"bg-gray-100 p-3 rounded-r-md font-medium",children:i.filter(A=>"ISSUE"===A.Type.searchLabel).length})]})]});return(0,e.jsx)(l,{tableTitle:"Contribute Info",subTitle:n,theme:h,colums:[{columTitle:"GitHub",filter:!0},{columTitle:"Type",filter:!0},{columTitle:"Summary",filter:!1}],rows:i})}},979:function(A,t,i){"use strict";var e=i(5893);t.Z={logo:(0,e.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,e.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,e.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,e.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,e.jsx)("meta",{property:"og:type",content:"website"})]})}},5696:function(){}}]); \ No newline at end of file diff --git a/_next/static/chunks/nextra-data-en-US.json b/_next/static/chunks/nextra-data-en-US.json index 1a69e618..0a513d29 100644 --- a/_next/static/chunks/nextra-data-en-US.json +++ b/_next/static/chunks/nextra-data-en-US.json @@ -1 +1 @@ -{"/2023/activites/reports/fianlReportKo":{"title":"Fianlreportko","data":{"":"","tltr#TL;TR":"기여 내용 전체 보러가기","️-팀-소개#☑️ 팀 소개":"ArgoWorkflows OSS 2023팀은 1명의 멘토와, 17명의 멘티의 구성으로 총 18명이 한 팀으로 활동하였습니다.오픈소스에 대한 진입장벽을 느끼는 주니어 개발자들과 선배 개발자가 함께 힘을 모아 컨트리뷰션을 하는 멋진 행사인\n오픈소스 컨트리뷰션 아카데미의 도움으로 팀이 구성되었으며, 2023년 07월 ~ 10월까지 약 4개월 간 활동하였습니다.Git 사용법이 익숙하지 않았던 걸음마 단계부터 시작해서, 어엿한 오픈소스 컨트리뷰터가 될 때까지 저희팀이 이룬 성과를 공유합니다.","️-argoworkflows-소개#☑️ ArgoWorkflows 소개":"Argo Workflows는 컨테이너를 기반으로 한 워크플로우 엔진으로, 병렬 작업을 쿠버네티스에서 실행할 수 있는 오픈소스 프로젝트입니다.\n각 워크플로우 단계가 컨테이너로 정의되며, 여러 단계의 워크플로우를 일련의 작업으로 모델링하거나, 작업 간의 종속성을 DAG (Directed Acyclic Graph)를 사용하여 실행할 수 있습니다.즉, Argo Workflows를 사용하면 간단한 워크플로 형태의 작업 부터, 머신러닝 또는 데이터 처리를 위한 복잡한 작업 까지 쿠버네티스에서 더 빠르고 쉽게 수행할 수 있게 됩니다.\n\nArgo Workflows는 Cloud Native Computing Foundation (CNCF)에서 졸업에 성공한 프로젝트입니다.졸업 프로젝트가 되기 위해선 엄격한 표준을 충족하기 위해 CNCF가 실시하는 모든 테스트를 통과해야 합니다.\n즉, 졸업 프로젝트로 인정 받았다는 것은 Argo가 명확한 거버넌스 및 커미터 프로세스, 건전한 성장, 보안 및 컴플라이언스 준수에 대한 최고 수준을 충족한다는 것을 의미합니다.\n그 엄격한 기준으로 인해 CNCF에 등록된 프로젝트 중 졸업에 성공한 프로젝트는 약 13%에 불과합니다.실제로 Argo 프로젝트가 졸업 프로젝트로 인정 받기까지 약 5년이라는 기간동안 7000명이 넘는 컨트리뷰터와 11000개가 넘는 PR, 37만이 넘는 컨트리뷰션이 필요했습니다.뿐만 아니라, Argo 프로젝트는 현재에도 2300여개의 회사들이 코드에 기여하고 있고 8300여명이 코드에 컨트리뷰트 하고 있는 매우 활발하고 최신화된 오픈소스입니다.이로 인해 Argo Workflows는 클라우드 네이티브 커뮤니티에서 가장 대표적인 워크플로우 엔진으로 인정받고 있습니다.전 세계적으로 수 많은 기업들이 공식적으로 Argo Workflows를 도입해 사용하고 있습니다.\n이는 Argo Workflows가 큰 규모의 기업에서도 실제 작업 부하의 문제를 해결 할 수 있다는 강력한 증거입니다.Argo Workflows를 사용하는 대표적인 기업들은 다음과 같습니다.\n\n… 외 200개가 넘는 글로벌 기업들Argo Workflows와 비슷한 도구로는 Apache Airflow, Tekton, Prefect 등이 있습니다.Argo Workflows는 Kubernetes-native 엔진으로, 컨테이너 기반 워크플로우를 쉽게 조정하고 자원을 관리할 수 있습니다.\n이는 비슷한 도구인 Apache Airflow와 비교했을 때 주요한 차이점 중 하나로, Apache Airflow는 독립 실행 애플리케이션이며, Kubernetes의 기능을 본질적으로 활용하지 않습니다.\n따라서 Airflow는 자원 관리와 확장성이 Argo Workflows보다 더 어려울 수 있습니다.또한, Argo Workflows는 각 워크플로우 단계를 독립적인 컨테이너로 실행하기 때문에, 데이터 파이프라인 뿐만 아니라 CI/CD와 같은 다양한 작업을 수행할 수 있습니다.\n이는 Docker와 Kubernetes의 강력함을 활용하여 가능한 것이며, 이를 통해 제한 없이 어떤 것이든 실행할 수 있습니다.","️-주요-성과#☑️ 주요 성과":"","uiux-개선#UI/UX 개선":"Argo Workflows 프로젝트는 기여의 메인 키워드를 UI/UX개선으로 지정하고 따로 프로젝트 페이지를 운영하며 이슈들을 트레킹 할 정도로 해당 주제에 적극적인 기여를 진행하고 있습니다.\n\n저희 팀도 이러한 프로젝트의 목표를 따라 많은 UI 개선들을 수행했습니다.\n주요 개선 항목\n\nworkflows 검색 기능\ncronworkflows의 요약 view 개선\nDataPciker의 개선\nworkflows control패널의 sticky 옵션\nworkflows 목록의 label 강조 효과\n외 다양한 버그 개선","핵심-기능-개선#핵심 기능 개선":"컨트리뷰션 경험이 쌓이기 시작하면서 프로젝트에 대한 멤버들의 이해도가 올라가고, 자신감이 붙으면서 UI/UX에 관한 개선 뿐 아니라, 워크플로우 엔진의 코어한 기능에 대한 기여들도 점차 할 수 있게 었습니다.What’s new in Argo Workflows v3.5워크플로우 엔진의 핵심 로직은 쿠버네티스의 CRD로 설치되어 쿠버네티스 클러스터의 동작과 성능에도 크게 영향을 주는 만큼 구현 수준이 높고,\n각종 테스트 및 메인테이너들과의 정책에 관한 논의에도 적극적으로 참여할 수 있어야 기여가 가능한 만큼 컨트리뷰션 난이도도 굉장히 높은 기여에 속합니다.쉽지 않은 과정들이었지만, 저희 팀은 Argo Workflows 3.5버전의 릴리즈에 핵심적인 기여들을 해내는데 성공하며,\nTemplate Spec, Authentication, Controller 등의 매우 중요한 기능에 대한 기여를 Argo 공식 블로그에서 언급되며 기록을 남기기도 하였습니다.\n\nArgo Workflows의 3.5버전 릴리즈 이후에도, 계속하여 컨트리뷰터들의 DX개선을 위한 CI및 테스트 환경, Nix, Controller, Template 스펙의 새로운 피쳐 개발, Go Lang 버전 업데이트 등의 높은 난이도의 컨트리뷰션등을 이어나가고 있으며, 다음 릴리즈 배포에는 더욱 많은 기여로 Argo Workflows가 더욱 훌륭한 툴로 거듭나는데 의미있는 성과를 보태는 중입니다.","메인테이너-그룹과의-긴밀한-소통#메인테이너 그룹과의 긴밀한 소통":"저희 팀은 운이 매우 좋았습니다. Argo Workflows 프로젝트가 올해 5월에 Yuan Tang이라는 새로운 리더를 맞이하면서 프로젝트 전체의 컨트리뷰션 호흡이 매우 빨라졌다는 점입니다.보통 이런 대형 프로젝트에서는 리뷰에 상당히 오랜 시간이 걸려서 많은 컨트리뷰션을 해내기 어렵다고 생각하고 시작했었는데,\n능력있는 프로젝트 헤드와 그 팀원들 덕분에 이번 대회에 참가한 ArgoWorkflows 팀원들 모두 굉장히 많은 것들을 배우고 경험하며 짧은 시간 내에 많은 기여를 통해 성장할 수 있었습니다.\n\n기여를 이어나가다 보니, 워크플로우 엔진의 핵심적인 기능들에 대한 기여에 가까워질 수록, PR 페이지를 넘어서 CNCF슬랙을 통해 메인테이너 분들과 긴밀하게 소통하고 의견을 나눌 수 있는 상황들도 생겨났습니다.논의를 통해서 이슈를 해결하기 위해 프로젝트에서 로직을 처리하기 위한 정책을 결정하기도 하고, 연관된 다른 이슈를 할당받아 진행하는 경험을 하는 등, 오픈소스 프로젝트의 진정한 일원이 되어가는 소중한 경험을 해볼 수 있었습니다.프로젝트 기간동안 저희 팀이 기여한 작업물들을 소개합니다.","️-컨트리뷰션-아카데미-진행-과정과-활동-내역#☑️ 컨트리뷰션 아카데미 진행 과정과 활동 내역":"","git알못에서-오픈소스-컨트리뷰터가-될-때-까지#GIT알못에서 오픈소스 컨트리뷰터가 될 때 까지":"저희 팀은 마스터즈 단계 참가자 17명 중에서, 12명은 GIT을 통한 제대로 된 협업/코드리뷰 경험이 없는 멤버들로 구성이 되어 있었습니다.쿠버네티스를 엔진으로 삼고 동작하는 CRD인 만큼 쿠버네티스에 대한 높은 이해도가 필요한 프로젝트인데, 쿠버네티스를 제대로 써본 경험이 있는 멤버는 고작 4명에 불과 했습니다.처음에는 어떻게 시작해야할지 감도 안잡히고 막막했던 상황이었지만, 멘토와 함께 하는 GIT 연습 및 컨테이너, 쿠버네티스에 익숙해지기 위한 연습용 REPO에서의 다양한 과제 수행 및 스터디의 결과로 하나 둘씩 Argo Workflows라는 툴에 익숙해지기 시작했습니다.그러한 결과, 현재 보고서를 쓰는 시점에는 마스터즈 단계 참가자 17명 전원 PR을 생성해 보는 즐거운 경험을 해 볼 수 있었습니다.\n\n\n컨트리뷰션 활동 요약\n또한, 처음에는 툴에 익숙해고 배경 지식을 습득하는데 바빠 적극적으로 하지 못했던 컨트리뷰션 활동도 시간이 갈수록 가속도가 붙어서 9월에는 첫주차만에 지난달 한달 동안 기여한 PR에 가까운 갯수를 따라가게 될 정도로 멤버들의 실력이 빠르게 성장하고 있습니다.\n\n\n월별 활동 그래프\n저희 팀이 지금의 기여활동을 해내기까지 수행한 다양한 활동들을 소개합니다.","git-사용-연습을-위한-repo-생성-및-기여-활동-진행#GIT 사용 연습을 위한 REPO 생성 및 기여 활동 진행":"REPO주소 : https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io\n\n목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성.\n\n\n\n- 목표 상세\n- 아래 두개 파일을 수정/추가 해서 유저 정보를 업데이트 하는 PR을 생성해요.\n- `docs/users/users.md`\n- `docs/users/[이름].md`\n- [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)\nPR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요.\n- Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요.\n- [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요.\n- [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요.\n- [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요.\n- [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)","컨테이너-기초-특별반-운영#컨테이너 기초 특별반 운영":"페이지 주소 : https://github.com/ArgoWorkflows-OSS/container-playground\n\n목표 : 본인만의 서비스를 만들고, 컨테이너화 하는 CI를 구성하기\n\n\n\n\n\n- 목표 상세\n나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다.\n과제 통과를 위해서 반드시 아래 사항을 준수해 주세요.\n\n- 디렉터리 및 파일 배치\n\n- 개인 서비스를 개발할 때 꼭 본인의 GitHub 계정 디렉터리를 생성하고 그 아래에 코드를 작성하세요.\n- 본인 디렉터리 내 최상위에는 반드시 `Dockerfile`이 위치해야 합니다. (이 조건을 만족하지 않으면 CI가 실패할 수 있습니다.)\n- 본인 디렉터리 아래에서 `Dockerfile`의 위치를 제외한 다른 파일은 자유롭게 작성할 수 있습니다.\n- 다만, 본인 디렉터리 최상위에서 `docker build -t [이미지명] .` 명령을 실행했을 때 이미지가 성공적으로 빌드되어야 합니다.\n\n- 빌드된 이미지의 동작\n\n- 개인 웹 서비스는 반드시 8080 포트에서 동작해야 합니다.\n- 빌드된 이미지는 별도의 매개변수 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 명령을 실행했을 때 문제 없이 서비스되도록 만들어야 합니다.\n\n- 웹 서비스 개발 언어 및 서비스 구조\n- 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다.\n- UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다.\n- 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)\n1. /api/v1/[본인 github계정]\n2. /healthcheck\n- (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))\n- [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)","팀내-이슈-해커톤-개최-및-진행#팀내 이슈 해커톤 개최 및 진행":"이슈를 지정하여 조별로 한 이슈를 기간 내에 해결하기 위한 팀내 해커톤","argo-workflows-컨트리뷰터--커뮤니티-정기-미팅-참여#Argo Workflows 컨트리뷰터 / 커뮤니티 정기 미팅 참여":"Argo Workflows 공식 컨트리뷰터/커뮤니티 미팅 참여 오픈소스 컨트리뷰톤 소개","argo-workflows-oss-팀-페이지-생성-및-운영#Argo Workflows OSS 팀 페이지 생성 및 운영":"페이지 주소 : https://argoworkflows-oss.github.io/\n\n제작 프레임워크 : nextra","매주-최소-1회-이상-오프라인-모임활동-진행#매주 최소 1회 이상 오프라인 모임활동 진행":"정기 모임 활동\n\n매주 일요일 정기 오프라인 모임 날짜로 선정하여 정기적인 모임활동을 진행했습니다.\n모임활동을 통해 해결할 이슈 탐색과 본인의 이슈 해결 경험에 대한 공유 및 진행 중 발생한 오류에 대한 논의 등 다양한 소통 활동을 진행했습니다.\n오프라인 정기 모임에 대한 자세한 정보는 여기 링크를 통해 확인하실 수 있습니다.\n\n\n\n\n관심 주제 발표 활동\n\n오프라인 모임활동 시간 중 본인의 관심사에 대해 자유주제로 발표를 진행했습니다.\n관심 주제 발표 주제 및 발표자\n순서\t제목\t발표자\t발표일\t1\t당근마켓에서 Argo Workflows 도입한 사례\t염근철\t7월 15일\t2\t실시간 통신을 위한 WebRtc의 개념 및 활용사례\t송혜민\t7월 30일\t3\tArgo Workflows와 Keyclock 연동방법\t최수녕\t7월 30일\t4\tArgo Project로 CI/CD 구현하기\t김학준\t8월 6일\t5\teBPF의 개념, 필터 개발 방법, 활용사례 발표\t정성락\t8월 6일\t6\t컨테이너의 역사와 도커 없이 컨테이너 만들기\t염근철\t8월 13일\t7\t개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표\t안다혜\t8월 20일\t8\t컨테이너 생태계에 관한 고찰\t염근철\t8월 27일\t9\tGithub Actions 쿠버네티스에서 self-hosted로 설치&운영하기\t서청운\t9월 2일\n\n\n\n\n\n모각코\n\n비정기적으로 모여서 각자 코딩하는 모각코 진행했습니다.\nArgoWorkflow의 구조나 이슈 분석하는 등 기술 교류를 진행했습니다.","️-참가자-기여-내용-상세#☑️ 참가자 기여 내용 상세":"","0-염근철멘토#0. 염근철(멘토)":"","-참가-후기#🌵 참가 후기":"작년, 그리고 올해 ArgoWorkflows라는 프로젝트를 만나면서 정말 많은 것을 느끼고 배웠습니다.이번 행사에서 멘토로 참여했지만, 오히려 제가 더 많은것을 배우고 얻어가는 것 같습니다.함께 행사에 참가해서 마지막까지 최선을 다해주신 멘티 여러분들께도 진심으로 감사드리고, 앞으로도 오픈소스 활동을 함께 이어나가는 동료가 되었으면 좋겠습니다.행사 기간동안 오픈소스 생태계의 문화에 대해서도 다시한번 생각할 수 있는 시간이 되었고, CI 환경이나 알고있다고 생각하고 넘어갔었던 다양한 Git활용 기법들을 다시한번 공부할 수 있었습니다.ArgoWorkflows라는 프로젝트에 더 큰 애정이 생겼고, 앞으로 어떤 기회들이 있을지 모르겠지만, 더 다양한 분야에 대해서 기여해 보고 싶다는 생각입니다.","1-강병선#1. 강병선":"","-개인-성과-보고#🌿 개인 성과 보고":"접기/펼치기\n\n개인 성과\n문서기여 #11762 Remove helm installation guide and Add helm documentation link\nMinIO 설정을 위해 helm 설치를 해야하는데, mac에 관련된 설정만 나와 있어 helm 공식문서에 접근할 수 있도록 수정하였습니다.\n\n\n문서기여 #11735 Add installation option descrption\nmanaged namespace 옵션에 대한 상세한 설명을 추가해보았습니다.\n여기서 Kubernetes의 Documentation 컨벤션이 존재한다는 것을 메인테이너분께 배웠습니다.\n\n\n\n\n컨트리뷰션 준비 과정 및 활동\nGithub 기초 익히기\n멘토님께서 과제로 본인의 프로필을 업데이트 하는 과제를 주셨습니다. GPG와 DCO봇의 개념을 익혀보며 github에 더 친숙해지는 시간을 가졌습니다.\n\n\n\n\n\nDocker 왕초보 특별반\nDockerfile을 사용해서 도커 이미지를 만드는 활동을 했습니다. 멘토님께서 정리하신 자료를 읽고 개념을 익혔습니다.\n추가적으로 이미지를 만들 때 실행 시 필요한 기능만 넣도록 multi stage build를 적용해보았습니다.\n\n\n\n\n\n\n실습 이후 멘토님께서 Overlay FS에 대해 하나하나 보여주시면서 이미지가 어떻게 만들어지는지 보여주셨습니다. 이건 정말 알찼습니다..\n\n\n쿠버네티스 기초 공부\n컨트리뷰션 이전에 쿠버네티스의 기초를 공부하는 시간을 가졌습니다.\n개인 공부자료\n\n\n\n\nArgo workflows\ntemplate을 만들어보며 스스로 공부하는 시간을 가졌습니다.\n학준 멘티님이 GCP에서 ArgoCD와 Argo Workflows를 활용해 배포하는 파이프라인을 알려주셨습니다.\n\n\nOSS 모임 활동 참여\n멘토님과 멘티분들께서 다양한 주제로 발표하는 시간을 가졌습니다. 컨트리뷰션 이외에 실무에서 어떤 문제들을 고민하는지, 그리고 문제들을 어떻게 해결했는지 들을 수 있는 좋은 시간이었습니다\n\n\n해커톤 참여\n성락 멘티님이 많은 도움을 주셨습니다. 괜찮다고 생각하는 이슈들을 공유해주시고 항상 도전할 것을 권해주셨습니다.\n\n\n\n#11609 Compile expr in config 이슈를 추천해주셔서 도전해보았습니다.\nGolang을 스스로 공부해보고 Issue를 분석하는 시간을 가졌습니다.\ngolang에 좀 더 친숙해질 수 있는 시간이 되었습니다.","-참가-후기-1#🌵 참가 후기":"참가후기\n주니어 개발자인 저에게 이 활동은 단순히 컨트리뷰션을 위한 것이 아니라 아니라 개발자들이 무엇을 고민하는지, 어떻게 성장하는지 확인할 수 있는 소중한 시간이었습니다.\n도움을 너무 많이 받아서 항상 감사합니다. 너무 좋은 분들 만나뵈서 행복한 시간이었습니다.\n컨테이너와 친해지는 첫 걸음을 뗀 것 같아 기쁩니다.\n\n\n앞으로의 계획\n개발에서 사용하는 모든 오픈소스에 관심을 가지고 기여할 수 있도록 하겠습니다.\nArgo workflows를 실제 프로젝트에 적용해보고 더 기여할 방안들을 찾아가겠습니다!","-기여-요약#🌵 기여 요약":"","2-강시온#2. 강시온":"","-개인-성과-보고-1#🌿 개인 성과 보고":"접기/펼치기\n\nIssue 1개, PR 3개\nGitHub Actions log 가독성 향상을 위한 이름 수정\nhttps://github.com/argoproj/argo-workflows/pull/11670\npublish-release에서 진행하는 step중 Run actions/cache@v3를 총 세번 수행하는데 각자 하는 역할이 다른데 같은 이름으로 표기되어 있어 같은 작업이 세번 이루어지는 것처럼 느껴 질 수 있는 부분을 각자 역할에 맞는 이름으로 수정\n\n\nGitHub Actions 필요없는 캐시 로직 삭제\nhttps://github.com/argoproj/argo-workflows/pull/11754\nsetup-go actions에서 cache option을 false로 주지않는 이상 default로 caching을 해주기때문에 중복되는 캐시때문에 발생하던 오류를 수정\n\n\nDeprecated 된 NodeJS 16 버전을 사용하는 checkout@v3를 모두 checkout@v4로 업그레이드\nhttps://github.com/argoproj/argo-workflows/pull/11782\nNodeJS 가 곧 보안지원이 종료되므로 최신버전을 사용하는 actions을 사용하도록 수정","-참가-후기-2#🌵 참가 후기":"작년의 경험이 너무좋아 올해도 참가하게 되었는데 올해는 작년과 다른 느낌으로 또 너무 좋은 경험을 했습니다.\n다들 열정적인 팀원들과 활발한 프로젝트 덕분에 텐션이 떨어지지 않고 프로젝트에 관심을 가질 수 있었던것 같고, 해당 프로젝트 뿐만 아니라 관련된 이야기 까지 나눌 수 있는 동료가 생긴것 같아 너무 행복합니다.","-기여-요약-1#🌵 기여 요약":"","3-권영길#3. 권영길":"","-개인-성과-보고-2#🌿 개인 성과 보고":"접기/펼치기\n[프로젝트 기여 항목]\n버그수정 Argo Workflow Datepicker 개선 (완료)workflow 목록 페이지의 filter 기능 중 하나인 datepick의 ui를 개선\n\n\n\n이슈링크UI: Datepicker Style Malfunction Issue · Issue #11476 · argoproj/argo-workflowsPR링크fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd · Pull Request #11480 · argoproj/argo-workflows\n버그수정 Cron workflow의 State filter 초기값 설정(완료)cron workflow의 status filter가 초기값과 상관없이 랜더링 되는 버그 수정\n\n이슈링크ui: Cron workflow initial filter value · Issue #11685 · argoproj/argo-workflowsPR링크https://github.com/argoproj/argo-workflows/pull/11686\n버그수정 초기 페이지에서 발생하는 webpack 관련 warning 제거하기 (진행중)argo workflow ui 로드시 발생하는 웹팩 워닝을 제거하기현재 관련 라이브러리들의 의존성 및 기능을 테스트 하는 중\n\n\n기능개선 로그인 페이지 개선 (진행중)Argo Workflow의 기존 로그인 페이지를 Argo CD와 같은 형태고 개선하는 이슈현재 workflow에서 제공하는 로그인 기능을 분석하고, 이후 새로운 설계 및 디자인을 적용할 예정이슈링크Similar login page to Argo CD · Issue #10816 · argoproj/argo-workflows\n\n[프로젝트 활동 내역]7.8 발대식(프로젝트 소개 및 자기소개)\n발대식 진행\n\n\n\n별명을 이용한 자기소개 시간\n프로젝트에 대한 대략적인 소개\n모임활동 규칙을 위한 다수결 투표\n다음 모임 활동은 발대식 참석자들의 다수결에 따라 정기 일정과 다르게 토요일(07/15) 오후 1시부터 진행하기로 했습니다. 계획된 활동 주제는:\n다음 한 주간 진행할 공통 활동에 대한 리뷰 또는 이야기 나누는 시간\n서로 관심 있는 주제에 대한 소통 시간\n멘티 여러분들의 진행도에 따라 개발 환경 설정도 진행해 볼 수 있습니다. (Optional)\n(공통 활동 내용은 내일 일과 시간 내로 정리해서 공유드릴 것입니다.)\n\n\n\n7.15 1차 모임 (개발환경 설정 및 workflow 기능 소개)\nOpen Up에서 1차 모임 진행\n개발 환경 설정 (dev-container)\n플레이그라운드 미션 (DCO 봇 체크 통과, GPG를 이용한 커밋, 커밋 메시지 컨벤션)\n실제 오픈소스 프로젝트에 바로 도전하기 전에 플레이그라운드를 생성했습니다. 첫 목표는 이 플레이그라운드의 프로젝트에 외부인의 입장에서 이슈/PR/커밋 등을 수행하는 것입니다. 간단하지만 처음 경험하는 입장에서는 생각하지 못한 관문이 존재할 수 있으니 집중해 주세요. 첫 이슈를 일찍 해결하면 추가로 지시할 사항을 전달해 드릴 것입니다. ㅎㅎ\n저장소: https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS\n목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성해요.\n\n\n\n7.23 2차 모임(관심있는 이슈사항 공유)\n성수에 모여서 2차 모임 진행(무신사 장소제공 - 안다혜 멘티 지원)\n관심있는 이슈에 대해 소개하고, 서로의 문제 공유하기\n\n\n\n\n8.6 4차 모임발표활동\nargo event와 workflow, cd연동\neBpf\n\n\n\n8.13 5차 모임발표활동\nwebRTC\n\n\n\n8.20 6차 모임발표활동\n개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC\n\n\n\n[프로젝트 활동 내용]\n[기여를 위한 학습]\n쿠버네티스 아키텍처 강의 - YouTube 링크\n쿠버네티스 리소스 강의 - YouTube 링크\nGo Playground - https://go.dev/play/\n\n\n배운점 및 느낀점\n프로젝트에 기여하기 위해선 해당 분야의 도메인 지식이 중요하다는 것을 깨달았습니다.\n단순히 웹서비스에 기여하고자 하였지만, 쿠버네티스에 대한 지식부족으로 환경셋팅하는 것부터 쉽지 않았습니다.\n큰 오픈소스 프로젝트에선 DCO/GPG 같은 것을 사용한다는 것을 배웠고, 오픈소스 프로젝트가 어떻게 관리되고 운영되는지 배워볼 수 있었습니다.\n\n\n이슈 및 PR내역","-참가-후기-3#🌵 참가 후기":"우선 ‘오픈소스 컨트리뷰션’이라고 하면 여러가지 감정이 교차하는 일이였습니다.\n다른 개발자들과 함께 오픈소스에 기여하고, 이를 통해 공유/협업하는 오픈소스의 문화를 경험한다는 것은 개발자에게 큰 기쁨이자 보람이라고 생각합니다.\n하지만 이전에도 여러차례 컨트리뷰톤을 할 때 겪었던 막연함과 두려움은 또 다시 도전하는 것을 주저하게 하는 커다란 벽이였습니다.이번 3번째 참가를 결심하게 되었을 때 다짐했던 것이 ‘이전에는 학생이라, 잘 몰라서, 취업준비로 바빠서 등등의 변명은 더 이상 통하지 않는다. 꼭 이번엔 성공해야지’ 였습니다.\n그랬기 때문에 더욱 부담이 되기도하고 설레기도 했던 시작할 때의 다짐이 아직도 생생하네요.\n프로젝트를 지원할 때, 잘 아는 분야를 할까? 새로운 분야를 할까? 라는 고민을 했었는데 스스로에게 공부도 되고 열심히 하기 위해 접해보지 않은 devops와 관련된 프로젝트를 지원했습니다. 이러한 결정은 얼마지나지 않아 후회로 다가왔습니다.\n기여를 하기도 전에 공부해야 할 내용이 많고, 프로젝트의 기본적인 환경구축에도 많은 시간이 허비되었습니다. 하지만 다른 팀원들과 함께 매일같이 서로의 어려움을 공유하고 도움을 주기위한 적극적인 활동으로 개발환경이 구축되자 너무나 설레는 시간이 다가왔습니다.\n환경이 구축되고 내가 할 수 있는 이슈를 찾는 것도 새로운 즐거움이였습니다. 업무에서 발생하는 오류나 버그들은 언제나 예민하게하고 귀찮은 것이였는데, 아카데미에서는 내가 할 수 있는 미션과 같이 다가왔고, 그 과정은 게임과 같이 즐거웠습니다.어느덧 참가후기를 쓰고 있는 지금, 내가 기여한 내역들이 너무 뿌듯하고 대견한 느낌이 듭니다. 또한 이런 과정을 함께 도와준 동료들과 멘토님에게 감사합니다.앞으로는 argo-workflow 프로젝트를 업무에 적용할 수 있는 방안에 대해 고민해보고, 이 때 발생하는 이슈들에 대해 적극적으로 기여할 수 있는 방향을 고민해보려고 합니다. 또 다른 좋은 프로젝트가 있다면 새로운 프로젝트에도 기여를 하고 싶습니다.\n감사합니다.","-기여-요약-2#🌵 기여 요약":"","4-김수빈#4. 김수빈":"","-개인-성과-보고-3#🌿 개인 성과 보고":"접기/펼치기\n\n개인 성과\n이슈 1개, PR 1개 기여\n\n\n컨트리뷰션 준비 과정\nYouTube에 업로드 된 OSSCA 기본 교육을 확인했습니다. Git, Vim 등 기존에도 많이 사용해보고 개념도 알고 있는 내용이었지만, 평소에 사용하면서 모르고 있었거나, 대충 사용하던 부분들도 많이 알고 이해할 수 있었습니다.\nArgoWorkflows-OSS/ArgoWorkflows-OSS 저장소에서 Git 환경 설정 및 Issue와 PR을 연결하고 클로즈하는 예제를 진행했습니다. Argo Workflows는 PR 생성 시에 모든 커밋이 gpg private key로 서명되어 있어야 하고, sign-off 되어 있어야 합니다. 그렇지 않은 경우 GitHub CI에서 failure 하게 됩니다. Argo Workflows에 실제로 기여하기 전, 미리 로컬 Git 환경을 설정하고 모의로 PR을 생성하는 데 큰 도움이 되었습니다.\nhttps://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38\n\n\nArgo Workflows 개발 환경을 설정했습니다. 처음에는 devcontainer를 이용해 설정했고, 이후에 Nix를 이용했습니다. Argo Workflows는 개발 환경에서 React UI, Argo Server, MySQL 등 여러 컴포넌트가 함께 필요해 개발 환경을 구성하기 어려운 편인데, 여러 주차에 걸쳐 개발 환경을 완전히 구성할 수 있었습니다.\n\n\n컨트리뷰션 진행 내용\n버그수정 Nix go build 수정\nhttps://github.com/argoproj/argo-workflows/pull/11635\n기존 코드 베이스는 Go 1.20을 사용하고 있었으나, Nix 빌드 파일에서는 Go 1.19를 사용하는 문제가 있었습니다. 기존에는 빌드가 문제 없이 되었었지만, Go 1.20에 새로 추가된 문법을 사용하기 시작하면서 Nix 빌드에 문제가 발생했습니다.\n_module.args 를 이용해 Go 1.20을 기본으로 사용하도록 수정하고, Nix 빌드를 수정했습니다.\n\n\n기능개선 Nix go vendor hash 자동 갱신\nhttps://github.com/argoproj/argo-workflows/issues/11691\n컨트리뷰션을 준비하는 과정에서 개발 환경을 설정할 때 알게 된 이슈입니다. Nix는 재현 가능한 빌드를 추구하는데, GitHub의 Dependabot이 자동으로 Go module 버전을 올려줄 때 Nix의 의존성 hash 값은 함께 변경하지 않는 문제가 있습니다.\n이로 인해 종종 개발 환경을 설정할 때 개발자들이 직접 수동으로 Nix의 go vendor hash를 계산해 갱신해야 하는 상태인데, 이를 개선하기 위해 해결 가능한 방법들을 찾아보고 있습니다.\n해결 방법을 기여자들과 함께 찾기 위해, 기존 PR과 Comment들의 내용을 모아 Issue를 생성했습니다.\n기존 다른 오픈소스 프로젝트들에서도 해결하지 않고 개발자들이 수동으로 반영하고 있는 상태여서, Argo Workflows에서 기여한 이후에는 다른 프로젝트들에도 기여할 수 있을 것 같습니다.\n\n\n기능개선 CHANGELOG.md 스크립트 개선\nhttps://github.com/argoproj/argo-workflows/pull/11733\nMarkdownlint는 프로젝트 내 문서들을 일관된 형식으로 작성될 수 있도록 강제하고, 문서를 더 읽고 수정하기 쉽게 만들어주는 도구입니다.\n기존에 Markdownlint를 사용해 프로젝트 Markdown 문서에 대한 린터 설정을 구성했었는데, 스크립트를 이용해 자동으로 생성되는 CHANGELOG.md 파일은 린터 룰에 맞지 않아 이를 개선했습니다.\n변경된 스크립트를 통해 새로 생성된 CHANGELOG.md 변경 사항은 이 PR에 담겨 있습니다. → https://github.com/argoproj/argo-workflows/pull/11773\n\n\n기능개선 문서 스타일 개선\nhttps://github.com/argoproj/argo-workflows/pull/11787\nMarkdownlint를 따르지 않는 일부 문서들의 스타일을 개선했고, 자동으로 생성되는 문서들에 대해서는 이후 PR에서 수정하기로 공유했습니다.","-참가-후기-4#🌵 참가 후기":"프로그램 참가 후기\n혼자서 기여하려고 했다면 불가능했을 것 같은데, 멘토 님과 다른 멘티 분들과 함께 모여서 공부하고 기여하면서 저도 기여를 준비하고 기여할 수 있었던 것 같습니다.\nArgo Project 생태계와 커뮤니티에 대해 이해하고, Argo Workflows 프로젝트에 대해 전보다 훨씬 깊게 이해하게 되어 좋았습니다.\n\n\n향후 기여 계획\n현재 생성한 Issue에서 기여자들과 해결 방법에 대해 논의하고, 이를 구현할 예정입니다.\n이후에 Nix 개발 환경을 개선하고, devcontainer로 구성된 개발 환경을 점진적으로 Nix로 이전하는 작업을 진행할 예정입니다.\nNix와 관련한 문서가 빈약해, 문서도 개선할 예정입니다.","-기여-요약-3#🌵 기여 요약":"","5-김학준#5. 김학준":"","-개인-성과-보고-4#🌿 개인 성과 보고":"접기/펼치기\n리팩토리fix: Upgrade Go to v1.21 Fixes #11556[**Merged]**\nArgo Workflows는 Go언어로 개발되어 있습니다.\nGo Version을 1.20 → 1.21로 업그레이드 하는 Issue가 발행되어 해결해보자 하였습니다.\n이슈 해커톤 기간에 해당 이슈를 제시하여 같은 팀원 분들과 함께 이슈 해결 및 PR을 진행했습니다.\n결과적으로 첫 PR과 첫 컨트리뷰터 뱃지를 달아볼 수 있는 영광스러운 시간이었습니다.\n\nfix: Upgrade Go to v1.21 Fixes #11556 by junkmm · Pull Request #11601 · argoproj/argo-workflows(opens in a new tab)소그룹 발표\nChallenges 기간에 Argo Projects를 활용한 CI/CD 구현했던 결과를 주제로 Offline 미팅 시간에 발표하는 시간을 가졌습니다.\n발표하며 제 생각을 정리하고, 서로 대화하며 데브옵스와 Argo Project 생태계를 이해할 수 있는 유익한 시간이었습니다.\n\n\n\n이슈 해커톤\n컨트리뷰션 활동에 진입 장벽과 동기부여를 위해 안다혜님의 의견으로 멘토님 주도하에 이슈해커톤이 진행되었습니다.\n멘토님의 주도하에 성락님과, 문영님, 병선님과 같은 팀이 되었습니다.\n이 기간에 제가 제시한 go 1.20 → 1.21 업그레이드 이슈 해결 성과를 달성했습니다.\nArgo Workflows에 내장된 Prometheus Metric 값을 추가하는 Issue를 해결해보고자 했으나, 높은 난이도로 인해 중단되었습니다. 하지만 이 과정을 통해 Prometheus는 별도의 Exporter를 설치해야만 한다 라는 제 고정관념이 무너지고 시야가 확장되는 좋은 경험을 했습니다.\nplan to add workflow labels to the metric? · Issue #9849 · argoproj/argo-workflows(opens in a new tab)\n아래 이슈를 해결하고자 하고 있습니다. Compile expr in config · Issue #11609 · argoproj/argo-workflows(opens in a new tab)\n\n왕 초보 특별반 - Container Playground\nArgo Workflows는 쿠버네티스 네이티브 환경에서 기동되는 오픈소스 입니다.\n멘토님은 쿠버네티스에 대한 지식이 있어야 우리 프로젝트를 접근하는데 있어 도움이 된다고 하시며 쿠버네티스 스터디를 Open 하였습니다.\n첫 번째 미션은 제시하는 조건에 만족하는 Web Container를 생성하는 것이었습니다.\n\n\n\n평소에 Dockerfile을 생각없이 작성하던 저에 대해 반성하게 됐고, 멀티 스테이징과 빌드 속도와 도커파일 작성 방법에 대한 관계를 배울수 있던 좋은 시간이었습니다.","-참가-후기-5#🌵 참가 후기":"참가 후기결론 먼저 말씀드리면 만족중에 대 만족 입니다. 컨트리뷰션 초기 정말 오픈소스 생태계를 잘 알지 못했던 저에 비하면 현재의 저와는 비교할 수 없을 것 같습니다. 대 만족하는 이유는\n첫째, 똑똑한 조원 분들 입니다. 매주 다양한 주제와 사람들 께서 현업에서 사용하는 기술, 관심있는 기술 등 발표를 정말 많이 해 주셨는데, 어디가서 들을 수 없는 명품 강의였고, 정말 많은 도움이 된 시간이었습니다.\n둘째, 든든한 조원 분들 입니다. 아무래도 개발 경험이 적은 저로써 이 컨트리뷰션 기간이 조금 무서웠습니다. 하지만 저희 리더 멘티님인 성락님을 비롯하여 많은 분들이 슬랙에 질문을 올렸을때 적극적으로 알려주신 덕분에 제가 겪은 문제들을 스무스 하게 넘어갈 수 있었습니다.\n셋째, 쾌적한 모임 공간과 든든한지원입니다. 매주 일요일 서초 오픈업 공간에서 모임을 했는데, 신축 건물인지 정말 깔끔하고, 탕비실의 커피와 간식은 그저 빛이였습니다. 또 중간 회식에서는 정말 배터지게 맛있는 양꼬치를 먹을 수 있어서 좋았습니다.앞으로의 계획올해 컨트리뷰션 활동을 통해 확실히 오픈소스 생태계를 이해할 수 있었습니다. 다만 아쉬운점이 있다면 초반에 무서워서? 소극적으로 활동 했던 것과, 아무래도 소극적일 수 밖에 없었던 제 작고 귀여운 코딩 실력입니다. 저는 컨트리뷰션 활동 기간이 정말 값졌기 때문에, 저의 미흡한 점을 보완해서 다음 해 에도 꼭 참여하고 싶습니다.","-기여-요약-4#🌵 기여 요약":"","6-박진수#6. 박진수":"","-개인-성과-보고-5#🌿 개인 성과 보고":"접기/펼치기\n기능개선A new feature to support Secrets as a type of parameters (링크)\n\n\n\n기존의 Argo Workflow는 WorkflowTemplate에 argument(인자)를 전달할 때 직접 인자를 정의할 수도 있고, ConfigMap을 참조하도록 설정할 수도 있었습니다. 하지만 일반적인 kubernetes 생태계를 지원하는 다른 도구들과 달리 Secret을 참조하는 기능은 지원되지 않았습니다.이에 대한 Feature request가 https://github.com/argoproj/argo-workflows/issues/5506에서 이루어지기 시작했고, 해당 기능을 구현해 Draft PR을 만들어둔 상태입니다.이 기능은 특히나 Kubernetes에서의 CustomResourceDefinition이라는 인터페이스와 같은 것의 정의를 바꿔야하고, workflow가 생성되어 사이드카를 주입받고 Pod로 생성되는 일련의 라이프사이클을 모두 파악해야했기에 개발하기 쉽지 않은 편이었습니다.하지만, 해당 기능을 구현해나가면서 Workflow가 결국 Pod와 container로 변환되어 동작하게 되는 과정을 깊이 있게 파악할 수 있었고, Workflow가 내부적으로 context 및 argument를 templating하는 로직도 많이 파악할 수 있었던 이슈였습니다.이슈생성Incorrect creator labels on a resubmitted Workflow (링크)\n\n\n\nArgo Workflow에는 동일한 template을 바탕으로 Workflow를 다시 생성하고 실행하는 Resubmit이라는 기능이 존재합니다. Resubmit된 Workflow의 경우 Workflow 생성 유저 관련 k8s object label이 Resubmit한 유저를 바탕으로 설정되는 것이 아니라 기존 잘못된 값으로 설정되는 버그가 존재했습니다.이로 인해 한 Workflow를 실행한 유저와 그 Workflow를 Resubmit한 유저가 다르면 Resubmit을 통해 생성된 Workflow에는 잘못된 Workflow 생성 유저 관련 k8s object label이 붙곤 했습니다.이에 대한 이슈를 제기했습니다.버그수정fix: Apply the creator labels about the user who resubmitted a Workflow (링크)\n\n\n\n앞서 생성했던 이슈(버그)를 해결하는 Pull Request를 작성했습니다.Resubmit 시에 기존 Workflow 실행자의 정보를 고려하지 않고 Resubmit한 유저 정보만을 바탕으로 올바른 Workflow 생성자 k8s object label을 달도록하여 버그를 수정했습니다.변경사항에 대한 예시로 foo라는 유저가 실행한 Workflow를 bar라는 유저가 Resubmit한 경우, 인증되지 않은 유저가 Resubmit한 경우 creator 관련 label이 어떻게 달리는지를 제시했습니다.또한 다른 코드에도 많은 영향을 끼친 부분이 존재해 이에 대한 테스트 코드도 작성해 안정성을 높였습니다.기능개선feat: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (링크)\n\n\n\n로그인한 유저가 CronWorkflow를 만든 경우 CronWorkflow에는 생성자에 대한 k8s object label이 붙게 됩니다. 하지만 CronWorkflow의 설정을 바탕으로 주기적으로 생성되는 Workflow에는 해당 k8s object label이 붙지 않게 되는 이슈가 존재했습니다.따라서 CronWorkflow로 생성되는 Workflow들이 CronWorfklow의 생성자 라벨을 그대로 전파받도록 개선했습니다.이슈생성Insufficient logging in /oauth2/callback handler when using SSO Authentication (링크)\n\nKeycloak이라는 Identity Provider 오픈소스 제품을 이용해 Argo Workflows에 SSO(Single Sign On)으로 인증 기능을 활성화하려했으나 이 과정에서 로그가 부족해 활성화 작업이 크게 지연된 것을 경험했습니다. 이에 해당 기능 활성화 작업에 대한 로깅 강화를 주제로한 이슈로 열었습니다.기능개선feat: Improve logging in the oauth2 callback handler (링크)\n\n위에서 언급한 이슈(블록 링크)를 해결한 Pull Request입니다. SSO를 위해 OAuth2 Protocol을 이용하는 과정에서 발생하는 에러 케이스별로 에러 로그를 출력하도록 기능을 개선했습니다.또한 Pull Request의 Reviewer가 좀 더 편하게 리뷰할 수 있도록, Pull Request가 설득력을 갖도록, 변경사항을 검증할 수 있는 Verification을 코드로 나타냈습니다.공부docs: Add a user named 박진수 (링크)\n\n행사를 시작하면서 멘토님께서 GitHub에과 친해질 수 있도록 만들어주는 레포지토리의 멤버 프로필에 저에 대한 소개를 추가해 Pull Request를 생성해보는 실습을 진행했습니다.","-참가-후기-6#🌵 참가 후기":"그동안 수많은 오픈소스를 활용해 업무를 하고 취미생활을 하면서도 단순히 사용자로서만 남아있었던 제가 유명 오픈소스의 컨트리뷰터가 될 수 있었던 좋은 기회였습니다.멘토님의 도움으로 Argo Workflow를 통해 오픈소스 컨트리뷰션 활동에 입문할 수 있었고, 컨트리뷰터 간의 실시간 화상 미팅의 두려움도 극복할 수 있었으며, 다른 사람이 작성한 코드도 거부감 없이 읽어보는 습관을 기를 수 있었습니다.저는 지금 Argo Workflow뿐만 아니라 Argo Rollouts, Istio 등 클라우드 네이티브한 환경에서 많이 사랑받고 있는 오픈소스에도 많은 관심을 갖고 있으며 Slack을 통해 컨트리뷰터들과 자주 소통해오고 있습니다.오픈소스 컨트리뷰션을 진행하기 전의 저였다면 이러한 소통 조차도 꺼렸을 것이 분명합니다. 하지만 이제는 이런 소통에 전혀 부담이 없고 앞으로는 Argo Workflow에서 제가 기여했던 것처럼 Argo Rollouts와 Istio에도 많은 기여를 해보고자 합니다!지난 기간동안 힘써주신 주최측과 멘토님께 감사의 인사를 전합니다. 감사합니다.","-기여-요약-5#🌵 기여 요약":"","7-서청운#7. 서청운":"","-개인-성과-보고-6#🌿 개인 성과 보고":"접기/펼치기\n\n개인 성과\nPR 1개 Open\n\n\n컨트리뷰션 준비 과정\nOSSCA 사무국이 공유해주신 기본 Git 전략에 대한 공유 영상을 확인하고, 놓치고 있는 새로운 부분과 기존의 알고있던 개념을 결합시켜 Git에 대한 이해와 응용도를 높였습니다.\n팀에서 진행하는 ArgoWorkflows-OSS/ArgoWorkflows-OSS 레포지토리에서 오픈소스 컨트리뷰트를 위해 필수적으로 알아야할 개념(gpg private key)와 issues, PR title 등을 실제로 미션을 수행하며 경험적으로 체득할 수 있도록 했습니다.\ndevcontainer를 사용해 Argo Workflow의 로컬 개발환경을 직접 구축하고 테스트해보며 실제로 컨트리뷰트를 하기위한 필수조건을 테스트해봤습니다. 여러 라이브러리 종속성에 대한 이식성이 좋은 도구여서 매우 사용하기 편리했습니다.\n\n\n컨트리뷰션 진행 내용\n공식 docs의 fields 예제 수정\nhttps://github.com/argoproj/argo-workflows/pull/11748\n기존 공식문서에서 크론워크플로우를 사용하지 않는 문서 예제가 CronWorkflowSpec , CronWorkflowStatus 필드에 포함되어 있어 필요한 데이터를 찾는 데 혼란을 불러왔었습니다.\n그래서 필요한 자료를 찾기 위해 CronWorkflowSpec , CronWorkflowStatus 필드의 예제에서는 크론워크플로우를 사용하는 예제만 허용하도록 했습니다.","-참가-후기-7#🌵 참가 후기":"프로그램 참가 후기\n오픈소스 생태계를 이렇게 심도있게 알아가고, 이해할 수 있는 모임이 또 있을까 라는 생각이 들 정도로 멘토님과 멘티분들이 훌륭하고 또 정말 열심히 모임을 이끌어 주셨습니다.\n개인으로서는 아쉬움이 무척 크기도 했습니다. 조금 더 시간을 투자하고 적극적으로 모임에 참여해서 개인의 성장 뿐만 아니라 더 좋은 모임으로 만들 수 있었을 텐데, 여러 외부 요인과 스스로의 게으름 때문에 아쉬움을 많이 남겼던 기간이었습니다.\n\n\n향후 기여 계획\n더 이상 오픈소스 컨트리뷰트가 무서운(?) 일이 아니라는 큰 자신감을 얻어서, 이후에도 Argo 생태계를 넘어 CNCF 생태계에도 더욱 관심을 가지고 오픈소스를 탐험할 수 있을 것 같습니다.\n처음부터 소스를 다 까보지 않고도 이전 PR 기록, 메인테이너의 도움을 통해 기여를 할 수 있음을 토대로 컨트리뷰트에 대한 심리적인 허들을 넘어 적극적으로 기여를 이어갈 계획입니다.","-기여-요약-6#🌵 기여 요약":"","8-송혜민#8. 송혜민":"","-개인-성과-보고-7#🌿 개인 성과 보고":"접기/펼치기\n\n컨트리뷰션 활동\nMutex check happens after memoization cache check and lock info missing from UI버그수정Issue #11219\nPR #11456 - Merge 완료/3.4.10 릴리즈 포함Argo Workflow 의 Synchronization 및 Cache 기능을 동시에 사용할 수 있도록 수정할 수 있었습니다.해당 버그는 Argo Workflow 에서 Synchronization 및 Memoize 키워드를 같이 사용할 시 정상적으로 동작하지 않는 현상이었습니다.기대 동작은 Mutex Synchronization 이 동작한 이후 캐시가 동작하는 것이지만, Synchronization 가 동작한 뒤 캐시가 작동하지 않고 있었습니다.예를 들어 아래와 같이 job-1 과 job-2 가 있을 시 job-1 이 Synchronization 효과로 인해 먼저 동작을 하고 캐시를 쓰고 완료가 되면, job-2 는 ** 동일한 캐시로 인해서 동작하지 않고 Pass 해야 합니다.**\n\n저는 이 과정을 Synchronization 과 Cache 의 순서를 조정하는 것으로 올바르게 수정할 수 있었습니다.어렵지는 않은 수정이었지만, 복잡한 파일 중 하나인 operation.go 를 수정했기에 많은 리뷰와 함께 Argo Workflow 의 다양한 기능들을 살펴볼 수 있었던 PR 이라 생각합니다.Parent level memoization is broken버그수정Issue #11612\nPR #11623 - Merge 완료/3.4.11 릴리즈 포함위 수정으로 발생한 새로운 버그 사항으로, Argo Workflow 의 Template 레벨이 아닌 아래 Child 구성 요소에서 Memo 기능을 사용 시 무한 Pending 이 걸리는 버그가 제보되었습니다.\n\n이전 PR 에서 테스트를 추가했으나 확인하지 못한 Case 가 존재했다는 것을 인지하고, 오류 발생 원인을 분석해서 다시 핫픽스를 반영할 수 있었습니다. 이 예외 사항을 추후에도 발견하기 위한 테스트를 4개 포함하여 PR 을 진행했습니다.UI: workflowDrawer's information link is not correctly working버그수정Issue #11494\nPR #11495 - Merge 완료/3.4.10 릴리즈 포함Argo Workflow 대시보드에서 워크플로우를 펼쳤을 시, Information 아이콘의 링크가 망가진 사항을 수정했습니다.\n\n 태그 중첩으로 인한 잘못된 이벤트 전파를 방지하는 코드를 추가해 제대로 클릭이 동작하게 만든 내용입니다.\n해당 코드 수정으로 다시 아이콘 클릭 시 올바른 문서로 이동하도록 만들 수 있었습니다.Search by name for WorkflowTemplates in UI기능개선Issue #11004\nPR #11684 - Merge 완료/3.4.10 릴리즈 포함다른 2명의 참가자 분들과 공동으로 개발하여 PR 을 진행한 내용입니다.\nArgo Workflow 에는 이름의 패턴을 통해 각 템플릿을 기능하는 유용한 기능이 빠져 있었습니다.\n\n이 기능을 추가로 제공하여 사용자가 더 이상 Yaml 의 라벨 뿐만이 아닌 이름으로도 Template 을 검색하도록 개발했습니다.\n특히 정확한 이름이 아닌 LIKE 검색이라는 것이 앞으로도 유용할 것 같습니다.\n이후에도 다른 페이지에 대해서 비슷한 수정을 통해 검색과 페이지네이션 기능을 확장할 예정이라 더욱 의미있는 PR 이었던 것 같습니다.Add more readable Argo CLI installation guide into github documentation문서기여Issue #11750\nPR #11751 - Merge 완료Argo Workflows 에서 사용하는 커맨드라인 인터페이스인 Argo CLI 에 대한 문서 기여입니다.\n\n현재 Argo CLI github 문서에는 인스톨에 대한 과정이 빠져 있어서, 첫 사용자가 Argo CLI 를 설치할 방법을 찾기가 어려웠습니다.\n기존에는 Release Note 로 직접 찾아 들어가거나 Quick Start 페이지로 반드시 들어가야 했는데, Argo CLI 페이지에 기존 Usage 이외에 Installation 항목을 추가하여 사용자 편의성을 높이도록 수정했습니다.Workflow templating is skipped when whitespace is added to template parameters버그수정Issue #11767\nPR #11781 - Merge 완료Argo Workflow 에서 workflow template 작성 시 들어가는 {{parameter}} 형태의 placeholder 가 {{ parameter }} 와 같이 앞 뒤로 공백이 있을 경우 유효성 검사가 되지 않는 현상이었습니다.\n내부 유효성 검사 코드에서 parameter 에 대해서 앞, 뒤의 공백을 자르는 trim 을 하지 않고 있는 것이 원인으로, 이 부분에 trim 을 추가하여 공백을 제거해 해결했습니다.\n이 기여로 인해 기존 placeholder 내용이 유효성 검사를 무시해버리는 현상도 바로 잡을 수 있었습니다.\n모임 개발 활동\nArgo Workflow OSS 공통 Repo 에 PR 올려보기PR #22 - Merge 완료Argo Workflow PR 전 여러 사람이 기여하기 위한 사전 연습을 진행했습니다. 새로운 문서 및 기존 문서를 다른 참가자들과 동시에 수정하여 올려서 Git 커맨드 및 Rebase 의 소중함에 대해서 배울 수 있었습니다.Dockerfile 로 웹서버 만들어보기PR #6 - Merge 완료로컬 8080 서버로 통신하여 localhost:8080 으로 접근 가능한 Dockerfile 을 하나 작성하고 서버를 띄우는 연습이었습니다.\n간단한게 Flask 로 파이썬 서버를 작성하고 Dockerfile 내 환경 설정, 서버 구동, 포트 연결을 통해서 Docker 커맨드로 외부에서도 서버에 접속 가능하도록 만들었습니다.","-참가-후기-8#🌵 참가 후기":"참가후기\n이전에도 오픈소스 컨트리뷰션 아카데미를 참여했었지만, 이번 아카데미의 프로그램과 멤버, 내용 모두가 특히 만족스러웠습니다.\n단기간에 소스 코드를 파악하고 기여를 시작하는 것이 쉽지 않은데, 작은 내용이나마 기여를 시작할 수 있었다는 것이 놀라운 경험이었습니다.\n멘토님의 집중적인 케어와 다른 참가자 분들의 열정이 정말 큰 도움이 되었다는 것을 깊게 느낄 수 있었습니다.\n혼자 시작했다면 금방 포기하고 잊어버렸을 내용이 다른 사람과 함께 진행하는 것만으로도 이렇게 달라질 수 있다는 것이 대단한 경험이었습니다.\n\n\n앞으로의 계획\n앞으로도 Argo Workflow 에 대한 컨트리뷰션을 이어나갈 생각이며, 다른 오픈소스 기여를 시작할 수도 있을 것 같습니다.\n특히, 이제는 관심 있는 오픈소스에 대해 접근해서 시작하는 방법을 배웠기 때문에 열정만 있다면 조금 더 수월하게 진행할 수 있을 것 같습니다.\n다른 사람에게도 오픈 소스 기여에 대한 재미를 적극 전파하며, 자신 있게 추천할 예정입니다.","-기여-요약-7#🌵 기여 요약":"","9-안다혜#9. 안다혜":"","-개인-성과-보고-8#🌿 개인 성과 보고":"접기/펼치기\n문서 수정 공식 문서의 running-locally 부분이 Dev-container와 Makefile을 처음 사용하는 사람들에게 직관적이지 않고, 깨진 링크들이 있어 pr #11405를 올리고 공식 문서를 수정하는 데 기여하였습니다.이슈 기여 미완성 이지만 Argo-workflows 의 워크플로우나, 워크플로우 내의 Pod 내에서 Secret 정보가 echo 등의 명령어로 노출될 수 있는 이슈 #8685 가 있어 이를 해결해보고자 했습니다.4일 동안 하루에 3시간 정도, 총 12시간 정도를 이 이슈에 투자했으나 아직 해결하진 못하였습니다. (중간 커밋)\n총 11개 파일에 걸쳐 Argo-workflows 실행 시 주입할 수 있는 환경변수인 ARGO_HIDE_SECRETS 을 추가하고 기본적으로 해당 옵션이 true 로 작동하게 하였습니다.\n위 환경변수를 command line에서 입력받거나, Argo-workflows 를 실행할 당시에 설정으로 추가할 수 있도록 하였습니다.\n만약 ARGO_HIDE_SECRETS=false 로 설정할 경우, \"You are running with logging include secrets. Be careful.\" 라는 로그가 찍히도록 하였습니다.\nworkflow, pod의 로그에서 Secret에 해당하는 정보가 포함될 경우, SecretValue를 마스킹 할 수 있도록 코드를 수정하였습니다.\n테스트 코드를 작성하여 위 기능이 목적한 대로 동작하는지 검증하였습니다.\n하지만 위 기능이 목적한 대로 작동하지 않았기에, 로그가 찍히는 과정을 탐색하기 시작하였습니다. Go 언어에서 사용하는 logrus 라이브러리는 io 패키지의 io.Writer 를 사용한다는 것을 알게 되었습니다.\n\n\n\n\n\n과제 수행 Argo-workflows 팀은 멘토님이 OSS-Argo-workflows 레포지토리를 생성하고 여러 과제를 내주셨습니다.\n실제 Argo-workflows 레포에서 pr을 올릴 때 지켜야 하는 원칙 (presigned commit, gpg check) 을 지키며 pr을 올리고, git conflict 를 해결하는 방법을 과제를 통해 배워나갔습니다.\n실제 Argo-workflows 레포에서 pr을 올리기 위해, 코드를 수정한 후 Argo-workflows가 제대로 작동하는지 확인하려면 local 환경에서 Dev Container로 Argo-workflows를 동작시켜야 합니다. 저희 팀은 이 과정을 직접 수행해보는 과제를 받았고, 그 과정에서 수행에 어려움을 겪는 멤버들을 서로 도와주었습니다. 저는 블로그 글에 해당 방법을 수행하는 법을 정리하여 팀원들에게 공유하였습니다. blog","-참가-후기-9#🌵 참가 후기":"오픈소스 컨트리뷰톤에 참여하면서 멋진 멘토님과 팀원들을 만났습니다. 저희는 매주 오프라인으로 만나며 그간 기여했던 이슈에 대해 공유하고, 업무적으로 도움이 되는 발표들을 매주 돌아가면서 진행하였습니다. 또한 막바지에는 ‘이슈 해커톤’을 만들어, 조를 나누어 이슈를 집중적으로 해결하는 자리를 만들었습니다. 그 결과 Argo-workflows 팀 자체에서 4건이 넘는 pr이 머지되었으며, 저도 한 이슈를 잡고 집중적으로 시간을 내 오픈소스를 깊숙히 파볼 수 있었습니다.Go 언어로 개발을 해보는 커리어를 염두에 두고 있었기 때문에, 프로덕션 레벨의 Go 코드를 보고 수정해보는 경험을 해볼 수 있어 정말 값진 경험이었습니다. 이렇게 열심히 사시는 분들과 같은 집단에 속할 수 있을까, 생각해보게 될 정도입니다. Masters가 끝나더라도 저는 위에서 해결하려던 이슈를 끝까지 파볼 작정이며, 개발 pr을 하나 더 올려보고자 합니다.그리고 기회가 된다면 2024년 오픈소스 컨트리뷰톤에도 참가해보고 싶습니다.좋은 기회와 장을 마련해주셔서 감사합니다.","-기여-요약-8#🌵 기여 요약":"","10-안지완#10. 안지완":"","-개인-성과-보고-9#🌿 개인 성과 보고":"접기/펼치기\n1. 오픈소스 첫 기여처음으로 ArgoWorkflows에 문서를 통한 기여를 했습니다. 공식 사이트에 이미지인지 비디오인지 혼동을 줄 여지가 있는 부분을 고쳐, 유저들이 확실히 동영상임을 인지하도록 수정했습니다.\ndocs: modify demo image in intermediate-inputs.md #117552. 다른 멤버의 활동을 보며 오픈소스 기여법 터득이번 오픈소스 컨트리뷰선 아카데미를 통해 오픈소스 기여를 하는 방법과 이슈를 찾는 요령에 대해서 알게 되었습니다. 요약하면 다음과 같습니다.\n주요 로직이 아닌 아주 자잘한 버그 이슈, 또는 UI 부분에서도 생각보다 이슈가 엄청 많다.\n해당 오픈소스의 전문적인 지식, 또는 다른 분야 (ex. 프로트) 종사자여도, 충분히 해당 오픈소스에 기여할 수 있는 이슈들이 많다. (ex. UI 이슈)\n기여를 하고 싶을 때는, 해당 이슈에 먼저 직접 이 이슈를 해결하고 싶다는 코멘트를 단 후, 작업을 시작한다.\n이 부분이 좀 신기했는데, Argo Workflow의 경우는 기여를 할 때 담당자가 배정된다는 점이 좀 신기했다. 아마 모르는 점? 또는 생소한 부분이 느껴질 때 담당자를 배정하는 것 같다.\n다양한 사람들이 많다. 정말 까칠하게 딱 한 줄 적으시는 분도 있고, 굉장히 친절하게 코멘트를 달아주시는 분도 있다.\n\n다른 회원분들의 이슈 해커톤을 보며 이슈에 직접 기여하는 방법을 알게 되었습니다. 특히 다른 회원분의 이슈 중 “Pagination” 이슈를 매우 흥미롭게 봤습니다. 제가 argo workflow를 사용할 때는 눈치를 채지 못했는데, 페이지네이션이 일관성이 없다는 걸 캐치하시고 이슈를 만들어 기여를 하시는 것에서, 저렇게 자칫 지나쳐 갈 수도 있는 곳에도 충분히 기여가 가능하구나 라는 걸 깨달았습니다.3. 개발 컨테이너 구축개인적으로 활동을 한 건 devcontainer를 직접 띄워 개발 환경을 세팅했습니다. 사실, 그 과정에서 무수한 오류가 발생했는데, 다른 분들께서 직접 도와주시고 골머리를 앓아가며 마침내 해결한 것을 보고, 뭔가 실무에서도 버그가 발생하면 다른 개발자분들이 오셔서 같이 머리를 쥐어짜내실 것 같은 모습이 상상이 갔습니다.멘토님께서 의존성 문제 해결 및 후에 다른 사람이 제 프로젝트에 이슈를 만들때, 동일한 환경에서 작업하는 것을 보장하기 위해 개발 컨테이너를 사용한다는 것을 알게 되고, 현재 제가 진행하고 있는 다른 프로젝트 (디스코드 봇 관련 프로젝트) 에서도 개발 컨테이너를 활용하여 개발을 해야될 것 같다고 생각했습니다.중간 보고서 이후에는 조금 마음가짐을 바꿔 위축감을 느끼는 것 보다는, 다른 현직자 분들이 실무에서는 어떤 식으로 서비스를 운영하시는지 그런 것들을 엿듣는 기회를 잡고자 했습니다. 실제로 멘티분들께서 다양한 주제로 발표를 하셨으며 회사 내에서 이루어지는 부하테스트, ebpf에 대한 설명 등 흥미로운 주제들을 들을 수 있었습니다. 학교를 다니면서 듣기 힘든 아주 귀중한 발표였던 것 같습니다.4. GPG Sign을 이용한 Verified Commit 방법 숙달 및 팀 깃허브 소개글 업로드그동안은 별도의 GPG Key없이 커밋을 해왔는데, 멤버 소개글을 업로드 하는 과정에서 DCO봇과 GPG 확인해서 계속 막혀, Verified 커밋을 생성하는 방법을 터득하고 팀 깃허브 레포에 소개글을 업로드했습니다. 그 과정에서 커밋을 할 때마다 자꾸 멈춰 애를 먹는 도중 같은 팀원의 도움을 받아 해결했습니다.docs: 안지완 프로필 업데이트","-참가-후기-10#🌵 참가 후기":"사실, 중간보고서 쓰기 전까지 제 수준에 비해 이 활동이 너무 수준이 높고 다른 분들이 너무 잘하셔서 스스로 위축된 느낌이 있었으나, 멘토님께서 개별적으로 상담해주시고 잘 격려해주신 덕에 그 이후로 정기모임에 더 열심히 참여하고자 했습니다.Argo Workflow에서 수많은 이슈를 보며, 만만한 것이 있으면 한번 기여를 해볼까 하며 찾아봤는데, 너무 복잡하고 특히나 Go 언어를 잘 모르는 터라 손을 댈 수가 없었습니다. 대신, 직접 기여는 몰라도 다른 분들의 기여를 보며 오픈소스라는 세계에 입문하게 된 것 같았습니다.가장 기억에 남은 다른 분의 기여는 “페이지네이션”이었습니다. Argo Workflow의 어떤 부분은 페이지네이션이 되어있고, 어떤 부분은 되어있지 않으며, 또 어떤 부분은 제목은 나와 있지 않은, 한마디로 UI 내의 일관성 깨짐 문제를 발견하셨고, 이를 해결하고자 이슈 해커톤에서 팀원을 구해 기여하시는 모습이 인상깊었습니다.뭔가 제가 기여할 부분을 찾을 때는 로직 관련 이슈를 찾으려 했으나, 너무 어렵고 이게 대체 어떻게 돌아가는지 파악이 안됐는데, 저렇게 기여를 할 수 있구나…라는 생각이 들어 생각보다 기여에 그렇게 큰 겁을 먹지 않아도 된다는 생각이 들었습니다.멘토님을 포함한 다른 모든 분이 현직자이시며 정말 실력이 대단하신 만큼, 저도 모임에 가며 많은 것을 알아갔습니다. 워크플로우가 실무 내에서는 어떻게 쓰이고 있는지, 특히 제가 요즘 공부하고 있는, 정말 만능처럼 보이는 Airflow가 왜 실무 내에서는 그닥 그렇게 많이 쓰이고 있지는 않은지에 대한 이유 등 이론과 실무의 차이들을 볼 수 있었습니다.솔직히 오픈소스 컨트리뷰션에 참가한 만큼, 저도 이슈에 하나 정도는 기여하고 싶은 욕심이 있습니다. 남은 기간이 별로 안남은 만큼, 활동이 끝나기 전까지 아주 자잘한 이슈 하나 정도라도 기여하는 것이 우선 제 계획이며, 이제 개강이 기다리고 있는데, 개강을 해도 정기모임에 나가서 배울 수 있는 것은 최대한 배우는 시간을 가지고 싶습니다.","-기여-요약-9#🌵 기여 요약":"","11-유윤우#11. 유윤우":"","-개인-성과-보고-10#🌿 개인 성과 보고":"접기/펼치기\n1. 왕초보반 dockerfile 만들어보기\n\n\n\n나만의 웹 서비스를 만들고 도커파일을 통해 이미지를 빌드하고 컨테이너를 실행해보는 실습 진행\n각자 원하는 프레임워크와 언어를 통해 서비스를 구축, 저는 Nest.js를 사용했습니다.\n\n2. Nest.js 프레임워크 공부\nNest.js 학습한 레포지토리\n프론트 엔드밖에 몰랐기에 간단한 API 서비스를 만들기 위해 빠르게 학습\n\n3. dockerfile 생성 후 PR\n\n\n\n도커파일을 생성하여 image를 빌드해 서비스 정상작동까지 확인하고 PR을 올렸지만 github action의 빌드 테스트 실패\n--production 옵션을 제거하면 테스트에 통과하지만 image 최적화가 되지 않는 문제가 발생. 멘토님께 조언 요청\n\n\n\n\n멘토님의 피드백을 기반으로 문제해결 시작\n\n4. 트러블 슈팅\n\n\n\n\n\n\ndokerfile로 이미지 생성시에 크기를 줄이기 위해 node_modules를 production 환경만 설치하려고 했지만 github action을 통과하지 못함\n수많은 삽질끝에 nest-cli라는 모듈이 nest build시에 필요한데 devdependency안에 들어가 있던걸 변경하고 나니 해결됐다. (멘토님이 힌트를 주셨지만 못알아듣고 삽질한건 비밀)\n로컬에서 빌드가 문제없이 되어서 더 헷갈렸는데 이유는 내 맥북에 글로벌로 nest-cli가 설치되어 있었다..\n\n5. 오픈소스 컨트리뷰터 활동\n[UI: The position sticky on the workflow toolbar is not working]\nworkflows-list의 checkbox 선택 시 나오는 toolbar 위치가 상단에 고정 되어 있지 않던 버그를 해결했다.\n이슈 내용 보러가기\nPR 내용 보러가기\n\n[before]\n\n\n\n체크박스를 선택하고 스크롤 시 상단 툴바가 보이지 않는다.\n기존에 있는 position : sticky가 적용되지 않는 문제를 position : fixed로 변경해 해결했다.\n\n[after]\n\n\n\n체크박스 선택 후 스크롤 시에 상단에 툴바를 고정하여 별도의 스크롤 없이 바로 해당 리스트에 대한 이벤트를 실행할 수 있다.\n\n[UI - show history about completed runs in each cron workflow]\n의정님이 찾은 좋은 개선 사항을 함께 진행 cron-workflows-detail 컴포넌트에서 해당 워크플로우의 히스토리를 볼 수 있게 리스트를 추가하는 이슈\n이슈 내용 보러가기\nPR 내용 보러가기\n\n[before]\n\n\n\n기존 cron-workflows-detail 페이지에는 아무것도 없었지만\n\n[after]\n\n\n\n\n\n\n해당하는 cron-workflows에 히스토리 workflows와 히스토리가 없을 경우에 예시도 추가해줬다.\n해당 PR은 아직 확인중인 상태","-참가-후기-11#🌵 참가 후기":"너무 좋은 경험이였습니다.아쉽게 취업을 하게되면서 바빠지고 서버와 데브옵스쪽 지식이 부족해 많은 컨트리뷰터 활동이나 오프라인 모임에 참여하지 못한 아쉬움도 많이 남았습니다.그래도 포기하지않고 프론트엔드 쪽으로 더 많은 컨트리뷰터도 진행해보고 서버 쪽 공부도 진행해서 argoWorkflow에도 더 많은 기여를 해보도록 노력해보겠습니다!좋은 활동 만들어 주셔서 감사하고 왕초보여도 하나씩 단계를 밟아가며 성장할 수 있게 도와주신 멘토님 리드멘티 님들 감사합니다 👍","-기여-요약-10#🌵 기여 요약":"","12-이병곤#12. 이병곤":"","-개인-성과-보고-11#🌿 개인 성과 보고":"접기/펼치기\n\n발대식 참여\nK8s 학습\nOperator 개념 학습\nHelm 학습\nCNI 개념 학습\nService Mesh 개념 학습\n\n\nArgo Workflows 학습\n기본적인 사용법 학습\nhttps://argoproj.github.io/argo-workflows/workflow-concepts/\nhttps://www.youtube.com/watch?v=kxl6wYd5i2g\n\n\n주변 기술 학습\nDevContainer 학습\nNix 학습\nhttps://nixos.org/manual/nixos/stable/\nMinIO 학습\nKeyCloak 학습\n\n\n\n\nArgo Workflows 컨트리뷰션 버그수정\nDevContainer 오작동 관련 이슈작성 https://github.com/argoproj/argo-workflows/issues/11439\n컨테이너 재시작 시 /etc/hosts 엔트리 지워지는 문제\n\n\nDevContainer 오작동 해결 PR 작성 및 머지 완료 https://github.com/argoproj/argo-workflows/pull/11440\ndevcontainer.json의 runArgs에 —add-host 옵션 추가하여 해결\n\n\n\n\nArgo Workflows 주변 기술 학습\n학습한 내용 토대로 NixOS 설치 및 사용\nArgo CD, Argo Events, Argo Rollout 에 대해 조사\nKeycloak 학습\nArgo Workflows에서는 Keycloak 연동을 지원하고 있음, 이에 궁금증이 생겨 Keycloak에 대해 조사\nOAuth2와 OIDC 차이점에 대해 학습\nKeycloak 개념에 대해 학습\nRole\nReam\nClient\n\n\nKeycloak 설정 방법에 대해 학습\nKeycloak API 및 연동 방법에 대해 학습\nKeycloak 공식 문서 학습\nhttps://www.keycloak.org/docs/latest/securing_apps/index.html\nhttps://www.keycloak.org/docs-api/22.0.1/rest-api/index.html\n\n\nKeycloak 직접 설치 및 사용 실습","-참가-후기-12#🌵 참가 후기":"이번 컨트리뷰션 아카데미를 통해 오픈소스에 기여하는 것 뿐만 아니라 새로운 기술에 대해 학습하게 되는 동기부여가 되서 좋았습니다.\n직장 일이 바쁜 와중에 참가해서 쉽지는 않았지만 꼭 올해 컨트리뷰션에서만 Argo Workflows에 대해 기여하는 것이 아니라 향후 컨트리뷰션에서도 몇년간 기여해보는 것을 목표로 길게 보고 있습니다.\n앞으로의 계획은 Argo Workflows뿐만 아니라 다른 Argo Projects를 직접 구축해보고 제 개인 토이 프로젝트에도 적용해보는 것이 목표이고 K8s에 대해서도 더 많은 공부를 하는 것이 계획입니다.","-기여-요약-11#🌵 기여 요약":"","13-이의주#13. 이의주":"","-개인-성과-보고-12#🌿 개인 성과 보고":"접기/펼치기\n1. Git 사용법 & Commit & PR 규칙 숙지\n컨트리 뷰션을 하기 위해 엄격한 Commit 과 Pull Request를 보내기 위한 기초적인 Git 사용법 숙지 및 Mission 수행\n공식 Argo Workflow 프로젝트에서도 컨트리뷰션 하고 싶은 Issue에 대해 Issue Template 를 이용하고 PR 을 날리는 방식을 사용하고 있어 도움이 되었고 Issue Template 의 존재도 알게된 계기가 되었음.\n향후 컨트리뷰션 부분에 꼭 필요한 요소들을 간접적으로 체험할 수 있는 기회\nPR 의 네이밍 컨벤션\nDCO 봇 Check\nGPG Commit\nCommit Message 컨벤션\n이슈와 PR을 연결\n\n\nIssue 생성 - 멤버 프로필 업데이트 - PR - Review - Merge 의 과정\n\n\n\n2. 왕초보 특별반 참여 (Mentor 가 생성한 초보자들을 위한 과정)\n왕초보 특별반 미션을 위한 Repo(container-playground)\nDocker 혹은 Kubernetes 에 익숙하지 않은 인원 혹은 처음인 인원에 도움을 주는데 목적\n\n\n\n멘토가 제시한 과제를 수행하면서 Docker Image 최적화의 필요성에 대해 학습\nFrom 절 부터 Layer(층)별로 어떤 패키지, Static file 들을 쌓아가는 과정이기 때문에 Docker 이미지가 무거워져 성능 향상에 악영향을 미칠 수 있기 때문에 최적화는 필수임을 깨달음.\n\n\nMission\n❗️목표❗️\n\n나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다.\n\n과제 통과를 위해서 반드시 아래 사항을 준수해 주세요.\n\n• 디렉터리 및 파일 배치\n• 나만의 서비스를 반드시 본인 github 계정 디렉터리를 생성하고, 그 아래 작성해주세요.\n• 본인 디렉터리의 최상단에는 반드시 `Dockerfile` 이 위치해야 합니다.(이 조건을 달성하지 못하면 CI가 실패합니다.)\n• 본인 디렉터리 아래에 한해서, `Dockerfile`의 위치를 제외한 나머지 파일들은 자유롭게 작성해도 됩니다.\n• 단, 본인 디렉터리 최상단에서 `docker build -t [이미지명] .` 명령을 수행 했을때 성공적으로 이미지가 빌드 되어야 합니다.\n• 빌드 된 이미지의 동작\n• 나만의 웹서비스는 반드시 8080포트에서 동작해야 합니다.\n• 빌드 된 이미지는 별도의 파라미터 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 으로 실행 했을 때 문제 없이 서비스 되도록 만들어야 합니다.\n• 웹서비스 개발언어 및 서비스 구조\n• 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다.\n• UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다.\n• 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)\n1. /api/v1/[본인 github계정]\n2. /healthcheck\n• (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))\n• [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)\n\n❗️ 참고사항❗️\n\n•도커의 개념과 Dockerfile을 작성하기 위해 아래 문서를 참고 하면 좋아요.\n\n• [Dockerfile 작성 공식 문서](https://docs.docker.com/engine/reference/builder/)\n• [왕초보를 위한 도커 사용법](https://mysetting.io/slides/xxj85vnvey) (Docker Toolbox관련 내용은 deprecate된 내용)\n\nPR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요.\n\n• Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요.\n• [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요.\n• [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요.\n• [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요.\n• [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)```\n\n\n기존에 Python 기반의 Django 프레임워크를 다뤄본 경험이 있어 Django REST API를 생성하는 Docker FIle을 작성.\nPR을 날렸지만, 보안이슈 혹은 불필요한 패키지 import 구문 의 오류를 지적받음.\n\n\n\n\n\nDjango 프로젝트의 settings.py 코드에서는 SECRET_KEY 가 노출 된다는 것을 처음 알았으며 어떻게 이러한 보안 이슈를 해결할 수 있을까에 대해 고민해보는 시간을 가질 수 있었음.\nSecret key 가 담긴 .json 파일을 생성하고 settings.py 에서 json 파일을 참조하는 방향으로 진행하였다.\nsecret.json 파일은 Commit 에 올리지 못하므로 .gitignore 를 통해 json 파일을 무시하는 방법을 알게되었으며, dbsqlite3 같은 어떤 명령어 수행 후에 생성되는 불필요한 파일들도 무시할 수 있었음.\n로컬에서 개발한 결과물을 Git 프로젝트에 올리기 위해서는 여러 고려사항이 필요하다는 것을 깨달은 경험이었음.\n\n\n몇가지 Review를 통과하고 PR이 Merge 될 수 있었음.\n\n3. Argo Workflow Contributor\nArgo Workflow 를 이것저것 살펴보던 도중, Argo Workflow - Contact - Help 필드에서 Deprecated 된 Argo Workflow Slack 채널을 보게되었음.\n사소한 UI Issue 라고 생각했지만, UI가 어떤 언어로 보여주며, 어떤 방식으로 개발되었는지 확인할 수 있는 기회라고 생각하여 Issue 를 올리고 PR을 제출.\n\n\n생성한 IssueUI: non-existent Slack Workspace link on help page Issue\n\n\n이슈를 생성하니 Argo 프로젝트의 Maintainer 분이 금방 코멘트를 남겨주셨음.\n임의로 CNCF Argo Channel 링크로 Fix 하려 하였으나, 메인테이너분이 다른 링크로 Update 해달라는 코멘트를 받음.\n\n\n생성한 PRfix: deprecated Link(Help-Contact) Issue\n\n\nArgo Workflow 는 React 기반으로 UI가 구성되어 있었고, 컴포넌트별로 디렉토리가 정렬되어 있어 쉽게 코드를 분석할 수 있었음.\nIssue 가 있던 Code 부분\n\n\n실수로 Commit 중에 Signed-off 옵션을 생략해서 DCO 봇 TEST에 통과 못했지만, GIt 에서 이전 커밋을 되돌리거나(Rebase),\n여러 불필요한 커밋을 하나로 합치는(Squash) 기능을 알게되었고 이전 커밋을 돌려 git commit -S -s -m \"Commit Message\" 커밋하였음.\n‘LGTM’ 코멘트가 무슨뜻인가 찾아보았는데 구글에서는 LGTM이라는 태그를 달아 의사를 표현하는데 Looks Good To Me. 즉, 좋아 보인다는 뜻이라고 하여 뿌듯한 경험이었음.\n버그를 찾아내거나 UI를 수정하는 등의 과정도 중요하지만, 가장 중요한 것은 Argo Workflow 생태계가 정한 규칙대로 컨트리뷰션을 수행하는 과정도 중요하다고 생각한다.\n\n\n\n4. Argo Workflow Hackerton 참여 (Argo workflow - OSSCA 팀내에서 개최한 해커톤)\nPull Request(Merged) : feat: Search by name for WorkflowTemplates in UI\nIssue : Search by name for WorkflowTemplates in UI\n이슈 해커톤 활동 기간\n1차 해커톤 (해커톤 C조) : 23.08.16 - 23.08.20\n2차 해커톤 (해커톤 C조) : 23.08.20 - 23.08.27\n\n\n\n\n\n\n\n\n이슈 내용\n클러스터에 많은 수의 템플릿이 있는 경우 이름으로 검색하는 것이 좋지만, 검색기능이 없어 모든 템플릿을 스크롤하는 것은 항상 불편하다는 이슈\nArgo Workflow UI 에서 워크플로우 템플릿의 결과를 이름별로 필터링하는 기능이 필요하다고 생각되어서 조끼리 회의한 결과로 이슈를 채택.\n\n\n역할\nFront-End 담당\nArgo workflow Template UI 의 검색 필드(Bar) 생성\n.get 로직을 분석하여 Name Pattern(Like 검색)을 어디로 넘겨주는지 분석\nworkflow-template 컴포넌트 디렉토리의 workflow-template-filter.tsx, workflow-template-list.tsx 수정\n\n\n\n\n회의 내용\n회의는 Slack 해커톤 채널을 통해 조끼리 매일 의견과 정보를 공유\n1차 논의 내용\n\n\n1. name 검색 기능 (backend)\n\n• WorkflowTemplate 페이지\n• name 검색 추가(LIKE 검색)\n• ClusterWorkflowTemplate 페이지\n• name 검색 추가(LIKE 검색)\n• CronWorkflow 페이지\n• name 검색 추가(LIKE 검색)\n\n\n\n2. name 검색 기능 (frontend)\n\n• WorkflowTemplate 페이지\n• name 검색 ui 추가\n• ClusterWorkflowTemplate 페이지\n• 검색 사이드 바 추가 (name, label)\n• CronWorkflow 페이지\n• name 검색 ui 추가\n\n3. 페이지네이션 (frontend)\n\n• WorkflowTemplate 페이지\n• name 기준 pagination\n• ClusterWorkflowTemplate 페이지\n• pagination 추가\n• CronWorkflow 페이지\n• pagination 추가\n\n4. 테스트 코드 작성\n\n- name 검색 (LIKE 검색)\n- 어떤 테스트 코드 작성해야하는지 더 분석 필요\n\n2차 논의 내용\n1차 오프라인 회의\n\n\n\n\n\n\n1. 공동 커밋 방법\n\n• https://github.com/ArgoWorkflows-OSS/argo-workflows 레파지토리를 로컬에 클론받는다.\n• 해당 레파지토리에 우리 팀이 작업할 브랜치를 생성한다. (`master` vs `release-3.4.10`)\n• 해당 레파지토리의 해당 브랜치에서 각자 담당한 기능을 작업한다. (PR올리기 위한 커밋 규칙을 잘 지켜서 커밋한다.)\n• 모두의 작업이 완료되면 3명중 1명이 PR 템플릿에 맞게 PR을 날리기\n• 3명 모두가 컨트리뷰터가 될 수 있음\n\n2. 해커톤이고 정해진 기간이 있기 때문에 일단 workflow-template, cluster-workflow, cron-workflow 중 먼저 메인이라고 생각되는 workflow-template name filter 를 먼저 구현해보고 PR을 날려 메인테이너가 Merge 해주면 다음으로 넘어가기로 결정\n\n• 파트별 임무\n\n• 백엔드\n\n• workflow_template_server.go\n• 이름 필터링 및 페이지네이션 재계산\n\n• 프론트 :\n\n• workfflow-template-filter.tsx\n• Name 검색 UI 추가\n• Name 인자 수신 및 필터링\n• workflow-template-list.tsx\n• Name state 추가\n• userEffect list 에 name 전달\n• workflow-template.tsx, Utils.tsx\n• Name 인자 전달\n\n3차 논의 내용\n2차 오프라인 회의\n\n\n\n\n1. 오프라인 미팅 회의 내용\n\n• namespace 없는 경우도 필터 시 포함해야 할 것 같다는 의견. (namespace 없애자고 말 할 근거 부족 - 타 사이트(쿠버네티스 대시보드, 오픈시프트, 아르고씨디 등)들도 namespace 없는 경우 제공)\n• continue에서 사용하고 있는 로직을 가져와 적용가능한지와 커스텀한 결과에서도 continue를 그대로 유지할 수 있는지에 대한 생각\n• 수요일 밤까지 continue 로직 분석 후, continue를 사용하여 페이지네이션이 불가능 하다고 결론이 날 경우 이슈 코멘트에 질문 업로드\n• 프론트단 페이지네이션(데이터 리로드 안됨, argocd에서 사용중인 방식) vs 서버단 페이지네이션(매번 전체 리스트 조회 후 페이지네이션, 부하 괜찮을지)\n• 서버사이드 캐싱 구현할 경우 저장할 곳이 있는지\n\n\n\n2. 페이지 넘길때마다 매번 네임스페이스, 라벨만 적용해서 k8s 전체검색 하는걸로 결정\n\n3. offset 기반 페이지네이션 방법**에서 로직 추가로 구현\n• 안됐던 부분\n• next page 버튼 클릭 후 필터링 검색했을 경우, 있는 검색 결과더라도 아무 데이터도 나오지 않는다.\n• next page 버튼 클릭 후 페이지네이션 갯수 늘리면, 검색결과가 제대로 보이지 않는다.\n• 변경된 부분\n• continue 값을 서버에서 갱신해주다보니, 페이지 갯수를 늘리거나/필터링을 걸었을 때 서버에 이미 세팅된 continue값을 기준으로 페이지네이션을 해서 문제 존재,\ncontinue 값을 프론트에서 넘겨주도록 변경하는 방식을 채택(페이지 갯수 늘리거나/필터링을 걸었을 때 continue를 다시 0으로 세팅)\n\n\n\n4. 페이지네이션 테스트\n• workflow_template_server_test.go 통과\n• (workflow template 14개 등록)\n• UI workflow template 첫 페이지 정상\n• workflow template 페이지 limit 5, 10, 50 일 때 정상\n• workflow template 페이지 1 페이지에서 workflow template 추가 후 2페이지 이동\n• workflow template 페이지 1 페이지에서 workflow template 삭제 후 2페이지 이동\n• 위 내용을 `name pattern` 필터링 검색으로 테스트\n• name pattern 없이 검색 후 name pattern 추가하여 재검색\n• name pattern 포함 검색 후 name pattern 삭제 후 재검색\n\n5. PR 생성\n\nLike 필터(Name Pattern) 구현\n예) sp로 시작하는 workflow-template 검색가능\n\n\n\n\n결과\n\n\n구현은 성공이였으며, 이후에는 이전에 논의했던 cluster-template, cron-template 컴포넌트들을 수정할 예정\n\n\n\n\n\n5. 컨트리뷰션 활동 외 학습\nGoogle Kubernetes Study Jam 교육 수료\nBadge\nArchitecting with Google Kubernetes Engine: Foundations(Earned 7월 18, 2023 EDT)\nArchitecting with Google Kubernetes Engine: Workloads(Earned 7월 26, 2023 EDT)\nArchitecting with Google Kubernetes Engine: Production(Earned 8월 4, 2023 EDT)\n정리한 내용은 개인 블로그(velog)에 기록\neuijoo's Velog GCP Series","-참가-후기-13#🌵 참가 후기":"참가후기\n아카데미 이전에는 Argo CD에 대한 지식만 가졌지만, 이후에는 Argo Workflow 프로젝트에 대해 조사하고 분석하며 강력한 기능들을 어떻게 활용하면 좋을지 생각해볼 수 있는 레벨까지 도달할 수 있었음.\n처음 컨트리뷰션을 진행하면서 이슈를 생성하고 메인테이너들과 소통하며 부탁받은 사항에 대해 수정하고 PR을 생성하는 방식으로 진행하니 금방 코멘트가 달렸고 Merge 되는 성과를 달성.\n사소한 이슈일 수도 있지만, 기여하고자 하는 부분에대해 전체적인 분석이 필요하다고 느낀 경험이었음.\n이 뿐만이 아니라, 팀 내에서 자체적으로 이슈 해커톤을 진행하면서 UI 즉, 프론트 부분만이 아니라 백엔드 부분의 로직을 분석하며 Argo workflow가 내부에서 어떻게 상호작용하는지 분석할 수 있는 기회였음.\n우리조는 몸체가 큰 이슈여서 이에 맞춰 온라인 뿐만 아니라 오프라인 회의도 병행하며 진행한 결과 목표에 도달할 수 있었고, 두명의 인원은 현업에 종사하는 분들이여서 어려운 부분에 대해서는 친절히 설명해주셔서 유익한 경험이었음.\n계속해서 해커톤 팀원 혹은 전체 팀원들과 함께 소통하고 싶은 소망이 있음.\n\n\n앞으로의 계획\n아직 OSSCA 기간이 끝나지 않았기 때문에 지속적으로 이슈를 탐색(Cluster-workflow-template, Cron-workflow 등)하거나, Argo Workflow 문서의 오타나 번역 오류를 발견하고 지속적으로 PR을 제출할 생각임\n또한, OSSCA 기간이 끝난 이후에는 지금까지 정리해왔던 내용을 포트폴리오화 할 예정.\n토이프로젝트로 현재 진행중인 Argo Workflow를 활용한Data ETL 작업을 완료해볼 예정임.\n만약, 취업이 된다면 Argo Workflow의 많은 기능들을 현업에 도입하여 많은 인사이트를 창출하고 싶은 소망이 있음.","-기여-요약-12#🌵 기여 요약":"","14-전의정#14. 전의정":"","-개인-성과-보고-13#🌿 개인 성과 보고":"접기/펼치기\n✅ Contribution 관련 블로그 기록시리즈 | 2023 OSSCA - ddubi.log\n\n\n\n✅ 다양한 과제 수행\nGithub에서 issue/commit/PR 미션 수행[과제 요약]\n\n\n멤버 프로필 업데이트 이슈를 선택하고 해당 repo를 나의 repo에 fork한 후 나의 repo에서 users.md 와 [이름].md를 docs/user아래에 추가한다. 그 후 이슈를 연결해서 PR을 올리고 commit 하는 과제\n\n[과제 결과]docs : 전의정 프로필 업데이트 by juijeong8324 · Pull Request #19 · ArgoWorkflows-OSS/ArgoWorkflows-OSSGithub에서 issue/commit/PR\n\n\n\n\nRunning Locally[과제 요약]\nArgo Workflows를 local 환경에서 실행시키는 과제\nWindows 환경에서 wsl2를 설치한 후 devcontainer cli를 이용하여 argo workflows 실행\n\n[과제 결과]Argo Workflows 로컬에서 실행하기Argo Workflows 로컬에서 실행하기 - 재도전Argo Workflows 로컬에서 실행하기 - 파이널Argo Workflows 로컬에서 실행하기 - 최종 정리\n\n\n\n\n왕초보 특별반 - 나만의 서비스 컨테이너 이미지 제작\n\n[과제 요약]\n왕초보 특별반은 Argo-worfklows 팀 내에서 컨테이너, 쿠버네티스, argo에 대해 잘 모르고 있는 뉴비들(It's me...)을 위한 특별반이다.\n나만의 웹서비스를 제작하고 이를 컨테이너화 할 수 있는 Dockerfile을 작성하는 과제\nDockerfile, docker, image, container와 관련된 개념을 이해하고 있어야 함\n본인은 node.js, express 환경에서 웹서버 구축 후 dockerfile 작성\n\n[과제 결과]과제 관련 코드왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작[Docker] Dockerfile 기본 명령어에 대해 알아보자\n\n\n\n\n\n✅ 오프라인 참석\n날짜\t활동요약\t2023.07.15\t- 자기소개 - (세미나) Argo workflows에 대한 소개 및 멘토님의 적용 사례\t2023.07.30\t- 금주의 이슈 탐색 공유 - 본인은 로컬 실행 문제 해결 중임을 언급 - (세미나) 혜민님의 WebRtc, 수녕님의 keyclock과 argo worfklows 연동\t2023.08.13\t- 왕초보 특별반 과제 피드백 받음 - 금주의 이슈 탐색 공유 - (세미나)멘토님의 컨테이너 역사와 원리 특강\t2023.08.20\t- 금주의 이슈 탐색 공유 - 본인은 Issue #11131에 대해 공유 - (세미나) 다혜님의 ‘개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC’\n\n\n\n\n✅ Issue 탐색 및 Issue 생성\nIssue #11131 버그수정[이슈 요약]workflow input parameter 안의 \"가 escape 되지 않아 workflow.parameter.json으로 참조할 때 에러 발생[결과]Argo workflows 상의 문제가 아닌 파이썬 환경의 문제이기 때문에 해당 이슈는 기각Blog : Argo Workflows - Issue #11131\n\n\n\n\nIssue #11706 UI 개선[이슈 요약]\n\n\ncron workflow 탭에서 각 workflow의 history를 확인할 수 있는 UI를 추가했으면 좋겠다는 이슈Blog : Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)[결과]PR #11811 Closes\n\n\n\n\n\n✅ PR open & merge\nPR #11732 문서기여 PR Merge[PR 요약]Argo Workflows 공식문서에서 Artifact Visualization에 존재하는 이미지가 유뷰트 영상 링크임을 잘 보여줄 수 있게 이미지를 수정하는 PR\n\n[결과]Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md\n\n\n위와 같이 이미지 가운데에 유튜브 재생 버튼을 추가한 이미지로 대체\n\n\nmerge 완료\n\n\n\n\nPR #11811 UI개선 PR Open[PR 요약]Issue #11706 을 해결하고자 한 PR\n\n\ncron workflows page에서 특정 cron-workflow를 클릭했을 때 실행된 cron-workflow를 확인할 수 있게 수정\n\n\n실행된 cron-workflow를 찾을 수 없는 경우 위와 같은 안내 사항을 표시[결과]Merge 완료","-참가-후기-14#🌵 참가 후기":"후기\n사실 DevOps, 인프라 분야가 크게 와 닿지 않고 많이 생소한 분야였는데 Argo Workflows 프로젝트를 통해서 해당 분야에 대해 이전보다 좀 더 친숙해진 느낌을 받습니다.\nDocker, Container 등의 개념들을 이론적으로만 접하다가 직접 실습을 통해 익히고, 또 해당 개념들 이외에 새롭게 알게 된 것들(wsl의 존재..!)이 생기고 본인이 스스로 잘 모르고 지나쳤던 개념들(리눅스의 접근 권한, 네트워크 )도 다시 돌아보게 된 계기가 되었습니다.\n또한 처음으로 이슈를 생성해보는 성장을 하게 되었습니다. 이슈를 작성하는데 막연한 두려움을 갖고 있었는데 직접 작성하면서 해당 두려움을 부수게 되었습니다.\n그리고 기여를 할 수 있는 여러 방법이 있는데 내가 기여할 수 있는 부분을 하나씩 시도하는 것이 중요하다고 느꼈습니다. 처음에는 개인적인 욕심+해결하면서 배운다는 생각으로 인해 내가 잘 공감하지 못하는 이슈들 위주로 찾았는데, 이슈의 난이도와 상관없이 내가 직접 공감하는 이슈를 해결하면서 해당 레포에 대해 이해해야 함을 많이 깨달았던 시간이었습니다.\n앞으로도 오픈소스 기여하는데에 즐길 수 있겠다는 기대를 갖게 됩니다!\n\n\n계획\n\n\n- 1단계\n: Argo Workflows에 대해서 적응하고 직접 알아가는 시간 / 간단한 기여\n: Repo의 TODO를 통해 문서 기여\n: UI 위주 개선\n\n- 2단계\n: template,backend 위주 기여\n\n- 3단계\n: 해결 하면 좋은 이슈 작성 후 기여\n오픈소스 컨트리뷰션이 끝나도 멘토님께서도 정기적으로 모임을 계속 유지할 계획이시고 스스로도 이번 학기에는 Argo Workflows 레포에 적어도 한 달에 1개의 이슈라도 기여하겠다는 목표를 갖고 있습니다.","-기여-요약-13#🌵 기여 요약":"","15-정성락#15. 정성락":"","-개인-성과-보고-14#🌿 개인 성과 보고":"접기/펼치기\n\ngit/github 사용법 익히기\nissue: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11\npr: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15\n요약: opensource 생태계에서 code 형상 관리 핵심인 git/github와 친해지기 위한 작업\n상세내용:\nopensource의 상당수들은 git과 github를 이용해 협업을 하고 있습니다.\n그렇기에 opensource에 기여하기 위해서는 필연적으로 git/github와 친해져야합니다.\ngit/github를 사용 issue 발행, commit 규칙 준수, pr 생성등 다양한것들을 직접해보는 활동이었습니다.\n\n\n\n\nfeat: logging for client-side throttlingissue: #11387, #11402\npr: #11437\n요약: user가 특정 옵션을 잘못 설정한 경우 더 빠르게 파악 할 수 있도록 수정\n상세내용:\nkubernetes와의 통신을 위해 client-go라는 라이브러리를 사용합니다.\n해당 라이브러리에서는 request limit을 위해 --qps, —burst옵션을 제공합니다.\n이 옵션을 매우 낮게 설정한 경우 throttling이 발생하게 됩니다.\n그렇기에 사용자에게 좀 더 빠르게 알려주기 위해 별도의 log level 을 부여하게 되었습니다.\n해당 이슈를 해결하는 과정에서 client-go에 대해 많이 학습하게 되었습니다.\n특히 제일 유익했던 부분은 RoundTrip이었습니다.\ngolang에서 제공하는 http request interface를 지키는 모든 객체에 대해 RoundTrip 을 이용해 미들웨어를 추가 할 수 있다는것을 배웠을땐 정말 충격이었습니다.\n\n\n\n\ngo 1.21 upgradeissue: #11566\npr: #11601\n요약: golang 1.21 ver release에 따른 version upgrade 진행\n상세내용:\n리드멘티로서 이슈를 제가 해결하는것보단 아직 기여하지 못한 팀원이 시도해보면 좋을거라고 판단했습니다.\n\n해당 이슈를 팀원에게 공유했고, 팀원이 성공적으로 이슈를 해결 할 수 있도록 서포트 하게 되었습니다.\n주 1회 정기적인 모임에서 해당 이슈의 접근 방법을 공유하였습니다.\n\n평일의 경우엔 slack 채널에서 따로 질문을 받고 답변하는 식으로 모든 팀원이 PR을 제출하는 경험을 얻을 수 있도록 했습니다.\n\n팀원도 PR을 Merge하는 아주 소중한 경험을 얻게 되었습니다.\n\n\n\n\nDebugging 설정요약: 팀원의 argo-workflow debugging setting\n상세내용:\ngolang으로 개발을 처음하는 팀원을 위해 debugging 환경 설정에 어려움이 있었고, 이를 같이 해결하기위해 노력했습니다.\n\n이 과정에서 저 역시 kubernetes와 밀접한 app의 debugging 설정을 잘하지 못한다는것을 깨닫게 되었고,\n해당 부분에 대해 여러 사람들에게 도움을 받아야겠다는 생각을 하게 되었습니다.","-참가-후기-15#🌵 참가 후기":"후기\n13주간의 ossa 참가는 정말이나 즐거운 경험이었습니다.\n3번의 지원 끝에 좋아하는 커뮤니티인 CNCF, 좋아하는 언어인 Golang으로 만들어진 프로젝트에 참여한다는게 정말 행복했습니다.\nossca를 통해 CNCF 산하의 argo-workflow에 참여하면서 작더라도 CNCF의 생태계에 기여 할 수 있다는 것 자체가 저에게는 매우 행복한 시간이었습니다.\n특히 argo-workflow에서 운영하는 제도인 mentoring을 통해, maintainer와 빠르게 의사소통 할 수 있는 점은 beginner에겐 특히나 좋은 경험이라고 생각했습니다.\nargo-workflow의 mentoring 시스템을 통한 피드백으로 빠르게 PR 제출 과 merge를 통해 자신감과 좋은 경험을 얻었고 리드 멘티로서 모든 팀원에게 공유를 하고 싶었습니다.\n오픈소스 기여를 처음 접하는 팀원을 도와주면서 내가 당연히 여기던 부분이 처음 접하는 사람들에겐 얼마나 큰 진입 장벽인지 깨닫게 해주었고, beginner를 어떻게 더 안정적으로 생태계로 유입 시킬 수 있을지 고민을 하는 계기를 얻게 되었습니다.\n오픈소스 기여 활동 뿐만 아니라, Developer, DevOps, SRE 직무를 수행하는 팀원과 각각 직무를 수행하면서 사용하는 다양한 기술, 경험 공유를 통해 시야가 더 넓어지게 되었습니다.\n내년에도 기회가 된다면 꼭 ossa에 참가해 다양한 사람들과 오픈소스 기여 활동을 이어나가고 싶습니다.\n\n\n계획\n이번 argo-workflow 프로젝트에 참여하면서 argo 진영의 프로젝트들에 많은 관심을 가지게 되었습니다.\n프로젝트에 참여하면서 개발자로서 부족한점을 확인 할 수 있었고 이를 개선할 생각입니다.\nossca가 종료 되더라도 CNCF 산하 오픈소스에 대한 기여는 계속 이어 나갈 생각입니다.\nargo-workflow\n부족한 점\nkubernetes operator에 대한 이해가 부족\nfrontend 지식에 대한 부재\n\n\n추후 계획\nargo-workflow의 ui가 다른 argo project에 비해 많이 아쉬운데, 사용자의 피드백을 기반으로 개선을 시도해볼 생각입니다.\narea/artifact와 관련해서 더 다양한 스토리지를 사용할 수 있게 확장을 해보고 싶습니다.\narea/plugin과 관련해 현재 sidecar 형태로만 지원하는데, 외부에서 코드로 구현한 plugin을 더 쉽게 확장 가능하도록 구현할 생각입니다.\ndocument에서 beginner에게 난해한 부분을 고민해보며 개선을 진행하고 싶습니다.\n\n\n\n\n\n\n개인적 성장\n부족한 점\n여러 회사의 멤버들과 대화를 하면서 스스로가 생각하기에 서비스를 개발하고 안정적으로 유지하는 관점이 부족\n지식 전달을 위한 의사소통에 어려움.\n\n\n추후 계획\n전달하고자 하는 지식을 어떻게 정리하고 말해야 하는지 연구 할 생각입니다.\n많은 사람들과 대화하며 생각을 공유하고 타성에 젖지 않게 노력 할 생각입니다.","-기여-요약-14#🌵 기여 요약":"","16-채문영#16. 채문영":"","-개인-성과-보고-15#🌿 개인 성과 보고":"접기/펼치기\n다양한 과제 수행\nGithub Issue/Commit/PR 미션 수행\n대형 오픈소스에 컨트리뷰트하기 위한 깃허브 사용 방법 숙지\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44\n\n\nArgo Workflow Running Locally\nArgo Workflow를 Local 환경에서 실행시키는 과제\nArgo Workflow의 구조, DevContainer, 컨테이너 기반 애플리케이션, Makefile 구조 이해\n\n\n나만의 서비스 컨테이너 이미지 제작\nDocker File 명령어, 레이어 구조, 최적화, 캐싱 등 성능 개선\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/16\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/23\n\n\n\n이슈 분석\n매트릭 이슈 분석\nGithub Reaction이 많은 이슈로 많은 사용자들이 개선을 필요로 하는 이슈 분석\n매트릭 Label의 추가하여, 모니터링 편의성 증대\n\n\n이슈 분석 결과, 해당 내용을 개발했을 때 또 다른 문제를 야기할 수 있다는 것을 발견\n매트릭 Label을 추가할 경우, 많은 양의 메트릭이 수집되어 기존 사용자들에게 많은 양의 메트릭 트래픽이 유입되어 성능 문제가 생길 수 있다.\n\n\n우회하여 해결할 수 있는 방법을 제시하고 소통함\n커스텀 매트릭을 활용할 경우 이슈에서 요구했던 모니터링이 가능함을 확인하여, 우회하여 해결할 수 있는 방법 제시\nhttps://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337\n\n\n\n\n추후 개선을 위해 남겨놓은 주석에 모호한 부분이 있어 문의\nhttps://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745\n\n\n이슈 해커톤으로 이슈 분석\n\n컨트리뷰트\n(리팩토링) 잘못된 함수 이름, 변수명 등 수정\n다른 개발자에게 혼란을 야기할 수 있는 부분을 수정했음\nhttps://github.com/argoproj/argo-workflows/pull/11604\nhttps://github.com/argoproj/argo-workflows/pull/11633\nhttps://github.com/argoproj/argo-workflows/pull/11687","-참가-후기-16#🌵 참가 후기":"대형 오픈소스 커뮤니티에 기여하고 싶었으나, 막막함이 컸다. 이번 아카데미를 통해 직접 기여할 수 있어 좋았다. 기여 경험이 많은 멘티님이 기여할 수 있도록 단계별로 안내해주고,\n도전할 수 있게끔 유도해주어서 가능했다. 다른 개발자와 기술 세미나를 하고 기술 교류를 하며, 상호 성장할 수 있었다. ArgoWorkflow는 큰 규모의 프로젝트이기 때문에 혼자 분석하면\n어려운 부분이 많은데, 다른 개발자와 의견을 나누어 좀 더 빠르게 문제를 해결할 수 있었다. ArgoWorkflow 프로젝트를 어느 정도 이해했고, 작은 컨트리뷰트 경험을 통해 자신감이\n생겼기 때문에 다음 기여는 더 쉽게 할 수 있으리라 기대된다. 이번 프로그램이 끝난 후에도 ArgoWorkflow에 관심이 많은 다른 멘티들과 서로 협업하며 더 큰 규모의 기여를 할 계획이다.","-기여-요약-15#🌵 기여 요약":"","17-최수녕#17. 최수녕":"","-개인-성과-보고-16#🌿 개인 성과 보고":"접기/펼치기\n1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)Issue #11344\nPR #11662\n이슈 분석\n이 이슈를 이해하기 위해서는 먼저 Default Workflows가 무엇인지를 알아야 했습니다.argo workflows controller configmap에 workflowDefaults 라는 필드는 넣어 워크플로에 대한 기본값을 설정할 수 있으며, 워크플로에 이미 해당 필드값이 있을 경우에는 워크플로 값이 우선된다는 것을 알게되었습니다.예를 들어 configmap을 다음과 같이 설정한 뒤에 Workflows를 생성하면\n# This file describes the config settings available in the workflow controller configmap\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: workflow-controller-configmap\ndata:\n# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level\nworkflowDefaults: |\nmetadata:\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5\nparallelism: 3\n자동으로 workflowDefaults 필드에 설정해준 대로 Workflows가 아래와 같이 생성됩니다.\napiVersion: argoproj.io/v1alpha1\nkind: Workflow\nmetadata:\ngenerateName: gc-ttl-\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5 # Time to live after workflow is successful\nparallelism: 3\n해당 이슈는 workflowDefaults에 volumeClaimTemplates 값을 넣으면, CronWorflows/Workflows 생성 시 에러가 발생한다는 이슈였습니다.does not contain declared merge key: name 라는 에러메세지가 발생하는 것을 확인했습니다.코드를 확인해보니 StrategicMergePatch 함수에서 에러가 발생했고 이는 쿠버네티스의 patch 전략과 관계가 있었습니다.\nVolumeClaimTemplates []apiv1.PersistentVolumeClaim `json:\"volumeClaimTemplates,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"name\" protobuf:\"bytes,6,opt,name=volumeClaimTemplates\"`\nWorkflows에서 정의되어있는 타입인 VolumeClaimTemplates는 patchMergeKey로 name을 사용하도록 정의되어있었습니다.그러나 아래 PersistentVolumeClaim타입을 확인해보면 name은 존재하지 않습니다. 즉, 구조체에 정의되어있지 않은 값을 patchMergeKey로 정의해두어서 발생하는 문제였습니다.\ntype PersistentVolumeClaim struct {\nmetav1.TypeMeta `json:\",inline\"`\n// Standard object's metadata.\n// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n// +optional\nmetav1.ObjectMeta `json:\"metadata,omitempty\" protobuf:\"bytes,1,opt,name=metadata\"`\n\n// spec defines the desired characteristics of a volume requested by a pod author.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nSpec PersistentVolumeClaimSpec `json:\"spec,omitempty\" protobuf:\"bytes,2,opt,name=spec\"`\n\n// status represents the current information/status of a persistent volume claim.\n// Read-only.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nStatus PersistentVolumeClaimStatus `json:\"status,omitempty\" protobuf:\"bytes,3,opt,name=status\"`\n}\n\n이슈 해결\nVolumeClaimTemplates에서 patchMergeKey를 제거하도록 해당 이슈를 수정하였습니다.그러나 VolumeClaimTemplates에 patchMergeKey가 붙은 이유는 Volume과 같은 컨벤션을 사용하고 있어서 였습니다.해당 이슈는 이처럼 정책과 관련되어있기 때문에 더 많은 의논이 필요한 상황입니다.ArgoWorkflows 프로젝트에 처음으로 올린 PR이었고 꽤나 많은 사람들이 불편해하고 있는 이슈의 원인을 찾아낼 수 있어서 기뻤습니다.2. Search by name for WorkflowTemplates in UIIssue #11004\nPR #11684\n이슈 분석\n이번 이슈는 3명으로 팀을 짜서 작업을 진행했습니다.\n\nWorkflowTemplates는 '이름'을 기준으로 검색하는 기능이 존재하지 않아 특정 WorkflowTemplates을 찾기 위해서는 label을 기준으로만 찾을 수 있었습니다.그래서 많은 사용자들은 불편함을 느끼고 있었으며 '이름'을 기준으로 찾을 수 있는 기능을 제공해줬으면 좋겠다는 '기능 개선' 관련 이슈였습니다.\n이슈 해결\n\n\n쿠버네티스 API를 통해 조회된 WorkflowTemplates의 결과를 '이름'을 기준으로 필터링하는 로직을 추가적으로 넣어 해당 기능을 구현하였습니다.그러나 한가지 이슈가 존재했습니다.기존 페이지네이션은 쿠버네티스 자체 continue 값을 이용해 구현되어있어서 쿠버네티스 결과를 이처럼 커스텀하게 조작할 경우 쿠버네티스 페이지네이션을 사용할 수 없었습니다.이를 어떻게 해결해야 할까 고민이 많았지만 쿠버네티스의 resourceVersion을 이용하여 커서 페이지네이션을 하도록 구현하는 로직을 적용함으로써 해당 문제를 해결하였습니다.혼자가 아니라 여럿이 의논하며 할 수 있어서 너무 재미있었습니다.또한 ArgoWorkflows 프로젝트에 정말 필요한 기능을 제공했다고 생각하여 기분이 좋았습니다.3. A problem that is not initialized when changing the number of page limitsIssue #11702\nPR #11703\n이슈 분석\nSearch by name for WorkflowTemplates in UI 이슈를 해결하면서 새로운 페이지네이션 버그를 발견하였습니다.페이지 갯수를 변경할 때 페이지네이션을 위해 사용하는 continue 값을 UI에서 초기화 시켜주지 않아서 데이터가 제대로 보이지 않는 문제였습니다.\n이슈 해결\nUI 코드에서 페이지 갯수 변경이 감지될 때 offset을 초기화 하도록 간단하게 로직을 수정하여 문제를 해결할 수 있었습니다.단 한줄의 코드 수정이었으나 이 한 줄로 인해 꽤나 불편함을 주었던 문제를 해결할 수 있었습니다.4. Pagination may not work correctly for archived workflows\n이슈 분석\nIssue #11715\nPR #11761Maintainer @terrytangyuan 님께서 직접 Slack으로 연락을 주신 이슈입니다.\n\n\n\n\n좋아하는 연예인에게 연락받은 기분이라 너무 기분이 좋아서 날아갈 뻔 했습니다. 기쁘고 들뜨는 마음을 누르고 이슈를 분석해보았습니다.Workflows와 ArchivedWorkflows가 이전에는 다른 페이지로 분리되어있었지만 master 버전부터 Workflows와 ArchivedWorkflows를 하나의 페이지로 합치고 ArchivedWorkflows가 존재한다면 같이 보여주도록 로직이 수정되었습니다.그러나 Workflows와 ArchivedWorkflows가 하나로 합쳐지면서 페이지네이션에서 문제가 발생했습니다.두 개의 리소스는 서로 전혀 다른 페이지네이션을 사용하도 있었습니다. Workflows는 쿠버네티스 자체 페이지네이션인 continue값을 사용하고 있었고, ArchivedWorkflows는 자체적으로 데이터베이스를 사용하기 때문에 데이터베이스를 이용하여 offset 방식으로 페이지네이션을 하고 있었습니다.그러나 ArchivedWorkflows에 Workflows에서 사용하는 continue값을 그대로 전달하면서 ArchivedWorkflows가 아예 조회되지 않는 문제가 발생했습니다.\n이슈 해결\nSearch by name for WorkflowTemplates in UI 이슈를 해결하면서 구현했던 페이지네이션 로직을 참고하여 해당 이슈를 해결할 수 있었습니다.두 리소스는 다른 방법의 페이지네이션을 사용할 수 밖에 없기 때문에 두 개의 리소스를 합치기 전에 페이지네이션을 사용하는 것이 아닌, 일단 전체 리소스를 조회하여 두 리소스를 합친 후에 마지막으로 페이지네이션 로직을 적용하는 방법을 사용하였습니다.ArchivedWorkflows가 조회되지 않는 문제를 해결할 수 있었으나 페이지를 변경할 때마다 전체 리스트를 가져와 합치기까지 하는 것이 성능상 걱정이 되는 부분이라 성능 테스트를 할 수 있는 방법을 고민해볼 생각입니다.성능테스트를 해본 뒤 아니다싶으면 프론트에서 페이지네이션을 하는 방식으로 변경해볼 생각입니다.크리티컬한 이슈를 해결할 수 있어서 너무 좋았고 ArgoWorkflows 프로젝트에 컨트리뷰터로써 제대로 기여를 하고 있다는 생각이 들어 뿌듯하고 재밌었습니다.5. Relocation of Commit Guidelines Information in the DocumentationIssue #11700\nPR #11701\n이슈 분석\nArgoWorkflows 프로젝트에는 컨트리뷰션을 시도하는 개발자들을 위한 리드미 문서가 있습니다.하지만 그곳에는 커밋에 관한 가이드라인이 따로 언급되어있지 않습니다.GeunSam2 멘토님께서 본인이 처음 기여를 시도하려고 했을 때 커밋에 대한 가이드라인을 찾는데 너무 오래 걸려서 불편했다고 말해주셨습니다.\n이슈 해결\n\n\n이 불편사항을 들은 후 컨트리뷰션 리드미에 커밋에 대한 가이드라인의 링크를 걸어주도록 수정함으로써 ArgoWorkflows에 기여하고자 하는 개발자들이 편하게 기여할 수 있도록 하였습니다.이 PR에서는 메인테이너가 코드 제안을 해주었는데 코드 제안 기능을 처음 접해보아서 흥미롭고 재밌었습니다.","-참가-후기-17#🌵 참가 후기":"이번년도에 가장 잘 한 일이 무엇인지 묻는다면, 아무 망설임도 없이 ArgoWorkflows 프로젝트 컨트리뷰션 활동에 참여한 것이라고 이야기 할 것입니다.같은 분야에 있는 다양한 개발자들을 만나서 서로 공감대를 형성하며 이야기하는 것이 너무 좋았고 다양한 회사에 대한 이야기를 듣는것이 참 재밌었습니다.매주 모임마다 그저 모각코를 하는 것이 아니라 멘티들과 멘토님이 매번 좋은 세미나를 진행해주셔서 매주 일요일이 참 즐겁고 시간이 빨리갔습니다.또한 너무 능력있는 멘토님을 만나 평소에 주니어 개발자로서 고민되었던 부분, 앞으로의 방향성, 개발자로서 잘 공부하는 방법에 대한 조언들을 들을 수 있어서 행복했습니다.평소 컨트리뷰션에 도전해보고싶었지만, 이런 큰 프로젝트에 어떻게 기여를 하나 두려워서 시도하지 않았던 부분들을 이렇게 좋은 멘티들과 멘토님과 같이 부딪혀보니 두려움이 사라졌습니다.많은 PR을 올려보면서 메인테이너들과 소통하는 것도 너무 재미있었고 실제 나의 코드가 반영되는 것을 지켜보는게 정말 뿌듯했습니다.이번 경험으로 인해 ArgoWorkflows 뿐만 아니라 다른 프로젝트에도 충분히 기여할 수 있겠다는 자신감이 생겼습니다.이 기간이 끝난다고 컨트리뷰션을 멈출 생각은 없습니다. 앞으로도 ArgoWorkflows를 꾸준히 보면서 기여하고 싶은 부분에 기여할 생각입니다. 또한 ArgoWorkflows 뿐만 아니라 회사에서 사용하는 Kubernetes나 Argo CD 프로젝트에도 기여해보고 싶어서 도전해볼 생각입니다.","-기여-요약-16#🌵 기여 요약":""}},"/2023/activites/weeklyMeets/230715":{"title":"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 07월 15일 일요일\n장소 : OpenUP (Creative Ground)","️-참석자#☑️ 참석자":"염근철, 강병선, 권영길, 김수빈, 김원식, 김학준, 박진수, 서청운, 송혜민, 안다혜, 안지완, 유윤우, 이병곤, 이의주, 전의정, 정성락, 조국희, 채문영, 최수녕","️-회의-내용#☑️ 회의 내용":"당근마켓에서 ArgoWorkflows 도입한 사례 발표\n개발환경 세팅 방법 공유\n멘토 멘티 1on1 상담 진행","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230723":{"title":"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 07월 23일 일요일\n장소 : 무신사 회의실","️-참석자#☑️ 참석자":"염근철, 강병선, 강시온, 권영길, 박진수, 송혜민, 안다혜, 정성락, 최수녕","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230730":{"title":"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 07월 30일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 송혜민, 전의정, 정성락, 박진수, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n실시간 통신을 위한 WebRtc의 개념 및 활용사례 발표(송혜민)\nArgo Workflows와 keyclock 연동방법 발표(최수녕)\n챌린지스 수료 기념 회식","️-기념사진#☑️ 기념사진":""}},"/2023/activites/reports/finalReportEn":{"title":"Finalreporten","data":{"":"","tltr#TL;TR":"Go to see Contributions Summary","️-who-we-are#☑️ Who We Are":"The ArgoWorkflows OSS 2023team have 18 member. (1 Mentor, 17 Mentees)Our Team met for participant to Open Source Contribution Academy.A competition for junior developers with the theme How can I contribute well to open source?This event is a competition where some mentors and about 20 mentees are paired up and the goal is to contribute together and achieve results for four months.We participated in this event on the open source topic of ArgoWorkflows.Most of us were afraid to even use git at first. but we made succeeded in making various contributions over the past three months.Let me introduce our achievements.","️-what-is-argoworkflows#☑️ What is ArgoWorkflows":"Before the achievements introduction, Lets know about what is ArgoWorkflows.\n\nArgo Workflows is a container-based workflow engine, an open source project that can run parallel jobs on Kubernetes.\nEach workflow step is defined as a container, and multi-step workflows can be modeled as a series of jobs, or dependencies between tasks can be executed using a Directed Acyclic Graph (DAG).In other words, Argo Workflows makes it faster and easier to simple workflows tasks, as well as complex tasks for machine learning or data processing, on Kubernetes.\n\nArgo Workflows is a graduated project of the Cloud Native Computing Foundation (CNCF).To become a graduated project, it must pass all tests conducted by the CNCF to meet their rigorous standards.\nBeing recognized as a graduated project means that Argo meets the highest standards for clear governance and committer processes, healthy growth, and security and compliance adherence.\nSince the rigorous standards, only about 13% of projects registered with the CNCF succeed in graduating.In fact, it took about 5 years for the Argo project to be recognized as a graduated project, with over 7,000 contributors, over 11,000 PRs, and over 370,000 contributions.Moreover, the Argo project is a very active and up-to-date open source, with over 2300 companies contributing to the code and over 8300 people contributing to the code.Argo Workflows is recognized as the most representative workflow engine in the cloud native community.Many companies around the world officially have introduced and used Argo Workflows. This is means that Argo Workflows can solve issues with workload in big companies.The following major companies are using Argo Workflows.\n\n... and over 200 other global companiesSome alternative tools to Argo Workflows include Apache Airflow, Tekton, and Prefect.Argo Workflows is a Kubernetes-native engine that makes it easy to orchestrate container-based workflows and manage resources.\nApache Airflow, similiar but different to Argo Workflows, is a standalone application and does not inherently utilize the capabilities of Kubernetes.\nAs a result, Airflow can more difficult to resource management and scalability than Argo Workflows.Also, Argo Workflows can perform a various of tasks such as CI/CD as well as data pipelines because it runs each workflow step as an independent container.\nThis is possible due to use the power of Container and Kubernetes, than it can run anything without restrictions.","️-key-accomplishments#☑️ Key Accomplishments":"","uiux-improvements#UI/UX improvements":"The Argo Workflows project is actively contributing to UI/UX improvement as the main topic for contribution.As proof of this, you can also check the dashboard for UI/UX improvement tracking.\n\nOur team has also made many UI improvements along these project goals.\nKey improvements for UI/UX\n\nSearch by name for WorkflowTemplates in UI\nshow history about completed runs in each cron workflow\nImprovements to DataPciker\nUI toolbar sticky\n... and Various other bug fixes","improving-core-functionality#Improving core functionality":"As contributions accumulate, our understanding of the project increased and we got more confidence.\nWe were increasingly able to contribute not only UI/UX improvements, but also the core functionality of the workflow engine.What’s new in Argo Workflows v3.5The core logic of the workflow engine is install as a CRD in Kubernetes and has a significant impact on the behavior and performance of a Kubernetes cluster.\nSo, Contributing to workflow engine is quite difficult.because it requires a high level of implementation and active participation in testing and policy discussions with maintainers.It was challenge for us, but our team was able to make key contributions to the Argo Workflows 3.5 release. Also We were mentioned to the Argo official blog by contributing very important features to Template Spec, Authentication, and Controller.\n\nEven after the release of Argo Workflows 3.5, we made many contributions such as CI and test environments for DX improvements, new features in the Nix, Controller, and Template specifications, updating GoLang version.\nWith more contributions, We are making progress in making Argo workflows a much better tool in next release.","close-communication-with-the-maintainer-group#Close communication with the maintainer group":"Our team was very fortunate that the Argo Workflows project got a new leader in May of this year, Yuan Tang, and the breath of contributions across the project really accelerated.Normally, in a large project like this, it would take quite a long time for reviews making it difficult to a lot of contributions.\nHowever, Thanks to the talented project head and his team, all of the ArgoWorkflows team members who participated in this competition learned a lot, experienced a lot,\nand grew through a lot of contributions in a short time.\n\nOpportunities for contributions existed outside Issue and PR pages.We were able to have the valuable experience of being in open source project, such as deciding on a policy for processing logic in the project to resolve issues and experiencing being assigned and working on other related issues.Now, We introduce our contributions during the project.","️-contribution-academy-progress-and-activity-details#☑️ Contribution Academy progress and activity details":"","from-not-knowing-anything-about-git-to-becoming-an-open-source-contributor#From not knowing anything about Git to becoming an open source contributor":"Of the 17 Masters stage participants, 12 of our team were made up of members who had no experience in proper collaboration/code review through GIT.As it is a CRD that runs on Kubernetes as an engine, it is a project that requires a high level of understanding of Kubernetes, but there were only 4 members with proper experience using Kubernetes.At first, I had no idea how to start and was at a loss, but as a result of practicing Git with a mentor and performing various tasks and studying in the practice REPO to become familiar with containers and Kubernetes, I gradually became familiar with the tool called Argo Workflows. It has begun.As a result, at the time of writing this report, we had the enjoyable experience of creating PRs for all 17 Masters stage participants.\n\n\nSummary of contribution activities\nAdditionally, contribution activities, which I had not been able to actively do at first because I was busy familiarizing myself with the tool and acquiring background knowledge, accelerated over time.In the end, the members' skills are growing so quickly that in September, in just the first week, they were able to match the number of PRs that were close to the PRs contributed during the previous month.\n\n\nMonthly Activity Graph\nIntroducing the various activities our team has performed to achieve the current contribution activities.","repository-creation-and-contribution-activities-to-practice-using-git#Repository creation and contribution activities to practice using Git":"Repository address: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io\n\nGoal: Update member profile of issue template Select issue and create first PR according to issue content.\n\n\n\n- Goal Details\n- Edit/add the two files below to create a PR that updates user information.\n- `docs/users/users.md`\n- `docs/users/[name].md`\n- [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)\nTo raise PR and merge, please refer to the points below.\n- Since you do not have permission to create or push branches in the repo, you must fork and then work on it.\n- Please refer to [PR’s Naming Convention](https://flank.github.io/flank/pr_titles/).\n- [DCO](https://github.com/apps/dco) Please commit by referring to the conditions for passing the bot's check.\n- Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit.\n- It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)","operation-of-a-special-class-on-container-basics#Operation of a special class on container basics":"Page address: https://github.com/ArgoWorkflows-OSS/container-playground\n\nGoal: Create your own service and configure CI for containerization\n\n\n\n\n\n- Goal Details\nCreate your own web service and write a Docker file that can be containerized.\nTo pass the assignment, please be sure to follow the instructions below.\n\n- Directory and file placement\n\n- When developing a personal service, be sure to create your own GitHub account directory and write code under it.\n- `Dockerfile` must be located at the top level of your directory. (If this condition is not met, CI may fail.)\n- You can freely create other files under your own directory except for the location of `Dockerfile`.\n- However, the image must be built successfully when you run the `docker build -t [image name] .` command at the top level of your directory.\n\n- Behavior of built images\n\n- Personal web service must operate on port 8080.\n- The built image must be serviced without problems when the `docker run -d -p [forwarding port number]:8080 [image name]` command is executed without any additional parameters.\n\n- Web service development language and service structure\n- It doesn’t matter which language or framework you prefer.\n- It doesn’t matter if you create a simple API service with no UI or design.\n- However, you must create two required APIs. (I don't care about the response value.)\n1. /api/v1/[your github account]\n2. /healthcheck\n- (Optional) It is better to optimize the Docker image. ([Reference](https://thearchivelog.dev/article/optimize-docker-image/))\n- [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)","opening-and-conducting-an-issue-hackathon-within-the-team#Opening and conducting an issue hackathon within the team":"Intra-team hackathon to designate issues and solve each group issue within a period of time","join-to-contributor--community-meetings#Join to Contributor / Community meetings":"","argo-workflows-oss-team-page-creation-and-operation#Argo Workflows OSS team page creation and operation":"Page address: https://argoworkflows-oss.github.io/\n\nProduction framework: nextra","conduct-offline-meeting-activities-at-least-once-a-week#Conduct offline meeting activities at least once a week":"Regular meeting activities\n\nWe selected every Sunday as a regular offline meeting date and conducted regular meeting activities.\nWe conducted various communication activities such as exploring issues to be resolved through group activities, sharing our own experience in resolving issues, and discussing errors that occurred during the process.\nDetailed information about offline regular meetings can be found through the link here.\n\n\n\n\nPresentation activity on topics of interest\n\nDuring offline meetings, I gave presentations on topics of interest to me.\nTopic of interest presentation topic and presenter\norder\tTitle\tPresenter\tAnnouncement date\t1\tCase study of Argo Workflows adoption at Carrot Market\tYeom Geun-cheol\tJuly 15\t2\tWebRtc concept and use cases for real-time communication\tSong Hye-min\tJuly 30\t3\tHow to link Argo Workflows and Keyclock\tSoon yeong-Choi\tJuly 30\t4\tImplementing CI/CD with Argo Project\tHak jun-Kim\tAugust 6\t5\tPresentation of eBPF concept, filter development method, and use cases\tSeong rak-Jeong\tAugust 6\t6\tHistory of containers and creating containers without Docker\tYeom Geun-cheol\tAugust 13\t7\tPlatform builder that allows developers to load test themselves & K6 load test PoC announcement\tAh Da-hye\tAugust 20\t8\tConsiderations on the container ecosystem\tYeom Geun-cheol\tAugust 27\t9\tGithub Actions Installing and operating self-hosted in Kubernetes\tCheong woon-Seo\tSeptember 2nd\n\n\n\n\n\nGathering together and coding individually\n\nWe gathered together irregularly and did our own coding.\nWe conducted technical exchanges, including analyzing the structure and issues of ArgoWorkflow.","️-participant-contribution-details#☑️ Participant contribution details":"","0-geuncheol-yeommentor#0. GeunCheol Yeom(Mentor)":"","-participation-review#🌵 Participation Review":"I met ArgoWorkflows last year, and many things changedI participated as a mentor at this event, but I feel like I'm the one learning and getting more out of it.I would like to sincerely thank the mentees who participated in the event and did their best until the end, and I hope that we can continue to be colleagues in open source activities together.During the event, I was able to think about the culture of the open source ecosystem once again, and I was able to study various techniques for utilizing Git that I thought I knew in the CI environment.I feel more passionate about the ArgoWorkflows project, and I'm not sure what opportunities there will be in the future, but I'd like to contribute to more diverse areas.","1-byeongsun-gang#1. ByeongSun Gang":"","-personal-activity-report#🌿 Personal Activity Report":"Collapse/Expand\n\nPersonal achievements\nDocumentation contribution #11762 Remove helm installation guide and Add helm documentation link\nWe need to install helm for MinIO configuration, but the helm installation guide only shows the configuration related to mac, so we fixed it to access the helm official documentation.\n\n\nDocumentation contribution #11735 Add installation option description\nWe added a detailed description of the managed namespace option.\nI learned from a maintainer that there is a Documentation convention for Kubernetes here.\n\n\nContribution Preparation Courses and Activities\nLearn the basics of Github\nMy mentor gave me an assignment to update my profile. I familiarized myself with the concepts of GPG and DCObot to become more familiar with github.\n\n\n\n\n\nDocker Beginner Special Class\nWe had an activity to create a docker image using Dockerfile. I learned the concepts by reading the materials organized by my mentor.\nIn addition, when creating the image, I tried to apply multi stage build to include only the features needed for execution.\n\n\n\n\n\n\nAfter the lab, my mentor walked me through Overlay FS one by one, showing me how the images are created. This was really informative...\n\n\nLearning the basics of Kubernetes\nBefore contributing, I took the time to study the basics of Kubernetes.\n개인 공부자료\n\n\n\n\nArgo workflows\ntemplate and self-study.\nMentee Hakjun showed me the pipeline for deploying on GCP using ArgoCD and Argo Workflows.\n\n\n\n\nParticipation in OSS meetup activities\nMentors and mentees gave presentations on various topics. It was a good time to hear what problems they are facing in the real world besides contributing and how they solved them.\n\n\nParticipating in the hackathon\nMentee Sungrak helped me a lot. He shared the issues he thought were okay and always encouraged me to challenge myself.\n\n\n\nHe recommended the issue #11609 Compile expr in config, so I tried it.\nI spent some time analyzing the issue by teaching myself Golang.\nIt was a good time to become more familiar with golang.","-participation-review-1#🌵 Participation Review":"Participant Review\nAs a junior developer, this activity is not just for contributing, it's a great way to see what developers are thinking about and how they grow.\nI got so much help and I'm always grateful. It was a great time to meet so many nice people.\nI'm glad I took the first step in getting acquainted with containers.\n\n\nFuture plans.\nI will continue to be interested in and contribute to all open source projects that I use in my development.\nI will apply Argo workflows to real projects and find ways to contribute more!","-personal-summary#🌵 Personal Summary":"","2-sion-kang#2. SiOn Kang":"","-personal-activity-report-1#🌿 Personal Activity Report":"Collapse/Expand\n\n1 issue, 3 PRs\nModified GitHub Actions log name to improve readability\nhttps://github.com/argoproj/argo-workflows/pull/11670\nAmong the steps performed in publish-release, Run actions/cache@v3 is performed a total of three times.\nEach person has a different role, but the same name is used, so the part where it may feel like the same task is being done three times has been changed to a name that fits each role.\n\n\nDelete cache logic that does not require GitHub Actions\nhttps://github.com/argoproj/argo-workflows/pull/11754\nFixed an error that occurred due to overlapping cache because caching is performed by default unless the cache option is set to false in setup-go actions.\n\n\nUpgrade all checkout@v3 that uses the deprecated NodeJS 16 version to checkout@v4.\nhttps://github.com/argoproj/argo-workflows/pull/11782\nSince NodeJS will soon end its security support, changes have been made to use actions using the latest version.","-participation-review-2#🌵 Participation Review":"I enjoyed last year's experience so much that I decided to participate again this year, but this year was a great experience again with a different feel from last year.\nThanks to all the passionate team members and active projects, I was able to maintain interest in the project without losing tension, and I am very happy that I have a colleague with whom I can share not only the project but also related stories.","-personal-summary-1#🌵 Personal Summary":"","3-younggil-kwon#3. YoungGil Kwon":"","-personal-activity-report-2#🌿 Personal Activity Report":"Collapse/Expand\n[Project Contributions]\n'Bug modification' Argo Workflow Datpicker improvement (completed)\n\nImprove the ui of datepick, one of the filter functions of the workflow list page\n\n\n\nIssue LinkUI: Datepicker Style Malfunction Issue · Issue #11476 · argoproj/argo-workflowsPR Linkfix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd · Pull Request #11480 · argoproj/argo-workflows\n'Bug modification' Cronworkflow's State filter initial value setting (completed)\n\nFixed a bug where the status filter in the cronworkflow is rendered regardless of the initial value\n\nIssue Linkui: Cron workflow initial filter value · Issue #11685 · argoproj/argo-workflowsPR Linkhttps://github.com/argoproj/argo-workflows/pull/11686\n'Fix the bug' Remove webpack-related alerts from the initial page (in progress)\n\nTo remove web pack monitoring that occurs when loading argo workflow uiCurrently testing the dependence and functionality of the associated libraries\n\n\n'Improvement' Improvement of login page (in progress)\n\nIssues that improve the existing login page in Argo Workflow in the same form as the Argo CDWe will analyze the login capabilities provided by current workflow and apply new designs and designs afterwardsIssue LinkSimilar login page to Argo CD · Issue #10816 · argoproj/argo-workflows[Project Activity History]7.8 Opening Ceremony (Project Introduction and Self-Introduction)\nOpening ceremony\n\n\n\nTime for self-introduction using nicknames\nA rough introduction to the project\na majority vote for the rules of gathering activity\nThe next meeting activity will be held from 1 p.m. on Saturday (07/15) unlike the regular schedule, depending on the majority vote of the participants at the opening ceremony. The planned activity topic is:\nTime to review or talk about *common activities** for the next week\nTime to communicate about topics of interest\nYou can also set up the development environment according to your progress. (Optional)\n(Common activities will be organized and shared within tomorrow's work hours.)\n\n\n\n7.15 First Meeting (Introduction to Development Environment Settings and Workflow Features)\nOpen Up to the First Meeting\nDevelopment Environment Settings (dev-container)\nPlayground Mission (DCO Bot Check Passed, Commit Using GPG, Commit Message Convention)\nI created a playground before I immediately challenged a real open-source project. The first goal is to do issues/PR/commitments, etc., from an outsider's perspective on the project in this Playground.\nIt's simple, but there may be unexpected gateways for the first time, so please focus. If we resolve the first issue early, we will give you additional instructions. Haha\n저장소: https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS\nObjective: Select member profile update issue in issue template and generate first PR according to issue content.\n\n\n\n7.23 Second meeting (share issues of interest)\nGathering at Seongsu to conduct the second meeting (provided by Musinsa-Andahye Mentee)\nIntroduce issues of interest, share issues with each other\n\n\n\n\n8.6 Fourth meetingPresentation activities\nargo event와 workflow, cd연동\neBpf\n\n\n\n8.13 Fifth MeetingPresentation activities\nwebRTC\n\n\n\n8.20 6th Meetingpresentation activityEast\nPlatform builder & K6 load test PoC for developers to load test themselves\n\n\n\n[Project Activities]\n[Learning to contribute]\nKubernetes Architecture Lecture - YouTube link\nKubernetes Resources Lecture - YouTube link\nGo Playground - https://go.dev/play/\n\n\nLearnings and impressions\nI realized that domain knowledge in the field is important to contribute to the project.\nI wanted to simply contribute to web services, but it was not easy to set up the environment due to lack of knowledge about Kubernetes.\nI learned that big open source projects use things like DCO/GPG, and I was able to learn how open source projects are managed and operated.\n\n\nIssues and PR details","-participation-review-3#🌵 Participation Review":"For me, the idea of contributing to open source brings up a lot of mixed feelings.\nContributing to open source with other developers and experiencing the sharing and collaborative culture of open source is a great joy and reward for developers.\nHowever, the uncertainty and fear that I had experienced when contributing several times before was a big barrier that made me hesitate to try again.\nWhen I decided to participate for the third time, I said to myself, \"Excuses like \"I'm a student, I don't know enough, I'm busy preparing for a job, etc.\" don't work anymore. I must succeed this time'.\nI can still remember the promise I made to myself when I started, which made it all the more overwhelming and exciting.\nWhen I was applying for projects, I had to decide whether I wanted to work on something I knew or something new. I applied for a project related to devops, a field I hadn't been exposed to before, in order to educate myself and work harder.\nIt didn't take long for me to regret this decision. There was a lot to learn before I could even contribute, and a lot of time was wasted in building the basic environment of the project. However, when the development environment was built with other team members,\nsharing each other's difficulties every day and actively trying to help each other, it was an exciting time.\nErrors and bugs that occurred in my work always made me sensitive and annoyed, but in the academy, it was like a mission that I could do, and the process was fun like a game.\nNow that I'm writing this recap, I'm very proud of my contributions and I'm grateful to my colleagues and mentors who helped me along the way.\nIn the future, I will think about how I can apply the argo-workflow project to my work and actively contribute to the issues that arise. I would also like to contribute to new projects if there are other good projects.\nThank you.","-personal-summary-2#🌵 Personal Summary":"","4-subin-kim#4. SuBin Kim":"","-personal-activity-report-3#🌿 Personal Activity Report":"Collapse/Expand\n\nPersonal performance\nContributing one 'issue' and one 'PR'\n\n\nPreparation for Countryview\nViewed: OSSCA Basic Training uploaded to YouTube. I've used it a lot before, such as Git and Vim, and I knew the concept, but I was able to know and understand a lot of parts that I didn't know or roughly used.\nIn the 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository, we performed an example of Git configuration settings and linking and closing Issue and PR.\nArgo Workflows must have all commitments signed with gpg private key and signed off when creating PR. Otherwise, it will fail in the GitHub CI. Before I actually contributed to Argo Workflows, it helped me greatly to set up a local Git environment in advance and create a simulated PR.\n\nhttps://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38\n\n\n\n\nYou have set up the Argo Workflows development environment. At first, I set it up with devcontainer, and then I used Nix.\nArgo Workflows requires multiple components in the development environment, including React UI, Argo Server, and MySQL, making it difficult to configure the development environment, but we were able to fully configure it over several weeks.\n\n\nCountryview progress\nFix 'Bug Fix' Fix go build\n\nhttps://github.com/argoproj/argo-workflows/pull/11635\n\n\nThe existing code base was using Go 1.20, but there was a problem with using Go 1.19 in the Nix build file. Previously, the build was fine, but when I started using the newly added grammar in Go 1.20, I encountered problems with the Nix build.\nUsing '_module.args', I modified Go 1.20 to be the default and modified the Nix build.\n\n\nAutomatic update of 'function improvement' Nix go vendor hash\n\nhttps://github.com/argoproj/argo-workflows/issues/11691\n\n\nThis is an issue that I learned when I set up the development environment during the preparation of the contention. Nix pursues a reproducible build, but when GitHub's Dependency Hash value is not changed together when GitHub's Dependency Abot automatically raises the Go module version.\nThis often requires developers to manually calculate and update Nix's go vendor hash when setting up a development environment, and we are looking for workable ways to improve it.\nIn order to find a solution with the contributors, an issue was created by collecting the contents of existing PRs and Comments.\nDevelopers are reflecting it manually without solving it in other open-source projects, so after contributing to Argo Workflows, I think I can contribute to other projects as well.\n\n\n'Improvement' 'CHANGELOG.md '\n\nhttps://github.com/argoproj/argo-workflows/pull/11733\n\n\nMarkdownlint is a tool that forces documents in a project to be written in a consistent format and makes them easier to read and modify.\nPreviously, we used Markdownlint to configure the linker settings for the Project Markdown document, but we improved the 'CHANGELOG.md ' file, which is automatically generated using the script, because it does not comply with the linker rules.\nNew 'CHANGELOG.md ' changes created by the changed script are contained in this PR. → → https://github.com/argoproj/argo-workflows/pull/11773\n\n\n'Improvement' document style improvement\n\nhttps://github.com/argoproj/argo-workflows/pull/11787\n\n\nWe've improved the style of some documents that don't follow Markdownlint, and we've shared that we'll revise the documents that are automatically generated later in PR.","-participation-review-4#🌵 Participation Review":"Review of participation in the program\nIt would have been impossible if I had tried to contribute by myself, but I think I was able to prepare and contribute while gathering with mentor and other mentees to study and contribute.\nIt was great to understand the Argo Project ecosystem and community, and to understand Argo Workflows much deeper than before.\nPlanning future contributions\nWe will discuss the solution with the contributors in the issue we have created and implement it will be implemented.\nAfterwards, we will improve the Nix development environment and gradually transfer the devcontainer development environment to Nix.\nThe documents related to Nix are poor, so we are going to improve the documents.","-personal-summary-3#🌵 Personal Summary":"","5-hakjun-kim#5. HakJun Kim":"","-personal-activity-report-4#🌿 Personal Activity Report":"Collapse/Expand\nrefactoryfix: Upgrade Go to v1.21 Fixes #11556[**Merged]**\nArgo Workflows are developed in Go language.\nAn issue was issued to upgrade Go Version from 1.20 → 1.21, so we decided to resolve it.\nDuring the ‘Issue Hackathon’ period, we presented the issue and worked with the same team members to resolve the issue and conduct PR.\nAs a result, it was a glorious time to have my first PR and my first contributor badge.\n\nfix: Upgrade Go to v1.21 Fixes #11556 by junkmm · Pull Request #11601 · argoproj/argo-workflows(opens in a new tab)presentation\nDuring the Challenges period, we had time to present at an offline meeting the results of CI/CD implementation using Argo Projects.\nIt was a useful time to organize my thoughts during the presentation, talk with each other, and understand DevOps and the Argo Project ecosystem.\n\n\n\n\nIssue Hackathon\nAn ‘Issue Hackathon’ was held under the leadership of a mentor with the opinion of Da-hye A to reduce entry barriers and motivate contribution activities.\nUnder the leadership of our mentor, we became a team with Seongrak, Moonyoung, and Byeongseon.\nDuring this period, I achieved the resolution of the go 1.20 → 1.21 upgrade issue that I suggested.\nWe attempted to resolve the issue of adding Prometheus Metric values built into Argo Workflows, but were discontinued due to the high level of difficulty. However, through this process,\nI had a great experience breaking down my stereotype that Prometheus requires a separate exporter to be installed and expanding my horizons.\nplan to add workflow labels to the metric? · Issue #9849 · argoproj/argo-workflows(opens in a new tab)\nWe are trying to resolve the following issue: Compile expr in config · Issue #11609 · argoproj/argo-workflows\n\nBeginner’s Special Class - Container Playground\nArgo Workflows is an open source that runs in the Kubernetes native environment.\nThe mentor opened the Kubernetes Study, saying that knowledge of Kubernetes would be helpful in approaching our project.\nThe first mission was to create a Web Container that satisfied the conditions presented.\n\n\n\nIt made me reflect on how I usually write Dockerfiles thoughtlessly, and it was a good time to learn about the relationship between multi-staging, build speed, and how to write Dockerfiles.","-participation-review-5#🌵 Participation Review":"Participation reviewFirst of all, I am very satisfied. I don't think it can be compared to the person I am today, who didn't know much about the open source ecosystem in the early days of contribution. The reason I'm so satisfied First, we are smart team members.\nEvery week, there were many presentations on various topics, technologies used by people in the workplace, technologies of interest, etc. It was a premium lecture that could not be heard anywhere else, and it was a very helpful time. Second, we have reliable team members.\nAs someone with little development experience, I was a little scared of this contribution period. However, thanks to many people, including our leader mentee, Seongrak, who actively provided information when they posted questions on Slack, I was able to smoothly overcome the problems I experienced.\nThird, it is a comfortable meeting space and reliable support. We met every Sunday at the open-up space in Seocho. It was really clean, probably because it was a new building, and the coffee and snacks in the bathroom were just brilliant. Also,\nit was nice to be able to eat really delicious lamb skewers during the mid-day company dinner.Future plansThrough this year's contribution activities, I was able to clearly understand the open source ecosystem. The only thing I regret is that it was scary in the beginning? It's about being active passively and my cute little coding skills that I couldn't help but be passive about.\nBecause the period of contribution activities was truly valuable, I would like to make up for my shortcomings and participate next year as well.","-personal-summary-4#🌵 Personal Summary":"","6-jinsu-park#6. JinSu Park":"","-personal-activity-report-5#🌿 Personal Activity Report":"Collapse/Expand\nImprovements\nA new feature to support Secrets as a type of parameters (link)\n\n\n\nThe original Argo Workflow allowed you to define arguments directly when passing them to the WorkflowTemplate, or you could set it to reference a ConfigMap. However, unlike other tools that support the common kubernetes ecosystem, the ability to reference Secrets was not supported.We started getting feature requests https://github.com/argoproj/argo-workflows/issues/5506에서 for this, and we've implemented it and created a Draft PR.This feature was not easy to develop, especially since it required redefining things like the CustomResourceDefinition interface in Kubernetes, and figuring out the entire lifecycle of how a workflow is created, injected with sidecars, and created as a Pod.However, as we implemented the feature, we were able to gain a deeper understanding of how workflows are eventually transformed into pods and containers, and the logic behind how workflows templatize context and arguments internally.Create Issue` Incorrect creator labels on a resubmitted Workflow (link)\n\n\n\nArgo Workflow has a feature called Resubmit that recreates and runs a Workflow based on the same template. In the case of a resubmitted Workflow, the k8s object label related to the user who created the Workflow was not set based on the resubmitted user, but was set to the existing incorrect value.As a result, if the user who ran a workflow was different from the user who resubmitted the workflow, the workflow created by the resubmission would have an incorrect workflow creation user-related k8s object label.We raised an issue about this.Bugfix: fix: Apply the creator labels about the user who resubmitted a Workflow (link)\n\n\n\nWe created a Pull Request to resolve the issue (bug) we created earlier.We fixed the bug by labeling the correct Workflow constructor k8s object based on the resubmitted user information only, without considering the information of the existing Workflow executor when resubmitting.As an example of the change, we showed how a Workflow executed by a user named foo would be resubmitted by a user named bar, and how the creator-related label would be different if it was resubmitted by an unauthenticated user.We also found that there were a lot of other code that was impacted, so we wrote test code to make it more stable.Improvementsfeature: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (link)\n\n\n\nIf the CronWorkflow was created by a logged-in user, the CronWorkflow will be labeled with a k8s object for the constructor. However, there was an issue that the k8s object label would not be attached to Workflows that are created periodically based on the settings of CronWorkflow.Therefore, we have improved Workflows created with CronWorkflow to propagate CronWorfklow's constructor label.Issue.Insufficient logging in /oauth2/callback handler when using SSO Authentication (link)\n\nWe tried to activate the Authentication with Single Sign On (SSO) feature in Argo Workflows using the Identity Provider open source product called Keycloak, but we experienced a significant delay in the activation process due to the lack of logs.\nTherefore, we opened an issue on the topic of enhancing the logging of the feature activation operation.Feature.feature: Improve logging in the oauth2 callback handler (link)\n\nThis is the pull request that resolved the issue mentioned above (block link). We improved the feature to output error logs for each error case that occurs while using OAuth2 Protocol for SSO.Also, to make it easier for reviewers to review the pull request, we've added code verification to make the pull request more convincing.Study`docs: Add a user named Park Jinsoo (link)\n\nAt the beginning of the event, we practiced creating a pull request by adding an introduction about myself to the member profile of a repository that my mentor created for us to get acquainted with GitHub.","-participation-review-6#🌵 Participation Review":"It was a great opportunity for me to become a contributor to a well-known open source project after having been a user of many open source projects for my work and hobbies.With the help of my mentor, I was able to get started in open source contributing with Argo Workflow, overcome my fear of live video meetings between contributors, and develop the habit of reading code written by others.I'm now very interested in Argo Workflow, as well as other cloud-native, open source favorites like Argo Rollouts and Istio, and I've been communicating with contributors frequently via Slack.Before I started contributing to open source, I'm sure I would have been reluctant to do so. But now I don't feel intimidated by this communication at all, and in the future I hope to contribute as much to Argo Rollouts and Istio as I did to Argo Workflow!I would like to thank the organizers and mentors for all their hard work over the years. Thank you.","-personal-summary-5#🌵 Personal Summary":"","7-chungwun-seo#7. ChungWun Seo":"","-personal-activity-report-6#🌿 Personal Activity Report":"Collapse/Expand\n\nindividual performance\n1 PR Open\n\n\nCountryview preparation process\nWe checked the shared video of the basic Git strategy shared by the OSSCA Secretariat and combined the new parts we missed with the existing concepts to enhance our understanding and application of Git.\nThe team's 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository allowed us to learn the gpg private keys, issues, PR titles, etc., which are essential for open-source attributes, by actually performing missions and gaining experience.\ndWe used devcontainer to build and test Argo Workflow's local development environment, and to test the requirements for actually doing the content. The portability tool for multiple library dependencies made it very easy to use.\n\n\nContent progress\nModifying fields example in formula docs\nhttps://github.com/argoproj/argo-workflows/pull/11748\nAn example of a document that does not use Cron Workflow was included in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields in the existing official document, causing confusion in finding the required data.\nSo, in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields, we only allowed examples using CronWorkflow to find the data we needed.","-participation-review-7#🌵 Participation Review":"Program Participation Review\nMentors and mentees led the meeting so well that I wondered if there would be another meeting where I could get to know and understand the open-source ecosystem in depth.\nAs an individual, I was very disappointed. I could have invested a little more time and actively participated in the meeting to make it a better meeting as well as personal growth, but it was a period that left a lot of regret because of various external factors and my own laziness.\n\n\nFuture Contribution Plan\nWith great confidence that open-source attributes are no longer scary (?) things, we will be able to explore open-source beyond the Argo ecosystem and be more interested in the CNCF ecosystem.\nBased on the fact that we can make contributions through previous PR records and the help of the main container without having to look at the source from the beginning, we plan to actively continue our contribution beyond the psychological hurdle of the country.","-personal-summary-6#🌵 Personal Summary":"","8-haemin-song#8. HaeMin Song":"","-personal-activity-report-7#🌿 Personal Activity Report":"Collapse/Expand\n\nContribution Activities\nMutex check happens after memoization cache check and lock info missing from UIBug FixIssue #11219\nPR #11456 - Merged/Included in 3.4.10 releaseI managed to modify Argo Workflow to simultaneously utilize the Synchronization and Cache functionalities.This bug manifested when using both the Synchronization and Memoize keywords in Argo Workflow, causing it not to operate correctly.The expected behavior was for the Mutex Synchronization to function first followed by the cache, however, after Synchronization occurred, the cache failed to operate.For instance, when there are job-1 and job-2, if job-1 operates first due to Mutex Synchronization and writes to the cache, job-2 ** should pass without operating, courtesy of the shared cache.**\n\nI was able to fix this by adjusting the sequence of Synchronization and Cache.While the fix was not complicated, modifying the operation.go, one of the intricate files, allowed me to explore various features of Argo Workflow with many reviews.Parent level memoization is brokenBug FixIssue #11612\nPR #11623 - Merged/Included in 3.4.11 releaseA new bug arose from the above fix. When using the Memo function in child components rather than at the Template level in Argo Workflow, a bug was reported that caused infinite pending.\n\nI realized that there were unaddressed cases in the tests added in the previous PR. After identifying the cause of the error, I quickly patched it. I included four tests in the PR to detect such exceptions in the future.UI: workflowDrawer's information link is not correctly workingBug FixIssue #11494\nPR #11495 - Merged/Included in 3.4.10 releaseI fixed an issue where the Information icon link was broken when expanding a workflow on the Argo Workflow dashboard.\n\nI introduced code to prevent incorrect event propagation caused by nested tags. This correction ensured that clicking on the icon now directs users to the correct documentation.Search by name for WorkflowTemplates in UIFeature EnhancementIssue #11004\nPR #11684 - Merged/Included in 3.4.10 releaseThis was a collaborative effort with two other contributors.A helpful feature that allows templates in Argo Workflow to function through name patterns was missing.\n\nWe developed an additional feature that lets users search for templates not just by Yaml labels, but also by names.\nThe LIKE search, not just precise naming, will prove useful in the future. Plans are underway to extend this search and pagination functionality to other pages, making this a particularly meaningful PR.Add more readable Argo CLI installation guide into github documentationDocumentation ContributionIssue #11750\nPR #11751 - MergedThis contribution pertains to the documentation of the Argo CLI, the command-line interface used with Argo Workflows.\n\nThe current Argo CLI GitHub documentation lacked installation procedures, making it challenging for first-time users to determine how to install the Argo CLI. Initially, users had to directly navigate to the Release Note or the Quick Start page.\nBy adding an Installation section to the Argo CLI page alongside the existing Usage details, I aimed to enhance user convenience.Workflow templating is skipped when whitespace is added to template parametersBug FixIssue #11767\nPR #11781 - MergedIn Argo Workflow, when authoring a workflow template, the placeholder in the form {{parameter}} did not undergo validation when spaces were added, such as {{ parameter }}.\nThe root cause was the internal validation code not trimming spaces before and after the parameter. By adding the trim function to remove spaces, I resolved this issue. This contribution also rectified other placeholder content that previously bypassed validation.\nDevelopment Activities\nContributing to the Argo Workflow OSS Common RepoPR #22 - MergedI undertook a preliminary exercise for multiple people to contribute to the Argo Workflow. We simultaneously modified new and existing documents with other participants, learning the importance of Git commands and the process of rebasing.Creating a Web Server with DockerfilePR #6 - MergedThis exercise was about creating a Dockerfile that communicates with a local 8080 server and makes it accessible via localhost:8080.\nWe simply crafted a Python server using Flask, and through the Dockerfile, we set up the environment, initiated the server, and connected the port, making the server accessible externally via Docker commands.","-participation-review-8#🌵 Participation Review":"Post-Participation Review\nWhile I had participated in the open-source contribution academy before, I was especially satisfied with the program, members, and content of this academy.\nIt's not easy to understand the source code and start contributing in a short time, but it was an astonishing experience to be able to start contributing, even if it was a minor contribution.\nI deeply felt that the concentrated care from the mentor and the passion of other participants were genuinely helpful.\nStarting alone, I might have quickly given up and forgotten the content, but the experience was so different when progressing with others.\n\n\nFuture Plans\nI plan to continue contributing to Argo Workflow and may even start contributing to other open-source projects.\nEspecially now that I have learned how to approach and start with an open source I am interested in, I believe it will be a bit smoother as long as I have the passion.\nI will actively promote the fun of contributing to open source to others and confidently recommend it.","-personal-summary-7#🌵 Personal Summary":"","9-dahae-ahn#9. DaHae Ahn":"","-personal-activity-report-8#🌿 Personal Activity Report":"Collapse/Expand\nDocument modification The running-locally part of the official document is not intuitive for people who are new to Dev-container and Makefile, and is broken.\nThere were links, so I uploaded pr #11405 and contributed to editing the official document.Issue Contribution Although incomplete, this is an issue where secret information can be exposed through commands such as echo within Argo-workflows workflows or Pods within workflows [#8685](https://github.com/argoproj/ argo-workflows/issues/8685), so I tried to solve it.I invested about 3 hours a day for 4 days, for a total of 12 hours, on this issue, but I have not yet been able to resolve it. (Intermediate commit)\nWe added ARGO_HIDE_SECRETS, an environment variable that can be injected when running Argo-workflows, across a total of 11 files, and set the option to true by default.\nThe above environment variables can be entered from the command line or added as settings when running Argo-workflows.\nIf you set ARGO_HIDE_SECRETS=false, \"You are running with logging include secrets. Be careful.\" A log saying was recorded.\nIf information corresponding to Secret is included in the workflow or pod log, the code has been modified to mask SecretValue.\nWe wrote test code and verified that the above function works as intended.\nHowever, since the above function did not work as intended, I started exploring the process of recording logs. I found out that the logrus library used in the Go language uses io.Writer from the io package. .\n\n\n\n\n\nAssignment Performance For the Argo-workflows team, the mentor created the OSS-Argo-workflows repository and assigned several tasks.\nIn the actual Argo-workflows repo, I learned through assignments how to upload a PR by following the principles (presigned commit, gpg check) that must be followed when uploading a PR, and how to resolve git conflicts.\nIn order to upload pr from the actual Argo-workflows repo, modify the code and check whether Argo-workflows is working properly, you must run Argo-workflows with a Dev Container in the local environment.\n-Our team was given the task of carrying out this process ourselves, and along the way, we helped each other with members who had difficulty performing it. I summarized how to perform the method in a blog post and shared it with my team members.blog","-participation-review-9#🌵 Participation Review":"While participating in the open source contributionthon, I met amazing mentors and team members. We met offline every week, shared issues we had contributed to, and made presentations that were helpful to our work in turns every week.Also, at the last minute, we created an ‘Issue Hackathon’ where we split into groups to focus on solving issues. As a result, more than 4 PRs were merged from the Argo-workflows team itself, and I was able to focus my time on one issue and dig deep into open source.Since I was considering a career developing in the Go language, it was a really valuable experience to see and modify production-level Go code. It makes me wonder if I could belong to the same group as these hard-working people.Even after Masters is over, I plan to dig into the issues I was trying to solve above until the end, and I plan to upload one more development pr.And if I get the chance, I would like to participate in the 2024 Open Source Contribution Thon.Thank you for providing a great opportunity and venue.","-personal-summary-8#🌵 Personal Summary":"","10-jiwan-ahn#10. JiWan Ahn":"","-personal-activity-report-9#🌿 Personal Activity Report":"Collapse/Expand\n1. Open Source's first contributionFor the first time, I made a documented contribution to ArgoWorkflows. We've fixed the parts on the official site where there's room to confuse whether it's an image or a video, so that users know it's definitely a video.\ndocs: modify demo image in intermediate-inputs.md #117552. Learn how to contribute to open source by watching other members' activitiesThrough this Open Source Country View Line Academy, I learned how to contribute to open source and how to find issues. The summary is as follows.\nThere are many issues than the main logic, or UI parts, or UI parts, or UI parts.\nThere are many issues that can contribute to the open source sufficiently, even if you are a professional knowledge of the open source or a practitioner in another field (ex. UI issue)\nWhen you want to contribute, you first comment that you want to solve this issue directly to the issue and then start working.\nThis part was a little strange, but in the case of Argo Workflow, it was a little strange that the person in charge was assigned when making a contribution. Something I don't know? Or, it seems to assign a person in charge when you feel unfamiliar.\nThere are many different people. Some people write just one line, and some people write very kindly comments.\n\nI learned how to contribute directly to the issue by looking at other members' issue hackathons. In particular, I found the issue of \"Pagination\" very interesting among other members' issues.\nI didn't notice when I was using argo workflow, but I realized that it was possible to contribute to places that could pass by by catching that page-nation is inconsistent and making issues.3. Development container constructionPersonally, I set up the development environment by flying devcontainer myself. In fact, there were countless errors in the process, and I could imagine that other developers would come and squeeze their brains together if there was a bug in practice.I found out that when you solve dependency issues and later someone else makes an issue on my project, you use development containers to ensure you're working in the same environment,\nand I thought I'd have to use development containers in other projects I'm working on (discord bot-related projects).After the interim report, rather than changing my mind a little and feeling intimidated, I wanted to take the opportunity to overhear how other current employees operate the service in practice.\nIn fact, mentees presented various topics, and I was able to hear interesting topics such as load tests and explanations about ebpf in the company. I think it was a very valuable presentation that was hard to hear while attending school.4. Mastering the Verified Commit method using GPG Sign and uploading the introduction to Team GitHubUntil now, I've been committing without a separate GPG Key, but in the process of uploading the member introduction, I checked the DCObot and GPG and kept getting blocked,\nso I learned how to create a Verified commit and uploaded the introduction to Team GitHub Repo. In the process, I solved it with the help of the same team member while constantly stopping whenever I committed.docs: 안지완 프로필 업데이트","-participation-review-10#🌵 Participation Review":"In fact, until I wrote the interim report, this activity was too high for my level and others were so good that I felt intimidated by myself, but thanks to the mentor's individual counseling and encouragement, I have since tried to participate in the regular meeting harder.I saw a lot of issues in Argo Workflow and looked for it to contribute to anything, but I couldn't touch it because it was so complicated and I didn't know the Go language.\nInstead, I felt like I entered the world of open source by looking at other people's contributions, even though I may not be able to contribute directly.Another person's most memorable contribution was \"Page Nation.\" I was impressed to see that some parts of Argo Workflow are page-nations, some parts are not,\nand some parts are not title-free, but you found a problem of consistency in the UI, and you found a team member in the issue hackathon to solve this problem.When I was looking for something to contribute, I tried to find issues related to logic, but it was too difficult and I couldn't figure out how it worked, but I can't believe it can contribute like that…I thought that I didn't have to be so scared of contributions than I thought.As everyone else, including you, is an incumbent and is very talented, I learned a lot from going to the meeting.\nYou can see the differences between theory and practice, how workflows are being used in practice, especially why the really universal airflow that I'm studying these days isn't being used very much in practice.To be honest, as I participated in open-source competition, I also have a desire to contribute at least one issue.\nAs there is not much time left, my plan is to contribute at least one small issue before the end of the activity, and now the semester is waiting, so I want to have as much time to learn as possible to go to regular meetings and learn even if the semester begins.","-personal-summary-9#🌵 Personal Summary":"","11-yoonwoo-you#11. YoonWoo You":"","-personal-activity-report-10#🌿 Personal Activity Report":"Collapse/Expand\n1. Create a beginner's dockerfile\n\n\n\nCreate your own web service, build an image via dockerfile, and run a container.\nBuild your service using a framework and language of your choice, I used Nest.js.\n\n2. Learn the Nest.js framework\nNest.js Learning Repository\nSince I only knew the front end, I quickly learned to create a simple API service using the\n\n3. PR after creating the dockerfile\n\n\n\nI created a docker file to build the image, verified that the service is working, and raised a PR, but the build test of the github action fails.\nRemove the --production option and it passes the test, but the image is not optimised. Ask your mentor for advice\n\n\n\n\nStart troubleshooting based on your mentor's feedback\n\n4. Trouble Shooting\n\n\n\n\n\n\nI tried to install node_modules for production only to reduce the size when creating images with dokerfile, but it didn't pass the github action.\nAfter a lot of shovelling, I realised that a module called nest-cli is required for nest build, but it was in the devdependency, so I changed it and it worked. (My mentor gave me a hint, but I didn't understand and shovelled it in)\nThe reason I was confused was that I had nest-cli installed globally on my MacBook.\n\n5. Open source contributor activity\n[UI: The position sticky on the workflow toolbar is not working]\nFixed a bug where the position of the toolbar when selecting a checkbox in the workflows-list was not fixed at the top.\nRead the issue\nRead the PR\n\n[before]\n\n\n\nThe top toolbar was not visible when checkboxes were selected and scrolling.\nFixed an issue with the existing position : sticky not being applied by changing it to position : fixed.\n\n[after]\n\n\n\nAfter checking a checkbox, you can pin the toolbar to the top of the scroll to fire events for that list without having to scroll further.\n\n[UI - show history about completed runs in each cron workflow]\nWork with a good improvement found by a Uijeong Issue to add a list to the cron-workflows-detail component to view the history of a given workflow.\nRead the issue\nRead the PR\n\n[before]\n\n\n\nThere was nothing on the existing cron-workflows-detail page, but the\n\n[after]\n\n\n\n\n\n\nAdded a history workflows to the corresponding cron-workflows and an example of when there is no history.\nThis PR is still under verification","-participation-review-11#🌵 Participation Review":"It was a great experience.Unfortunately, when I got a job, I became busy and lacked knowledge of server and DevOps, so I didn't participate in many contributor activities or offline gatherings.However, I will not give up and try to contribute more to argoWorkflow by doing more front-end contributions and studying server side as well!Thank you for making such a good activity and thank you to the mentors and mentees for helping me grow step by step even though I'm a beginner 👍","-personal-summary-10#🌵 Personal Summary":"","12-byeonggon-lee#12. ByeongGon Lee":"","-personal-activity-report-11#🌿 Personal Activity Report":"Collapse/Expand\n\nParticipate in the launching ceremony\nK8s learning\nLearn Operator concept\nHelm learning\nLearning CNI concepts\nLearning Service Mesh concepts\n\n\nLearn Argo Workflows\nLearn basic usage\nhttps://argoproj.github.io/argo-workflows/workflow-concepts/\nhttps://www.youtube.com/watch?v=kxl6wYd5i2g\n\n\nLearn skills around you\nDevContainer learning\nNix Learning\nhttps://nixos.org/manual/nixos/stable/\nLearning MinIO\nLearn KeyCloak\n\n\n\n\nArgo Workflows contribution ‘bug fix’\nCreate issue related to DevContainer malfunction https://github.com/argoproj/argo-workflows/issues/11439\nIssue with /etc/hosts entries being deleted when container restarts\n\n\nDevContainer malfunction resolved PR created and merge completed https://github.com/argoproj/argo-workflows/pull/11440\nSolved by adding —add-host option to runArgs in devcontainer.json\n\n\n\n\n\n\nLearn technologies around Argo Workflows\nInstall and use NixOS based on what you have learned\nResearch on Argo CD, Argo Events, and Argo Rollout\nLearn Keycloak\nArgo Workflows supports Keycloak integration, so I became curious and investigated Keycloak.\nLearn about the differences between OAuth2 and OIDC\nLearn about Keycloak concepts\n-Role\n-Ream\n-Client\nLearn how to set up Keycloak\nLearn about Keycloak API and integration methods\nStudy Keycloak official documentation\nhttps://www.keycloak.org/docs/latest/securing_apps/index.html\nhttps://www.keycloak.org/docs-api/22.0.1/rest-api/index.html\n\n\nPractice installing and using Keycloak yourself","-participation-review-12#🌵 Participation Review":"It was great to be motivated not only to contribute to open source but also to learn about new technologies through this Contribution Academy.\nIt wasn't easy to participate while I was busy at work, but my long-term goal is not only to contribute to Argo Workflows in this year's contribution, but also in future contributions for the next few years.\nMy future plans are to build not only Argo Workflows, but also other Argo Projects and apply them to my personal toy project, as well as to study more about K8s.","-personal-summary-11#🌵 Personal Summary":"","13-euiju-lee#13. EuiJu Lee":"","-personal-activity-report-12#🌿 Personal Activity Report":"Collapse/Expand\nlint test\n1. how to use Git & Commit, PR rules\nTasked with mastering basic Git usage and sending strict commits and pull requests for contributions.\nIn the official Argo Workflow project, it was helpful to use the Issue Template and send a PR for the issue you want to contribute to, and it was also an opportunity to learn about the existence of the Issue Template.\nIt was an opportunity to indirectly experience the elements essential for future contributions.\nPR naming convention\nDCO Bot Check\nGPG Commit\nCommit Message convention\nLink issues and PR\n\n\nIssue creation - Member profile update - PR - Review - Merge process\n\n\n\n2. Participate in a special beginner class - Repository for beginner special class missions(container-playground) - The purpose was to help people who are unfamiliar with Docker or Kubernetes or who are new to it.\n\n\nLearn about the need for Docker Image optimization while performing tasks presented by a mentor\nSince it is a process of stacking certain packages and static files by layer from the From clause, we realized that optimization is essential because the Docker image can become heavy and have a negative impact on performance improvement.\n\n\nMission\n❗️objective❗️\n\nCreate your own web service and write a Docker file that can be containerized.\n\nTo pass the assignment, please be sure to follow the instructions below.\n\n• Directory and file placement\n• Be sure to create your own github account directory for your own service and write it there.\n• The `Dockerfile` must be located at the top of your directory. (If this condition is not achieved, CI will fail.)\n• As long as it is under your own directory, you can freely write the rest of the files except for the location of `Dockerfile`.\n• However, the image must be built successfully when you execute the command `docker build -t [image name] .` at the top of your directory.\n• Behavior of built images\n• Your web service must operate on port 8080.\n• The built image must be serviced without problems when run with `docker run -d -p [forwarding port number]:8080 [image name]` without any additional parameters.\n• Web service development language and service structure\n• It doesn’t matter which language or framework you prefer.\n• It doesn't matter if you create a simple API service with no UI or design.\n• However, you must create two required APIs. (I don't care about the response value.)\n1. /api/v1/[your github account]\n2. /healthcheck\n• (Optional) It would be better to optimize the Docker image.([참고](https://thearchivelog.dev/article/optimize-docker-image/))\n• [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an Please refer to -issue-using-a-keyword) to connect the issue and PR. (Manual connection x)\n\n❗️Note❗️\n\n•It would be a good idea to refer to the documents below to understand Docker concepts and write a Dockerfile.\n\n• [Official documentation for creating a Dockerfile](https://docs.docker.com/engine/reference/builder/)\n• [How to use Docker for beginners](https://mysetting.io/slides/xxj85vnvey) (Content related to Docker Toolbox has been deprecated)\n\n•To raise PR and merge, please refer to the points below.\n\n• Since you do not have permission to create or push branches in the repo, you must fork and then work on it.\n• Please refer to [PR's naming convention](https://flank.github.io/flank/pr_titles/).\n• [DCO](https://github.com/apps/dco) Please commit while referring to the conditions for passing the bot's check.\n• Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit.\n• It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)```\n\n\nHaving previous experience with the Python-based Django framework, I wrote a Docker file that creates a Django REST API.\nI sent out a PR, but was pointed out a security issue or an error in unnecessary package import syntax.\n\n\n\n\n\nThis is the first time I learned that SECRET_KEY is exposed in the settings.py code of the Django project, and I will take the time to think about how to solve this security issue.\nWe created a .json file containing the secret key and proceeded to refer to the json file in settings.py.\nSince the secret.json file cannot be uploaded to Commit, I learned how to ignore the json file through .gitignore, and was able to ignore unnecessary files created after executing certain commands such as dbsqlite3.\nIt was an experience that made me realize that several considerations are needed to upload locally developed results to a Git project.\n\n\n\n3. Argo Workflow Contributor\nWhile looking into Argo Workflow, I came across the Argo Workflow Slack channel marked Deprecated in the Argo Workflow - Contact - Help field.\nI thought it was a minor UI Issue, but I thought it was an opportunity to check what language the UI is displayed in and how it was developed, so I raised an issue and submitted a PR.\n\n\nCreated IssueUI: non-existent Slack Workspace link on help page Issue\n\n\nWhen I created an issue, the Maintainer of the Argo project quickly left a comment.\nI randomly tried to fix it with the CNCF Argo Channel link, but I received a comment from the maintainer asking me to update it with a different link.\n\n\nCreated PRfix: deprecated Link(Help-Contact) Issue\n\n\nArgo Workflow had a UI based on React, and the directories were arranged by component, making it easy to analyze the code.\nI didn't pass the DCO bot test because I accidentally omitted the Signed-off option during Commit\nbut I learned about the ability to revert previous commits (Rebase) or merge multiple unnecessary commits into one (Squash) in GIt. And I returned the previous commit and committed it with git commit -S -s -m \"Commit Message\".\n\n\nI looked up what the comment ‘LGTM’ meant, and on Google, I used the tag LGTM to express my opinion. 'Looks Good To Me'. In other words, it was a rewarding experience because it meant it looked good.\nThe process of finding bugs or modifying the UI is important, but I think the most important thing is the process of performing contributions according to the rules set by the Argo Workflow ecosystem.\n\n\n\n\n\n4. Participating in Argo Workflow Hackerton (Argo workflow - Hackathon held within the OSSCA team)\nPull Request(Merged) : feat: Search by name for WorkflowTemplates in UI\nIssue : Search by name for WorkflowTemplates in UI\nIssue Hackathon activity period\n1st Hackathon (Hackathon Group C) : 23.08.16 - 23.08.20\n2st Hackathon (Hackathon Group C) : 23.08.20 - 23.08.27\n\n\n\n\n\nIssue content\nWhen there are a large number of templates in a cluster, it is good to search by name, but scrolling through all the templates is always inconvenient due to the lack of a search function.\nIt was thought that the Argo Workflow UI needed a function to filter the results of workflow templates by name, so the issue was adopted as a result of a group meeting.\n\n\nRole\nFront-End\nCreating a search field (Bar) in Argo workflow Template UI\nAnalyze .get logic to analyze where the Name Pattern (Like search) is sent\nModify workflow-template-filter.tsx and workflow-template-list.tsx in the workflow-template component directory.\n\n\n\n\nMeeting details\nThe meeting is held through the Slack hackathon channel, where opinions and information are shared every day.\n1st Meeting details\n\n\n1. name search function (backend)\n\n• WorkflowTemplate page\n• Add name search (LIKE search)\n• ClusterWorkflowTemplate page\n• Add name search (LIKE search)\n• CronWorkflow page\n• Add name search (LIKE search)\n\n\n\n2. name search function (frontend)\n\n• WorkflowTemplate page\n• Add name search ui\n• ClusterWorkflowTemplate page\n• Add search sidebar (name, label)\n• CronWorkflow page\n• Add name search ui\n\n3. pagenation (frontend)\n\n• WorkflowTemplate page\n• pagination based on name\n• ClusterWorkflowTemplate page\n• Add pagination\n• CronWorkflow page\n• Add pagination\n\n4. Write test code\n\n- name search (LIKE search)\n- Need more analysis on what test code should be written\n\n2nd discussion content\n1st offline meeting\n\n\n\n\n\n\n1. Co-commit method\n\n• Clone the repository https://github.com/ArgoWorkflows-OSS/argo-workflows locally.\n• We create a branch in the repository for our team to work on. (`master` vs `release-3.4.10`)\n• Work on the functions you are responsible for in the corresponding branch of the repository. (Commit by carefully following the commit rules for raising PR.)\n• When everyone's work is completed, 1 out of 3 people will send out a PR according to the PR template.\n• All 3 people can be contributors\n\n2. Since it is a hackathon and there is a set period, we decided to first implement the workflow-template name filter, which we think is the main one among workflow-template, cluster-workflow, and cron-workflow, send a PR, and move on once the maintainer merges it.\n\n• Roles for each part\n\n• Back-End\n\n• workflow_template_server.go\n• Name filtering and pagination recalculation\n\n• Front-End :\n\n• workfflow-template-filter.tsx\n• Add Name search UI\n• Receiving and filtering the Name argument\n• workflow-template-list.tsx\n• Add Name state\n• Pass name to userEffect list\n• workflow-template.tsx, Utils.tsx\n• Passing the Name argument\n\n3rd discussion details\n2nd offline meeting\n\n\n\n\n1. Offline Meeting Meeting Contents\n\n• An opinion that even cases where there is no namespace should be included in the filter. (Insufficient grounds to say to eliminate namespace - Other sites (Kubernetes Dashboard, OpenShift, Argo CD, etc.) also provide namespace without namespace)\n• Thoughts on whether it is possible to import and apply the logic used in continue and whether continue can be maintained as is even with custom results.\n• After analyzing the continue logic until Wednesday night, if it is concluded that pagination using continue is not possible, upload a question in the issue comment.\n• Front-end pagination (data is not reloaded, the method used in argocd) vs. server-side pagination (pagination after checking the entire list each time, will the load be okay?)\n• If server-side caching is implemented, is there a place to store it?\n2. I decided to do a full K8s search by applying only the namespace and label every time I turned the page.\n\n3. Additional logic implemented in offset-based pagination method\n• The part that didn't work\n• If you perform a filtered search after clicking the next page button, no data appears even if there are search results.\n• If you increase the number of pagination after clicking the next page button, the search results do not display properly.\n• What changed\n• As the continue value is updated on the server, when increasing the number of pages or applying filtering, there is a problem with pagination based on the continue value already set on the server.\n• A method of changing the continue value to be passed from the front was adopted ( When increasing the number of pages or applying filtering, set continue back to 0)\n\n\n4. Pagination Test\n• workflow_template_server_test.go passed\n• (14 workflow templates registered)\n• Normal : UI workflow template first page\n• Normal : when workflow template page limit is 5, 10, 50\n• Workflow template page Add workflow template on page 1 and move to page 2\n• Workflow template page Delete the workflow template from page 1 and move to page 2\n• Test the above with `name pattern` filtering search\n• Search without name pattern and then re-search by adding name pattern\n• After searching including the name pattern, deleting the name pattern and searching again\n\n5. Create PR\n\nLike filter (Name Pattern) implementation\nex) Workflow-template starting with sp can be searched\n\n\n\n\nResult\n\n\nThe implementation was a success, and we plan to modify the previously discussed cluster-template and cron-template components.\n\n\n\n\n\n\n\n\n\n5. Learning outside of contribution activities - Completion of Google Kubernetes Study Jam training - Badge - Architecting with Google Kubernetes Engine: Foundations\nEarned 7월 18, 2023 EDT - Architecting with Google Kubernetes Engine: Workloads\nEarned 7월 26, 2023 EDT - Architecting with Google Kubernetes Engine: Production\nEarned 8월 4, 2023 EDT\nThe organized contents are recorded on a personal blog (velog)\neuijoo's Velog GCP Series","-participation-review-13#🌵 Participation Review":"Post-Participation Review\nBefore the Academy, I only had knowledge of Argo CD, but afterward, I was able to research and analyze Argo Workflow projects and reach a level where I could think about how to utilize its powerful functions.\nWhen making my first contribution, I created an issue, communicated with the maintainers, modified the requested items, and created a PR, so I quickly received comments and achieved the result of merging.\nIt may be a minor issue, but it was an experience that made me feel that a holistic analysis of the part I wanted to contribute was necessary.\nNot only this, it was an opportunity to analyze how the Argo workflow interacts internally by conducting an issue hackathon within the team, analyzing not only the UI, i.e. the front part, but also the logic of the back end part.\nOur group's body was a big issue, so we were able to reach our goal by holding online as well as offline meetings accordingly, and since the two members were working in the field, they kindly explained difficult parts, so it was a useful experience.\nI have a desire to continue communicating with the hackathon team members or the entire team.\n\n\nFuture plans\nSince the OSSCA period has not yet ended, we plan to continue exploring issues (Cluster-workflow-template, Cron-workflow, etc.), discover typos or translation errors in the Argo Workflow document, and continue to submit PRs.\nIn addition, after the OSSCA period ends, we plan to portfolioize the contents that have been organized so far.\nAs a toy project, we plan to complete data ETL work using Argo Workflow, which is currently in progress.\nIf I get a job, I hope to create many insights by introducing many of Argo Workflow's functions into my field.","-personal-summary-12#🌵 Personal Summary":"","14-euijung-geon#14. EuiJung Geon":"","-personal-activity-report-13#🌿 Personal Activity Report":"Collapse/Expand\n✅ Records about ContributionSeries | 2023 OSSCA - ddubi.log-> Unfortunately It is not translated..\n\n\n\n✅ Various tasks\nThe task regarding issue/commit/PR in Github[Summary]\n\n\nSelect the profile update issue, fork ArgoWorkflows-OSS repository, and commit it by adding users.md and [name].md under docs/user in the repository. After that, link the issue and submit a PR.\n\n[Outcome]docs : update UiJeong Profile by juijeong8324 · Pull Request #19 · ArgoWorkflows-OSS/ArgoWorkflows-OSSrecords: Github에서 issue/commit/PR\n\n\n\n\nRunning Locally[Summary]\nRunning Argo workflows locally\nInstall Linux on Windows with wsl2 and run argo workflows using devcontainer cli.\n\n[Outcome]records: Argo Workflows running locallyrecords: Argo Workflows running locally - retryrecords: Argo Workflows running locally - finalrecords: Argo Workflows running locally - real final\n\n\n\n\nSpecial class for Beginners - Create my own service container image\n\n[Summary]\nSpecial class for Beginners is a class for beginners(It's me) who don't know much about Container, kubernetes, argo from Argo-workflows oss team.\nThe task is creating my own web service, writing dockerfile for containerize the application.\nYou need to understand Dockerfile, docker, images, and containers.\nIn my case, build web server with express and write dockerfile.\n\n[Outcome]code: About taskrecords: 왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작records: [Docker] Dockerfile 기본 명령어에 대해 알아보자\n\n\n\n\n\n✅ Offline meeting\nDate\tActivity\t2023.07.15\t- Introduction team - (Seminar) Introduction to Argo workflows and mentor’s application examples\t2023.07.30\t- Searching and sharing issues of the week - I was solving a local running problem. - (Seminar) HaeMin's WebRtc, Sunyeong's keyclock and argo worfklows\t2023.08.13\t- Receive feedback on Special class of beginners assignment - Searching and sharing issues of the week - (Seminar) Mentor’s special lecture on history and principles\t2023.08.20\t- Searching and sharing issues of the week - I share `Issue #11131`` - (Seminar) DaHae's ‘Platform builder & K6 execution test PoC that allows developers to perform execution tests on their own’\n\n\n\n\n✅ Searching Issue & Creating Issue\nIssue #11131 Fix Bug[Summary]Error occurs when \" in a workflow input parameter fails to escape and is referenced as workflow.parameter.json[Outcome]I dissmiss this issue because of the eeror occured from python environment not argo workflows.records: Argo Workflows - Issue #11131\n\n\n\n\nIssue #11706 Improve UI[Summary]\n\n\nAn issue that would like to add a UI that can check the history of each workflow in the cron workflow tab.records: Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)[Outcome]PR #11811 Closes\n\n\n\n\n\n✅ PR open & merge\nPR #11732 docs PR Merge[PR Summary]PR that modifies the image in the Argo Workflows official document to clearly show that the image in Artifact Visualization is a YouTube video link.\n\n[Outcome]records: Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md\n\n\nImage replacement to add a play button to the center of the image\n\n\nmerge complete\n\n\n\n\nPR #11811 Improve UI PR Merge[PR Summary]The PR tries to solve Issue #11706\n\n\nModify to check completed cron-workflow when you click specific cron-workflow at cron workflow page\n\n\nIf it cannot find a completed cron-workflow, it will be display like above[Outcome]Merge Complete","-participation-review-14#🌵 Participation Review":"Review\nActually DevOps, Infra were unfamiliar fields to me, but through the Argo workflows project, I feel more familiar with the field than before.\nI have only been learned to concepts such as Docker, Container, etc. theoretically, but I learned those concepts more easily through hands-on practice, and in addition new things (the existence of wsl...!).\nIt gave me an opportunity to look back on concepts that I miss (e.g Linux authority and network.)\n\n\nAlso I had a vague fear of writing an issue, but I was able to overcome that fear by writing it myself.\nAt last, There are many ways to contribute and I realize it was important to try to contribute step by step.\nThe first time I focused on issues that I did not sympathize with, due to my personal greed and the idea of learning while solving problems.\nHowever I realized regardless of the difficulty of the issue, I needed to understand the repo while solving an issue that I personally sympathized with.\n\n\nI look forward to continuing to enjoy contributing to open source!\n\n\nForward Plan\n\n\n- Step 1\n: Time to adapt and learn about Argo Workflows / Simple contribution\n: Contribute articles via Repo's TODO\n: Focuse on UI improvements\n\n- Step 2\n: Focus on template,backend contribution\n\n- Step 3\n: Write an issue that would be good to solve and then contribute\nEven after the open source contribution ends, the mentor plans to continue meeting regularly, and I have a goal of contributing at least one issue per month to the Argo Workflows repo this semester.","-personal-summary-13#🌵 Personal Summary":"","15-sungrock-jung#15. SungRock Jung":"","-personal-activity-report-14#🌿 Personal Activity Report":"Collapse/Expand\n\ngit/github Getting Started\nissue: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11\npr: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15\nsummary: Familiarize yourself with git/github, the core of code shape management in the open source ecosystem.\ndetail:\nMuch of the open source world relies on git and github for collaboration.\nTherefore, in order to contribute to open source, it is necessary to familiarize yourself with git/github.\nUsing git/github, it was a hands-on activity to issue issues, follow commit rules, and create PRs.\n\n\n\n\nfeat: logging for client-side throttlingissue: #11387, #11402\npr: #11437\nsummary: fix to figure out faster if user set certain options incorrectly\ndetail:\nIt uses a library called client-go to communicate with kubernetes.\nThis library provides options --qps, -burst for request limit.\nIf this option is set very low, it will cause throttling. That's why we have a separate log level to inform the user more quickly.\nWhile working on this issue, I learned a lot about client-go, especially about RoundTrip.\nIt was a shock when I realized that I could add middleware using RoundTrip for any object that respects the http request interface provided by golang.\n\n\n\n\ngo 1.21 upgradeissue: #11566\npr: #11601\nsummary: golang 1.21 ver release에 따른 version upgrade 진행\ndetail:\nAs a lead mentee, I decided it would be better to have a teammate who hasn't contributed yet try to solve the issue rather than me.\n\nI shared the issue with my teammate, and I was able to support him in successfully resolving the issue.\nWe shared our approach to the issue in our regular weekly meeting.\n\nOn weekdays, we would take questions and answer them separately in a slack channel so that everyone on the team could get experience submitting PRs.\n\nTeam members also gained invaluable experience merging PRs.\n\n\n\n\nDebugging 설정summary: 팀원의 argo-workflow debugging setting\ndetail:\nFor team members who are new to developing with golang, we had some difficulties setting up the debugging environment, and we worked together to solve it.\n\nDuring this process, I realized that I'm not very good at setting up debugging for apps that are closely related to kubernetes,\nand I realized that I needed to get some help with that.","-participation-review-15#🌵 Participation Review":"After\nParticipating in OSSA for 13 weeks was a great experience.\nAfter applying 3 times, I was so happy to be part of a project built with my favorite community, CNCF, and my favorite language, Golang.\nParticipating in argo-workflow under the CNCF umbrella through OSSCA and being able to contribute to the ecosystem of CNCF, even in a small way, was a very happy time for me.\nIn particular, I thought it was a good experience for beginners to be able to quickly communicate with maintainers through mentoring, a system operated by argo-workflow.\nWith feedback through argo-workflow's mentoring system, I quickly gained confidence and good experience through PR submission and merge, which I wanted to share with all team members as a lead mentee.\nHelping a team member who was new to open source contributing made me realize how much of a barrier to entry it is for people who are new to it, and it made me think about how to bring beginners into the ecosystem more reliably.\nIn addition to the open source contribution activities, the team members from Developer, DevOps, and SRE roles, the different skills they use in their respective roles, and the sharing of experiences broadened my horizons.\nIf I have the opportunity next year, I would definitely participate in OSSCA and continue my open source contribution activities with various people.\n\n\nPlanning\nWorking on this argo-workflows project has made me very interested in the projects in the argo camp.\nBy participating in the project, I was able to identify my shortcomings as a developer, and I plan to improve them.\nEven if ossca ends, I will continue to contribute to open source under the CNCF umbrella.\nargo-workflow\nshortfalls\nLack of understanding of kubernetes operators\nLack of frontend knowledge\n\n\nFuture plans\nThe UI of argo-workflow is a bit lacking compared to other argo projects, and I'm going to try to improve it based on user feedback.\nRegarding area/artifact, I would like to extend it to use more storage.\nRegarding area/plugin, it currently only supports sidecar, but I'd like to make it easier to extend externally implemented plugins with code.\nRegarding the documentation, I'd like to think about the parts that are difficult for beginners and improve them.\n\n\n\n\n\n\nPersonal growth\nshortfalls\nTalking to members from different companies and lacking their own perspective on developing and keeping the service stable.\nDifficulty communicating to transfer knowledge.\n\n\nFuture plans\nI'm going to study how to organize and speak about the knowledge I want to convey.\nI'm going to talk to a lot of people, share my thoughts, and try not to get caught up in otherness.","-personal-summary-14#🌵 Personal Summary":"","16-moonyoung-chae#16. MoonYoung Chae":"","-personal-activity-report-15#🌿 Personal Activity Report":"Collapse/Expand\nMultiple Tasks\nGithub Issue/Commit/PR Mission\nLearned how to use Github to contribute the ArgoWorkflow which is a large scale of open source community.\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44\n\n\nArgoWorkflow Running Locally\nRun ArgoWorkflow in local environment\nUnderstanding Argo Workflow Structure, DevContainer, Container-Based Applications, and Makefile Structure\n\n\nMake a container image\nLearned Docker File Command, Docker layer structure, optimization and caching\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/16\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/23\n\n\n\nIssue analysis\nMetric issue analysis\nAnalysis of issues that require improvement by many users due to issues with many Github Reactions\nIncreased monitoring convenience by adding metric labels\n\n\nAs a result of issue analysis, it was discovered that developing the content could cause another problem.\nWhen adding a metric label, a large amount of metrics are collected, which may cause performance problems due to a large amount of metric traffic flowing to existing users.\n\n\nSuggest and communicate ways to solve problems by detouring\nConfirm that the monitoring requested by the issue is possible when using a custom metric, and suggest a way to resolve it by bypassing it.\nhttps://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337\n\n\nInquire some ambiguous part in the comment in code for future improvement.\nhttps://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745\n\n\nIssue analysis through issue hackathon\n\n\n\nContribute\nFixed a type of function name and vaiable name\nFixed parts that could cause confusion to other developers\nhttps://github.com/argoproj/argo-workflows/pull/11604\nhttps://github.com/argoproj/argo-workflows/pull/11633\nhttps://github.com/argoproj/argo-workflows/pull/11687","-participation-review-16#🌵 Participation Review":"I wanted to contribute to a large open source community, but I felt at a loss. It was great to be able to contribute directly through this academy.\nThis was possible because a mentee with a lot of experience in contributing guided me step-by-step to contribute and encouraged me to take on the challenge.\nThrough technical seminars and technical exchanges with other developers, we were able to grow together.\nBecause ArgoWorkflow is a large-scale project, there are many difficult parts to analyze alone, but by sharing opinions with other developers, I was able to solve the problem more quickly.\nSince I have gained some understanding of the ArgoWorkflow project and have gained confidence through my small contribution experience,\nI expect that my next contribution will be easier. Even after this program ends, we plan to contribute on a larger scale by collaborating\nwith other mentees who are interested in ArgoWorkflow.","-personal-summary-15#🌵 Personal Summary":"","17-soonyeong-choi#17. SooNyeong Choi":"","-personal-activity-report-16#🌿 Personal Activity Report":"Collapse/Expand\n1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)Issue #11344\nPR #11662\nIssue Analysis\nTo understand this issue, I first needed to grasp what Default Workflows are.I learned that the workflowDefaults field in the argo workflows controller configmap allows you to set default values for workflows. Additionally, I discovered that if a workflow already has values for this field, those values take precedence.For example, after configuring the configmap as follows, when you create a Workflow,\n# This file describes the config settings available in the workflow controller configmap\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: workflow-controller-configmap\ndata:\n# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level\nworkflowDefaults: |\nmetadata:\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5\nparallelism: 3\nit will be automatically created with the values set in the workflowDefaults field, like this:\napiVersion: argoproj.io/v1alpha1\nkind: Workflow\nmetadata:\ngenerateName: gc-ttl-\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5 # Time to live after workflow is successful\nparallelism: 3\nThe issue was related to an error occurring when adding the volumeClaimTemplates value to workflowDefaults, causing errors when creating CronWorkflows or Workflows.The error message indicated, does not contain declared merge key: name.Upon checking the code, it was found that the error occurred in the StrategicMergePatch function, which is related to Kubernetes' patch strategy.\nVolumeClaimTemplates []apiv1.PersistentVolumeClaim `json:\"volumeClaimTemplates,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"name\" protobuf:\"bytes,6,opt,name=volumeClaimTemplates\"`\nThe issue arose from the fact that the VolumeClaimTemplates type defined in Workflows used name as the patchMergeKey.However, upon inspecting the PersistentVolumeClaim type below, it was found that name was not present. In other words, the problem occurred because a value was defined as the patchMergeKey that was not part of the structure.\ntype PersistentVolumeClaim struct {\nmetav1.TypeMeta `json:\",inline\"`\n// Standard object's metadata.\n// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n// +optional\nmetav1.ObjectMeta `json:\"metadata,omitempty\" protobuf:\"bytes,1,opt,name=metadata\"`\n\n// spec defines the desired characteristics of a volume requested by a pod author.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nSpec PersistentVolumeClaimSpec `json:\"spec,omitempty\" protobuf:\"bytes,2,opt,name=spec\"`\n\n// status represents the current information/status of a persistent volume claim.\n// Read-only.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nStatus PersistentVolumeClaimStatus `json:\"status,omitempty\" protobuf:\"bytes,3,opt,name=status\"`\n}\n\nIssue Resolution\nI removed the patchMergeKey from VolumeClaimTemplates.However, the reason patchMergeKey was added to VolumeClaimTemplates was to maintain consistency with conventions used for Volumes.Since this issue is related to policies, it indeed requires further discussion.This was my first PR to the ArgoWorkflows project, and it's great that i was able to identify the cause of an issue that was causing inconvenience for many people.2. Search by name for WorkflowTemplates in UIIssue #11004\nPR #11684\nIssue Analysis\nThis issue was worked on by a team of three people.\n\nWorkflowTemplates do not have a search function based on 'name', so to find a specific WorkflowTemplates, you could only search based on label.So, many users were feeling inconvenienced, and it was an issue related to 'feature improvement' that they would like to provide a function to search based on 'name'.\nIssue Resolution\n\n\nWe added additional logic to filter the results of WorkflowTemplates retrieved through the Kubernetes API based on their 'name', successfully implementing this feature.However, there was one issue.Existing pagination was implemented using Kubernetes' own continue value, so if Kubernetes results were custom manipulated like this, Kubernetes pagination could not be used.We had a lot of concerns about how to solve this, but We solved the problem by applying logic to implement cursor pagination using Kubernetes' resourceVersion.It was so fun to be able to discuss it with others instead of alone.I also felt good about providing some really needed functionality to the ArgoWorkflows project.3. A problem that is not initialized when changing the number of page limitsIssue #11702\nPR #11703\nIssue Analysis\nWhile resolving the Search by name for WorkflowTemplates in UI issue, i discovered a new pagination bug.When changing the number of pages, the continue value used for pagination was not initialized in the UI, so the data was not displayed properly.\nIssue Resolution\nI was able to solve the problem by simply modifying the logic to initialize offset when a change in page number is detected in the UI code.It was only a one-line code change, but this one line solved a problem that was quite inconvenient.4. Pagination may not work correctly for archived workflows\nIssue Analysis\nIssue #11715\nPR #11761This issue was directly communicated to us by Maintainer @terrytangyuan through Slack.\n\n\n\n\nIt felt like I was contacted by my favorite celebrity and I was so happy that I almost flew away. I suppressed my happy and excited heart and analyzed the issue.Workflows and ArchivedWorkflows were previously separated into different pages, but starting from the master version, Workflows and ArchivedWorkflows are combined into one page, and the logic has been modified to show ArchivedWorkflows together if they exist.However, when Workflows and ArchivedWorkflows were merged into one, a problem occurred with pagination.The two resources also used completely different pagination. Workflows was using the continue value, which is Kubernetes' own pagination, and ArchivedWorkflows used its own database, so it was using the database to perform pagination using the offset method.However, while passing the continue value used in Workflows to ArchivedWorkflows as is, a problem occurred where ArchivedWorkflows was not searched at all.\nIssue Resolution\nI was able to resolve the issue by referring to the pagination logic that was implemented while resolving the Search by name for WorkflowTemplates in UI issue.Since the two resources have no choice but to use different methods of pagination, rather than using pagination before merging the two resources, use a method of first searching the entire resource and merging the two resources and finally applying the pagination logic. I did it.I was able to solve the problem of ArchivedWorkflows not being searched, but fetching and merging the entire list every time the page is changed is a performance concern, so i'm thinking about a way to test performance.I plan to switch to front-end pagination if performance testing indicates that it's not working well.It was great to be able to solve a critical issue, and I felt proud and fun because I felt like I was contributing properly to the ArgoWorkflows project as a contributor.5. Relocation of Commit Guidelines Information in the DocumentationIssue #11700\nPR #11701\nIssue Analysis\nThe ArgoWorkflows project has a README document for developers attempting to contribute.However, it does not mention specific guidelines for commits.@GeunSam2 mentor mentioned that it was inconvenient when initially attempted to contribute and had difficulty finding commit guidelines.\nIssue Resolution\n\n\nUpon hearing this feedback, I made a modification to the contribution README by adding a link to commit guidelines.This change aims to make it easier for developers who want to contribute to ArgoWorkflows.In this PR, a maintainer provided a code suggestion, which was intriguing and enjoyable for me as I was encountering the code suggestion feature for the first time.","-participation-review-17#🌵 Participation Review":"If someone were to ask me what I did best this year, I would confidently say that it was my participation in the ArgoWorkflows project contribution activities.Meeting various developers in the same field, forming a sense of empathy, and engaging in discussions with them was truly enjoyable. Hearing stories about different companies was also quite interesting.During our weekly meetings, it wasn't just about working together; our mentors always conducted insightful seminars. Sundays became genuinely enjoyable, and time flew by.Meeting such capable mentors was a delight. I received advice on the concerns I had as a junior developer, my future direction, and how to study effectively as a developer, which made me happy.I always wanted to try contributing, but I was afraid to tackle such a big project. However, facing these challenges with such great mentees and mentors made my fears disappear.Submitting numerous PRs and communicating with maintainers was also a lot of fun, and it was really satisfying to see my code being incorporated.Thanks to this experience, I gained the confidence to contribute not only to ArgoWorkflows but also to other projects.I have no intention of stopping my contributions after this period ends. I plan to continue contributing to ArgoWorkflows while looking for opportunities to contribute to Kubernetes and Argo CD projects used by my company.","-personal-summary-16#🌵 Personal Summary":""}},"/2023/activites/weeklyMeets/230806":{"title":"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 06일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 송혜민, 전의정, 정성락, 김학준, 이의주, 최수녕, 서청운, 채문영, 강병선, 안지완, 강시온","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\nargo event와 workflow, cd 연동 발표(김학준)\neBPF의 개념, 필터 개발 방법, 활용사례 발표(정성락)","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230820":{"title":"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 20일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 송혜민, 전의정, 정성락, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈, 채문영, 안지완","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표(안다혜)\n이슈해커톤 a,b,c조 진행 공유","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230813":{"title":"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 13일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 안다혜, 최수녕, 김학준, 강병선, 전의정, 정성락, 서청운, 박진수","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n컨테이너의 역사와 도커 없이 컨테이너 만들기 발표(염근철)\n이슈 해커톤 계획 수립","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230827":{"title":"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 27일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 정성락, 최수녕, 이의주, 김학준, 송혜민","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n컨테이너 생태계에 관한 고찰 발표(염근철)\n이슈해커톤 a, c조 진행 공유","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230904":{"title":"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 27일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 강병선, 김수빈, 정성락, 전의정, 서청운","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n'Github Actions 쿠버네티스에서 self-hosted로 설치&운영하기 발표 (서청운)","️-기념사진#☑️ 기념사진":""}},"/2023/members":{"title":"Members","data":{"":"","멤버-목록#멤버 목록":"염근철(멘토)\n\n\n강병선\n강시온\n권영길\n김수빈\n김원식\n김학준\n박진수\n서청운\n송혜민\n안다혜\n안지완\n유윤우\n이병곤\n이의주\n전의정\n정성락\n채문영\n최수녕"}},"/2023/members/AhnDaHae":{"title":"Ahndahae","data":{"":"name : 안다혜\ngithub : da.head0\nage : 미상 ^.^\nblog : aimb\ntwitter : MM (비팔알림이 꺼져 있어서 팔로하시면 댓글이나 메시지 한번만 주세요...)\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었습니다.\n현재 SRE로 일하고 있습니다.\n2022년의 스터디봇입니다. 사실 2023년도 스터디봇으로 살고 있긴 합니다.\n치즈 조랭이떡 고양이를 키웁니다.\n키보드 좋아합니다. 같이 윤활하실분 항시 환영..."}},"/2023/members/AhnJiWan":{"title":"Ahnjiwan","data":{"":"name : 안지완\ngithub : synoti21\nage : 22\nblog : velog\n\n데이터 엔지니어링 중 파이프라인 CI/CD 배포에서 사용되는 k8s에 관심을 갖게되어 들이파게 됐고, k8s 기반 워크플로우인 argo workflow를 경험해보고자 OSS에 지원하게 되었습니다.MLOps 관련 발제 때문에 한 주간 너무 정신없어서 이제서야 올리네요ㅠㅠ다른 참가자분들에 비해 너무 부족해서 주눅드는 감이 없진 않지만 그래도 정말 열심히 참여하겠습니다."}},"/2023/members/ChaeMoonYoung":{"title":"Chaemoonyoung","data":{"":"name : 채문영\ngithub : mmonyoungCHAE\nage : 만 26살\nblog : Velog\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다.\n클라우드 서비스 백엔드 개발자입니다.\n운동 좋아해요! (헬스, 가아아끔 클라이밍)"}},"/2023/members/ChoiSooNyeong":{"title":"Choisoonyeong","data":{"":"name : 최수녕\ngithub : sunyeongchoi\nage : 만 26살\nblog : 뇽뇽\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다.웃을 때 하회탈 닮았어요. ^^\n좋아하는 운동은 수영 입니다.\n엠비티아이는 ISFP 입니다 ~"}},"/2023/members/GangByeongSun":{"title":"Gangbyeongsun","data":{"":"name : 강병선\ngithub : qudtjs0753\nage : 0~100살 사이\nblog : ??\n\n잘부탁드립니다 꾸벅\n방금 면접보고 왔습니다 ㅎㅎ\n이름을 외우기 힘드시다면 KBS로 외우시면 됩니다\n얘기듣는거 참 좋아합니다. 커피숍에서 멘토님이 기술 얘기 해주시는거 너무 재밌었습니다 더 듣고싶슴다"}},"/2023/members/GangSiOn":{"title":"Gangsion","data":{"":"name : 강시온\ngithub : Yaminyam\nage : 24\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다.\n평소에도 오픈소스에 흥미가 많고 꾸준히 기여하고 있습니다.\n개발자를 위한 개발자가 되기위해 최근에 DevOps에 흥미가 있어 Argo 프로젝트를 접해보고 싶어 참가하게 되었습니다."}},"/2023/members/GeonEuiJung":{"title":"Geoneuijung","data":{"":"name : 전의정\ngithub : juijeong8324\nage : 만 21세(01년생)\nblog : 뚜비\n\n작년 2022 오픈소스 컨트리뷰션에 참가하면서 오픈소스의 매력(?)에 빠져버렸습니다분야를 정하기 위해 이것저것 해보다가 클라우드/백엔드/Devops 쪽으로 관심이 생겨 공부를 시작하게 되었습니다휴학했습니다!! 휴학하고 6개월동안 코딩을 안 했습니다(죄송합니다)MBTI : ENTP & INTP 반반배워야 할게 산더미고 부족한게 많지만 열심히 따라가겠습니다. 감사합니다!p.s 뭘 적어야 하는지 모르겠으나 TMI 적는 공간이라 이해하고 적어봅니다.."}},"/2023/members/JungSungRock":{"title":"Jungsungrock","data":{"":"name : 정성락\ngithub: Jack-R-lantern\nage: ??\nblog: ??\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참여하게 되었습니다.container 기술을 좋아합니다.cncf를 굉장히 좋아합니다."}},"/2023/members/KimHakJun":{"title":"Kimhakjun","data":{"":"name : 김학준\ngithub : junkmm\nage : 미상\nblog : junkmm\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참가하게 되었습니다.클라우드와 데브옵스에 관심이 많습니다."}},"/2023/members/KimOwnSik":{"title":"Kimownsik","data":{"":"name : 김원식\ngithub : mihilt\nage : 미상\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다.요즘 일찍 자고 일찍 일어납니다.오늘 DCO 봇이라는 것을 처음 알게 되었습니다.\n문제 없이 DCO 봇의 체크가 통과되면 좋겠습니다."}},"/2023/members/KimSuBin":{"title":"Kimsubin","data":{"":"name : 김수빈\ngithub : sudosubin\nage : 🔐\nblog : 없음\n\n오픈소스 컨트리뷰션 아카데미 2023에서 ArgoWorkflows 프로젝트의 멘티로 참여하게 되었습니다.현재는 백엔드 개발과 DevOps 개발을 공부하고 있고, 개인적으로는 고기와 수영을 좋아합니다."}},"/2023/members/KwonYoungGil":{"title":"Kwonyounggil","data":{"":"name : 권영길\ngithub : zel0rd\nage : 미상\nblog : zel0rd\n\n다양한 분야에 관심이 있습니다."}},"/2023/members/LeeByeongGon":{"title":"Leebyeonggon","data":{"":"name : 이병곤\ngithub : binkoni\nage : 만27세\nblog : gonnux\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참여하게되었다MBTI는 INTP이다\n리눅스와 오픈소스를 매우 좋아한다 (하지만 취업하니 기여할 시간이 없어진듯 하다)\n1년 반정도 일한 백엔드 개발자이다\n퇴근후 헬스중인 헬린이다\n개발 외 취미는 재테크, 유튜브(보기), 자전거이다\n개발자로서의 초심을 되찾기 위해 컨트리뷰션 아카데미에 참가했다"}},"/2023/members/LeeEuiJu":{"title":"Leeeuiju","data":{"":"name : 이의주\ngithub : Leeeuijooo\nage : 10025세\nblog : 의주\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참여하게되었다MBTI ENFJ\n운동 좋아해요\n목욜날 면접인데 준비 안해서 떨려요\n2023 OSSCA 열심히 참여해보겠습니다"}},"/2023/members/ParkJinSu":{"title":"Parkjinsu","data":{"":"name : 박진수\ngithub : umi0410\nage : 27\nblog : https://umi0410.github.io\n\n주로 K8s, container, ArgoCD Argo Rollouts 같은 Cloud-Native한 기술에 관심이 많습니다.올해에는 영어 공부에 관심이 좀 많이 가요. 일주일에 한 번씩 화상 영어도 해보고 있고, 일주일에 한 두번씩 회화 스터디도 나가보려 노력 중이에요. 그리고 기술 블로그에 글을 쓸 때에도 요즘은 최대한 영어로도 작성해보려 노력하고 있습니다.취미로는 간간히 기타를 치고 있기도 합니다. 잘 치진 못하지만요.여행도 최대한 다녀보려고 노력하고 있어요. 작년에는 미국을, 올해에는 호주를 혼자 여행갔다왔었는데 너무 감사한 경험이었던 것 같습니다."}},"/2023/members/SeoChungWun":{"title":"Seochungwun","data":{"":"name : 서청운\ngithub : newdeal123\nage : 20~30\nblog : 뉴딜의 서랍장\n\nMBTI는 ISFJ로 극F 극J 이다.홍대병이 있어 인디밴드를 참 좋아라 한다."}},"/2023/members/SongHaeMin":{"title":"Songhaemin","data":{"":"name : 송혜민\ngithub : shmruin\nage : 미상\nblog : 없음\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참석하게 되었다.주기적으로 불면증이 있다.야근을 해서 피곤해도 집에 가면 활력이 생긴다."}},"/2023/members/YeomGeunCheol":{"title":"Yeomgeuncheol","data":{"":"name : 염근철\ngithub : GeunSam2\nage : 미상\nblog : 모두의 근삼이\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘토를 담당하게 되었다.수전증이 있다.혼자 갑자기 급발진 해서 신날때가 있다."}},"/2023/members/YouYoonWoo":{"title":"Youyoonwoo","data":{"":"name : 유윤우\ngithub : YunCow\nage : 바뀐나이로 29살\nblog : 이전중인 블로그\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참여중입니다.커피를 좋아한다."}},"/":{"title":"ArgoWorkflows-OSS","data":{"":"오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트를 위한 BaseCamp\nArgoWorkflows에 기여하고 싶으나 망설여지시는 분들은 저희 Slack 채널에 오셔서 언제든 함께 참여하실 수 있습니다.\n잘 모르시는 내용에 대해서는 멘토링을 요청하신다면 도와드리도록 하겠습니다.","활동-개요#활동 개요":"활동 목표 : ArgoWorkflows 오픈소스 기여 및 생태계 이해\n활동 방식 : 정기적 온/오프라인 미팅 및 과제 수행","본-repo-목적#본 REPO 목적":"프로젝트 페이지 생성\n참여자 GIT 활용 트레이닝\n참여자 정보 기록\n활동 기록","why-not-support-i18n#Why not support i18n?":"Because our pages using GitHub Pages for free.\nAnd Nextra(nextjs) not support i18n for export to static site."}},"/test":{"title":"Index","data":{"":"","테스트#테스트":"테스트를 위한 페이지!\n\n\n행복해져랴 얍\n카테고리를 변경해라 얍이것은 테스트 입니다.다시 행복해져라 얍ㅁㄴㅇㄹㅁㄴㅇㄹ"}}} \ No newline at end of file +{"/2023/activites/reports/fianlReportKo":{"title":"Fianlreportko","data":{"":"","tltr#TL;TR":"기여 내용 전체 보러가기","️-팀-소개#☑️ 팀 소개":"ArgoWorkflows OSS 2023팀은 1명의 멘토와, 17명의 멘티의 구성으로 총 18명이 한 팀으로 활동하였습니다.오픈소스에 대한 진입장벽을 느끼는 주니어 개발자들과 선배 개발자가 함께 힘을 모아 컨트리뷰션을 하는 멋진 행사인\n오픈소스 컨트리뷰션 아카데미의 도움으로 팀이 구성되었으며, 2023년 07월 ~ 10월까지 약 4개월 간 활동하였습니다.Git 사용법이 익숙하지 않았던 걸음마 단계부터 시작해서, 어엿한 오픈소스 컨트리뷰터가 될 때까지 저희팀이 이룬 성과를 공유합니다.","️-argoworkflows-소개#☑️ ArgoWorkflows 소개":"Argo Workflows는 컨테이너를 기반으로 한 워크플로우 엔진으로, 병렬 작업을 쿠버네티스에서 실행할 수 있는 오픈소스 프로젝트입니다.\n각 워크플로우 단계가 컨테이너로 정의되며, 여러 단계의 워크플로우를 일련의 작업으로 모델링하거나, 작업 간의 종속성을 DAG (Directed Acyclic Graph)를 사용하여 실행할 수 있습니다.즉, Argo Workflows를 사용하면 간단한 워크플로 형태의 작업 부터, 머신러닝 또는 데이터 처리를 위한 복잡한 작업 까지 쿠버네티스에서 더 빠르고 쉽게 수행할 수 있게 됩니다.\n\nArgo Workflows는 Cloud Native Computing Foundation (CNCF)에서 졸업에 성공한 프로젝트입니다.졸업 프로젝트가 되기 위해선 엄격한 표준을 충족하기 위해 CNCF가 실시하는 모든 테스트를 통과해야 합니다.\n즉, 졸업 프로젝트로 인정 받았다는 것은 Argo가 명확한 거버넌스 및 커미터 프로세스, 건전한 성장, 보안 및 컴플라이언스 준수에 대한 최고 수준을 충족한다는 것을 의미합니다.\n그 엄격한 기준으로 인해 CNCF에 등록된 프로젝트 중 졸업에 성공한 프로젝트는 약 13%에 불과합니다.실제로 Argo 프로젝트가 졸업 프로젝트로 인정 받기까지 약 5년이라는 기간동안 7000명이 넘는 컨트리뷰터와 11000개가 넘는 PR, 37만이 넘는 컨트리뷰션이 필요했습니다.뿐만 아니라, Argo 프로젝트는 현재에도 2300여개의 회사들이 코드에 기여하고 있고 8300여명이 코드에 컨트리뷰트 하고 있는 매우 활발하고 최신화된 오픈소스입니다.이로 인해 Argo Workflows는 클라우드 네이티브 커뮤니티에서 가장 대표적인 워크플로우 엔진으로 인정받고 있습니다.전 세계적으로 수 많은 기업들이 공식적으로 Argo Workflows를 도입해 사용하고 있습니다.\n이는 Argo Workflows가 큰 규모의 기업에서도 실제 작업 부하의 문제를 해결 할 수 있다는 강력한 증거입니다.Argo Workflows를 사용하는 대표적인 기업들은 다음과 같습니다.\n\n… 외 200개가 넘는 글로벌 기업들Argo Workflows와 비슷한 도구로는 Apache Airflow, Tekton, Prefect 등이 있습니다.Argo Workflows는 Kubernetes-native 엔진으로, 컨테이너 기반 워크플로우를 쉽게 조정하고 자원을 관리할 수 있습니다.\n이는 비슷한 도구인 Apache Airflow와 비교했을 때 주요한 차이점 중 하나로, Apache Airflow는 독립 실행 애플리케이션이며, Kubernetes의 기능을 본질적으로 활용하지 않습니다.\n따라서 Airflow는 자원 관리와 확장성이 Argo Workflows보다 더 어려울 수 있습니다.또한, Argo Workflows는 각 워크플로우 단계를 독립적인 컨테이너로 실행하기 때문에, 데이터 파이프라인 뿐만 아니라 CI/CD와 같은 다양한 작업을 수행할 수 있습니다.\n이는 Docker와 Kubernetes의 강력함을 활용하여 가능한 것이며, 이를 통해 제한 없이 어떤 것이든 실행할 수 있습니다.","️-주요-성과#☑️ 주요 성과":"","uiux-개선#UI/UX 개선":"Argo Workflows 프로젝트는 기여의 메인 키워드를 UI/UX개선으로 지정하고 따로 프로젝트 페이지를 운영하며 이슈들을 트레킹 할 정도로 해당 주제에 적극적인 기여를 진행하고 있습니다.\n\n저희 팀도 이러한 프로젝트의 목표를 따라 많은 UI 개선들을 수행했습니다.\n주요 개선 항목\n\nworkflows 검색 기능\ncronworkflows의 요약 view 개선\nDataPciker의 개선\nworkflows control패널의 sticky 옵션\nworkflows 목록의 label 강조 효과\n외 다양한 버그 개선","핵심-기능-개선#핵심 기능 개선":"컨트리뷰션 경험이 쌓이기 시작하면서 프로젝트에 대한 멤버들의 이해도가 올라가고, 자신감이 붙으면서 UI/UX에 관한 개선 뿐 아니라, 워크플로우 엔진의 코어한 기능에 대한 기여들도 점차 할 수 있게 었습니다.What’s new in Argo Workflows v3.5워크플로우 엔진의 핵심 로직은 쿠버네티스의 CRD로 설치되어 쿠버네티스 클러스터의 동작과 성능에도 크게 영향을 주는 만큼 구현 수준이 높고,\n각종 테스트 및 메인테이너들과의 정책에 관한 논의에도 적극적으로 참여할 수 있어야 기여가 가능한 만큼 컨트리뷰션 난이도도 굉장히 높은 기여에 속합니다.쉽지 않은 과정들이었지만, 저희 팀은 Argo Workflows 3.5버전의 릴리즈에 핵심적인 기여들을 해내는데 성공하며,\nTemplate Spec, Authentication, Controller 등의 매우 중요한 기능에 대한 기여를 Argo 공식 블로그에서 언급되며 기록을 남기기도 하였습니다.\n\nArgo Workflows의 3.5버전 릴리즈 이후에도, 계속하여 컨트리뷰터들의 DX개선을 위한 CI및 테스트 환경, Nix, Controller, Template 스펙의 새로운 피쳐 개발, Go Lang 버전 업데이트 등의 높은 난이도의 컨트리뷰션등을 이어나가고 있으며, 다음 릴리즈 배포에는 더욱 많은 기여로 Argo Workflows가 더욱 훌륭한 툴로 거듭나는데 의미있는 성과를 보태는 중입니다.","메인테이너-그룹과의-긴밀한-소통#메인테이너 그룹과의 긴밀한 소통":"저희 팀은 운이 매우 좋았습니다. Argo Workflows 프로젝트가 올해 5월에 Yuan Tang이라는 새로운 리더를 맞이하면서 프로젝트 전체의 컨트리뷰션 호흡이 매우 빨라졌다는 점입니다.보통 이런 대형 프로젝트에서는 리뷰에 상당히 오랜 시간이 걸려서 많은 컨트리뷰션을 해내기 어렵다고 생각하고 시작했었는데,\n능력있는 프로젝트 헤드와 그 팀원들 덕분에 이번 대회에 참가한 ArgoWorkflows 팀원들 모두 굉장히 많은 것들을 배우고 경험하며 짧은 시간 내에 많은 기여를 통해 성장할 수 있었습니다.\n\n기여를 이어나가다 보니, 워크플로우 엔진의 핵심적인 기능들에 대한 기여에 가까워질 수록, PR 페이지를 넘어서 CNCF슬랙을 통해 메인테이너 분들과 긴밀하게 소통하고 의견을 나눌 수 있는 상황들도 생겨났습니다.논의를 통해서 이슈를 해결하기 위해 프로젝트에서 로직을 처리하기 위한 정책을 결정하기도 하고, 연관된 다른 이슈를 할당받아 진행하는 경험을 하는 등, 오픈소스 프로젝트의 진정한 일원이 되어가는 소중한 경험을 해볼 수 있었습니다.프로젝트 기간동안 저희 팀이 기여한 작업물들을 소개합니다.","️-컨트리뷰션-아카데미-진행-과정과-활동-내역#☑️ 컨트리뷰션 아카데미 진행 과정과 활동 내역":"","git알못에서-오픈소스-컨트리뷰터가-될-때-까지#GIT알못에서 오픈소스 컨트리뷰터가 될 때 까지":"저희 팀은 마스터즈 단계 참가자 17명 중에서, 12명은 GIT을 통한 제대로 된 협업/코드리뷰 경험이 없는 멤버들로 구성이 되어 있었습니다.쿠버네티스를 엔진으로 삼고 동작하는 CRD인 만큼 쿠버네티스에 대한 높은 이해도가 필요한 프로젝트인데, 쿠버네티스를 제대로 써본 경험이 있는 멤버는 고작 4명에 불과 했습니다.처음에는 어떻게 시작해야할지 감도 안잡히고 막막했던 상황이었지만, 멘토와 함께 하는 GIT 연습 및 컨테이너, 쿠버네티스에 익숙해지기 위한 연습용 REPO에서의 다양한 과제 수행 및 스터디의 결과로 하나 둘씩 Argo Workflows라는 툴에 익숙해지기 시작했습니다.그러한 결과, 현재 보고서를 쓰는 시점에는 마스터즈 단계 참가자 17명 전원 PR을 생성해 보는 즐거운 경험을 해 볼 수 있었습니다.\n\n\n컨트리뷰션 활동 요약\n또한, 처음에는 툴에 익숙해고 배경 지식을 습득하는데 바빠 적극적으로 하지 못했던 컨트리뷰션 활동도 시간이 갈수록 가속도가 붙어서 9월에는 첫주차만에 지난달 한달 동안 기여한 PR에 가까운 갯수를 따라가게 될 정도로 멤버들의 실력이 빠르게 성장하고 있습니다.\n\n\n월별 활동 그래프\n저희 팀이 지금의 기여활동을 해내기까지 수행한 다양한 활동들을 소개합니다.","git-사용-연습을-위한-repo-생성-및-기여-활동-진행#GIT 사용 연습을 위한 REPO 생성 및 기여 활동 진행":"REPO주소 : https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io\n\n목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성.\n\n\n\n- 목표 상세\n- 아래 두개 파일을 수정/추가 해서 유저 정보를 업데이트 하는 PR을 생성해요.\n- `docs/users/users.md`\n- `docs/users/[이름].md`\n- [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)\nPR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요.\n- Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요.\n- [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요.\n- [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요.\n- [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요.\n- [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)","컨테이너-기초-특별반-운영#컨테이너 기초 특별반 운영":"페이지 주소 : https://github.com/ArgoWorkflows-OSS/container-playground\n\n목표 : 본인만의 서비스를 만들고, 컨테이너화 하는 CI를 구성하기\n\n\n\n\n\n- 목표 상세\n나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다.\n과제 통과를 위해서 반드시 아래 사항을 준수해 주세요.\n\n- 디렉터리 및 파일 배치\n\n- 개인 서비스를 개발할 때 꼭 본인의 GitHub 계정 디렉터리를 생성하고 그 아래에 코드를 작성하세요.\n- 본인 디렉터리 내 최상위에는 반드시 `Dockerfile`이 위치해야 합니다. (이 조건을 만족하지 않으면 CI가 실패할 수 있습니다.)\n- 본인 디렉터리 아래에서 `Dockerfile`의 위치를 제외한 다른 파일은 자유롭게 작성할 수 있습니다.\n- 다만, 본인 디렉터리 최상위에서 `docker build -t [이미지명] .` 명령을 실행했을 때 이미지가 성공적으로 빌드되어야 합니다.\n\n- 빌드된 이미지의 동작\n\n- 개인 웹 서비스는 반드시 8080 포트에서 동작해야 합니다.\n- 빌드된 이미지는 별도의 매개변수 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 명령을 실행했을 때 문제 없이 서비스되도록 만들어야 합니다.\n\n- 웹 서비스 개발 언어 및 서비스 구조\n- 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다.\n- UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다.\n- 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)\n1. /api/v1/[본인 github계정]\n2. /healthcheck\n- (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))\n- [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)","팀내-이슈-해커톤-개최-및-진행#팀내 이슈 해커톤 개최 및 진행":"이슈를 지정하여 조별로 한 이슈를 기간 내에 해결하기 위한 팀내 해커톤","argo-workflows-컨트리뷰터--커뮤니티-정기-미팅-참여#Argo Workflows 컨트리뷰터 / 커뮤니티 정기 미팅 참여":"Argo Workflows 공식 컨트리뷰터/커뮤니티 미팅 참여 오픈소스 컨트리뷰톤 소개","argo-workflows-oss-팀-페이지-생성-및-운영#Argo Workflows OSS 팀 페이지 생성 및 운영":"페이지 주소 : https://argoworkflows-oss.github.io/\n\n제작 프레임워크 : nextra","매주-최소-1회-이상-오프라인-모임활동-진행#매주 최소 1회 이상 오프라인 모임활동 진행":"정기 모임 활동\n\n매주 일요일 정기 오프라인 모임 날짜로 선정하여 정기적인 모임활동을 진행했습니다.\n모임활동을 통해 해결할 이슈 탐색과 본인의 이슈 해결 경험에 대한 공유 및 진행 중 발생한 오류에 대한 논의 등 다양한 소통 활동을 진행했습니다.\n오프라인 정기 모임에 대한 자세한 정보는 여기 링크를 통해 확인하실 수 있습니다.\n\n\n\n\n관심 주제 발표 활동\n\n오프라인 모임활동 시간 중 본인의 관심사에 대해 자유주제로 발표를 진행했습니다.\n관심 주제 발표 주제 및 발표자\n순서\t제목\t발표자\t발표일\t1\t당근마켓에서 Argo Workflows 도입한 사례\t염근철\t7월 15일\t2\t실시간 통신을 위한 WebRtc의 개념 및 활용사례\t송혜민\t7월 30일\t3\tArgo Workflows와 Keyclock 연동방법\t최수녕\t7월 30일\t4\tArgo Project로 CI/CD 구현하기\t김학준\t8월 6일\t5\teBPF의 개념, 필터 개발 방법, 활용사례 발표\t정성락\t8월 6일\t6\t컨테이너의 역사와 도커 없이 컨테이너 만들기\t염근철\t8월 13일\t7\t개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표\t안다혜\t8월 20일\t8\t컨테이너 생태계에 관한 고찰\t염근철\t8월 27일\t9\tGithub Actions 쿠버네티스에서 self-hosted로 설치&운영하기\t서청운\t9월 2일\n\n\n\n\n\n모각코\n\n비정기적으로 모여서 각자 코딩하는 모각코 진행했습니다.\nArgoWorkflow의 구조나 이슈 분석하는 등 기술 교류를 진행했습니다.","️-참가자-기여-내용-상세#☑️ 참가자 기여 내용 상세":"","0-염근철멘토#0. 염근철(멘토)":"","-참가-후기#🌵 참가 후기":"작년, 그리고 올해 ArgoWorkflows라는 프로젝트를 만나면서 정말 많은 것을 느끼고 배웠습니다.이번 행사에서 멘토로 참여했지만, 오히려 제가 더 많은것을 배우고 얻어가는 것 같습니다.함께 행사에 참가해서 마지막까지 최선을 다해주신 멘티 여러분들께도 진심으로 감사드리고, 앞으로도 오픈소스 활동을 함께 이어나가는 동료가 되었으면 좋겠습니다.행사 기간동안 오픈소스 생태계의 문화에 대해서도 다시한번 생각할 수 있는 시간이 되었고, CI 환경이나 알고있다고 생각하고 넘어갔었던 다양한 Git활용 기법들을 다시한번 공부할 수 있었습니다.ArgoWorkflows라는 프로젝트에 더 큰 애정이 생겼고, 앞으로 어떤 기회들이 있을지 모르겠지만, 더 다양한 분야에 대해서 기여해 보고 싶다는 생각입니다.","1-강병선#1. 강병선":"","-개인-성과-보고#🌿 개인 성과 보고":"접기/펼치기\n\n개인 성과\n문서기여 #11762 Remove helm installation guide and Add helm documentation link\nMinIO 설정을 위해 helm 설치를 해야하는데, mac에 관련된 설정만 나와 있어 helm 공식문서에 접근할 수 있도록 수정하였습니다.\n\n\n문서기여 #11735 Add installation option descrption\nmanaged namespace 옵션에 대한 상세한 설명을 추가해보았습니다.\n여기서 Kubernetes의 Documentation 컨벤션이 존재한다는 것을 메인테이너분께 배웠습니다.\n\n\n\n\n컨트리뷰션 준비 과정 및 활동\nGithub 기초 익히기\n멘토님께서 과제로 본인의 프로필을 업데이트 하는 과제를 주셨습니다. GPG와 DCO봇의 개념을 익혀보며 github에 더 친숙해지는 시간을 가졌습니다.\n\n\n\n\n\nDocker 왕초보 특별반\nDockerfile을 사용해서 도커 이미지를 만드는 활동을 했습니다. 멘토님께서 정리하신 자료를 읽고 개념을 익혔습니다.\n추가적으로 이미지를 만들 때 실행 시 필요한 기능만 넣도록 multi stage build를 적용해보았습니다.\n\n\n\n\n\n\n실습 이후 멘토님께서 Overlay FS에 대해 하나하나 보여주시면서 이미지가 어떻게 만들어지는지 보여주셨습니다. 이건 정말 알찼습니다..\n\n\n쿠버네티스 기초 공부\n컨트리뷰션 이전에 쿠버네티스의 기초를 공부하는 시간을 가졌습니다.\n개인 공부자료\n\n\n\n\nArgo workflows\ntemplate을 만들어보며 스스로 공부하는 시간을 가졌습니다.\n학준 멘티님이 GCP에서 ArgoCD와 Argo Workflows를 활용해 배포하는 파이프라인을 알려주셨습니다.\n\n\nOSS 모임 활동 참여\n멘토님과 멘티분들께서 다양한 주제로 발표하는 시간을 가졌습니다. 컨트리뷰션 이외에 실무에서 어떤 문제들을 고민하는지, 그리고 문제들을 어떻게 해결했는지 들을 수 있는 좋은 시간이었습니다\n\n\n해커톤 참여\n성락 멘티님이 많은 도움을 주셨습니다. 괜찮다고 생각하는 이슈들을 공유해주시고 항상 도전할 것을 권해주셨습니다.\n\n\n\n#11609 Compile expr in config 이슈를 추천해주셔서 도전해보았습니다.\nGolang을 스스로 공부해보고 Issue를 분석하는 시간을 가졌습니다.\ngolang에 좀 더 친숙해질 수 있는 시간이 되었습니다.","-참가-후기-1#🌵 참가 후기":"참가후기\n주니어 개발자인 저에게 이 활동은 단순히 컨트리뷰션을 위한 것이 아니라 아니라 개발자들이 무엇을 고민하는지, 어떻게 성장하는지 확인할 수 있는 소중한 시간이었습니다.\n도움을 너무 많이 받아서 항상 감사합니다. 너무 좋은 분들 만나뵈서 행복한 시간이었습니다.\n컨테이너와 친해지는 첫 걸음을 뗀 것 같아 기쁩니다.\n\n\n앞으로의 계획\n개발에서 사용하는 모든 오픈소스에 관심을 가지고 기여할 수 있도록 하겠습니다.\nArgo workflows를 실제 프로젝트에 적용해보고 더 기여할 방안들을 찾아가겠습니다!","-기여-요약#🌵 기여 요약":"","2-강시온#2. 강시온":"","-개인-성과-보고-1#🌿 개인 성과 보고":"접기/펼치기\n\nIssue 1개, PR 3개\nGitHub Actions log 가독성 향상을 위한 이름 수정\nhttps://github.com/argoproj/argo-workflows/pull/11670\npublish-release에서 진행하는 step중 Run actions/cache@v3를 총 세번 수행하는데 각자 하는 역할이 다른데 같은 이름으로 표기되어 있어 같은 작업이 세번 이루어지는 것처럼 느껴 질 수 있는 부분을 각자 역할에 맞는 이름으로 수정\n\n\nGitHub Actions 필요없는 캐시 로직 삭제\nhttps://github.com/argoproj/argo-workflows/pull/11754\nsetup-go actions에서 cache option을 false로 주지않는 이상 default로 caching을 해주기때문에 중복되는 캐시때문에 발생하던 오류를 수정\n\n\nDeprecated 된 NodeJS 16 버전을 사용하는 checkout@v3를 모두 checkout@v4로 업그레이드\nhttps://github.com/argoproj/argo-workflows/pull/11782\nNodeJS 가 곧 보안지원이 종료되므로 최신버전을 사용하는 actions을 사용하도록 수정","-참가-후기-2#🌵 참가 후기":"작년의 경험이 너무좋아 올해도 참가하게 되었는데 올해는 작년과 다른 느낌으로 또 너무 좋은 경험을 했습니다.\n다들 열정적인 팀원들과 활발한 프로젝트 덕분에 텐션이 떨어지지 않고 프로젝트에 관심을 가질 수 있었던것 같고, 해당 프로젝트 뿐만 아니라 관련된 이야기 까지 나눌 수 있는 동료가 생긴것 같아 너무 행복합니다.","-기여-요약-1#🌵 기여 요약":"","3-권영길#3. 권영길":"","-개인-성과-보고-2#🌿 개인 성과 보고":"접기/펼치기\n[프로젝트 기여 항목]\n버그수정 Argo Workflow Datepicker 개선 (완료)workflow 목록 페이지의 filter 기능 중 하나인 datepick의 ui를 개선\n\n\n\n이슈링크UI: Datepicker Style Malfunction Issue · Issue #11476 · argoproj/argo-workflowsPR링크fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd · Pull Request #11480 · argoproj/argo-workflows\n버그수정 Cron workflow의 State filter 초기값 설정(완료)cron workflow의 status filter가 초기값과 상관없이 랜더링 되는 버그 수정\n\n이슈링크ui: Cron workflow initial filter value · Issue #11685 · argoproj/argo-workflowsPR링크https://github.com/argoproj/argo-workflows/pull/11686\n버그수정 초기 페이지에서 발생하는 webpack 관련 warning 제거하기 (진행중)argo workflow ui 로드시 발생하는 웹팩 워닝을 제거하기현재 관련 라이브러리들의 의존성 및 기능을 테스트 하는 중\n\n\n기능개선 로그인 페이지 개선 (진행중)Argo Workflow의 기존 로그인 페이지를 Argo CD와 같은 형태고 개선하는 이슈현재 workflow에서 제공하는 로그인 기능을 분석하고, 이후 새로운 설계 및 디자인을 적용할 예정이슈링크Similar login page to Argo CD · Issue #10816 · argoproj/argo-workflows\n\n[프로젝트 활동 내역]7.8 발대식(프로젝트 소개 및 자기소개)\n발대식 진행\n\n\n\n별명을 이용한 자기소개 시간\n프로젝트에 대한 대략적인 소개\n모임활동 규칙을 위한 다수결 투표\n다음 모임 활동은 발대식 참석자들의 다수결에 따라 정기 일정과 다르게 토요일(07/15) 오후 1시부터 진행하기로 했습니다. 계획된 활동 주제는:\n다음 한 주간 진행할 공통 활동에 대한 리뷰 또는 이야기 나누는 시간\n서로 관심 있는 주제에 대한 소통 시간\n멘티 여러분들의 진행도에 따라 개발 환경 설정도 진행해 볼 수 있습니다. (Optional)\n(공통 활동 내용은 내일 일과 시간 내로 정리해서 공유드릴 것입니다.)\n\n\n\n7.15 1차 모임 (개발환경 설정 및 workflow 기능 소개)\nOpen Up에서 1차 모임 진행\n개발 환경 설정 (dev-container)\n플레이그라운드 미션 (DCO 봇 체크 통과, GPG를 이용한 커밋, 커밋 메시지 컨벤션)\n실제 오픈소스 프로젝트에 바로 도전하기 전에 플레이그라운드를 생성했습니다. 첫 목표는 이 플레이그라운드의 프로젝트에 외부인의 입장에서 이슈/PR/커밋 등을 수행하는 것입니다. 간단하지만 처음 경험하는 입장에서는 생각하지 못한 관문이 존재할 수 있으니 집중해 주세요. 첫 이슈를 일찍 해결하면 추가로 지시할 사항을 전달해 드릴 것입니다. ㅎㅎ\n저장소: https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS\n목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성해요.\n\n\n\n7.23 2차 모임(관심있는 이슈사항 공유)\n성수에 모여서 2차 모임 진행(무신사 장소제공 - 안다혜 멘티 지원)\n관심있는 이슈에 대해 소개하고, 서로의 문제 공유하기\n\n\n\n\n8.6 4차 모임발표활동\nargo event와 workflow, cd연동\neBpf\n\n\n\n8.13 5차 모임발표활동\nwebRTC\n\n\n\n8.20 6차 모임발표활동\n개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC\n\n\n\n[프로젝트 활동 내용]\n[기여를 위한 학습]\n쿠버네티스 아키텍처 강의 - YouTube 링크\n쿠버네티스 리소스 강의 - YouTube 링크\nGo Playground - https://go.dev/play/\n\n\n배운점 및 느낀점\n프로젝트에 기여하기 위해선 해당 분야의 도메인 지식이 중요하다는 것을 깨달았습니다.\n단순히 웹서비스에 기여하고자 하였지만, 쿠버네티스에 대한 지식부족으로 환경셋팅하는 것부터 쉽지 않았습니다.\n큰 오픈소스 프로젝트에선 DCO/GPG 같은 것을 사용한다는 것을 배웠고, 오픈소스 프로젝트가 어떻게 관리되고 운영되는지 배워볼 수 있었습니다.\n\n\n이슈 및 PR내역","-참가-후기-3#🌵 참가 후기":"우선 ‘오픈소스 컨트리뷰션’이라고 하면 여러가지 감정이 교차하는 일이였습니다.\n다른 개발자들과 함께 오픈소스에 기여하고, 이를 통해 공유/협업하는 오픈소스의 문화를 경험한다는 것은 개발자에게 큰 기쁨이자 보람이라고 생각합니다.\n하지만 이전에도 여러차례 컨트리뷰톤을 할 때 겪었던 막연함과 두려움은 또 다시 도전하는 것을 주저하게 하는 커다란 벽이였습니다.이번 3번째 참가를 결심하게 되었을 때 다짐했던 것이 ‘이전에는 학생이라, 잘 몰라서, 취업준비로 바빠서 등등의 변명은 더 이상 통하지 않는다. 꼭 이번엔 성공해야지’ 였습니다.\n그랬기 때문에 더욱 부담이 되기도하고 설레기도 했던 시작할 때의 다짐이 아직도 생생하네요.\n프로젝트를 지원할 때, 잘 아는 분야를 할까? 새로운 분야를 할까? 라는 고민을 했었는데 스스로에게 공부도 되고 열심히 하기 위해 접해보지 않은 devops와 관련된 프로젝트를 지원했습니다. 이러한 결정은 얼마지나지 않아 후회로 다가왔습니다.\n기여를 하기도 전에 공부해야 할 내용이 많고, 프로젝트의 기본적인 환경구축에도 많은 시간이 허비되었습니다. 하지만 다른 팀원들과 함께 매일같이 서로의 어려움을 공유하고 도움을 주기위한 적극적인 활동으로 개발환경이 구축되자 너무나 설레는 시간이 다가왔습니다.\n환경이 구축되고 내가 할 수 있는 이슈를 찾는 것도 새로운 즐거움이였습니다. 업무에서 발생하는 오류나 버그들은 언제나 예민하게하고 귀찮은 것이였는데, 아카데미에서는 내가 할 수 있는 미션과 같이 다가왔고, 그 과정은 게임과 같이 즐거웠습니다.어느덧 참가후기를 쓰고 있는 지금, 내가 기여한 내역들이 너무 뿌듯하고 대견한 느낌이 듭니다. 또한 이런 과정을 함께 도와준 동료들과 멘토님에게 감사합니다.앞으로는 argo-workflow 프로젝트를 업무에 적용할 수 있는 방안에 대해 고민해보고, 이 때 발생하는 이슈들에 대해 적극적으로 기여할 수 있는 방향을 고민해보려고 합니다. 또 다른 좋은 프로젝트가 있다면 새로운 프로젝트에도 기여를 하고 싶습니다.\n감사합니다.","-기여-요약-2#🌵 기여 요약":"","4-김수빈#4. 김수빈":"","-개인-성과-보고-3#🌿 개인 성과 보고":"접기/펼치기\n\n개인 성과\n이슈 1개, PR 1개 기여\n\n\n컨트리뷰션 준비 과정\nYouTube에 업로드 된 OSSCA 기본 교육을 확인했습니다. Git, Vim 등 기존에도 많이 사용해보고 개념도 알고 있는 내용이었지만, 평소에 사용하면서 모르고 있었거나, 대충 사용하던 부분들도 많이 알고 이해할 수 있었습니다.\nArgoWorkflows-OSS/ArgoWorkflows-OSS 저장소에서 Git 환경 설정 및 Issue와 PR을 연결하고 클로즈하는 예제를 진행했습니다. Argo Workflows는 PR 생성 시에 모든 커밋이 gpg private key로 서명되어 있어야 하고, sign-off 되어 있어야 합니다. 그렇지 않은 경우 GitHub CI에서 failure 하게 됩니다. Argo Workflows에 실제로 기여하기 전, 미리 로컬 Git 환경을 설정하고 모의로 PR을 생성하는 데 큰 도움이 되었습니다.\nhttps://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38\n\n\nArgo Workflows 개발 환경을 설정했습니다. 처음에는 devcontainer를 이용해 설정했고, 이후에 Nix를 이용했습니다. Argo Workflows는 개발 환경에서 React UI, Argo Server, MySQL 등 여러 컴포넌트가 함께 필요해 개발 환경을 구성하기 어려운 편인데, 여러 주차에 걸쳐 개발 환경을 완전히 구성할 수 있었습니다.\n\n\n컨트리뷰션 진행 내용\n버그수정 Nix go build 수정\nhttps://github.com/argoproj/argo-workflows/pull/11635\n기존 코드 베이스는 Go 1.20을 사용하고 있었으나, Nix 빌드 파일에서는 Go 1.19를 사용하는 문제가 있었습니다. 기존에는 빌드가 문제 없이 되었었지만, Go 1.20에 새로 추가된 문법을 사용하기 시작하면서 Nix 빌드에 문제가 발생했습니다.\n_module.args 를 이용해 Go 1.20을 기본으로 사용하도록 수정하고, Nix 빌드를 수정했습니다.\n\n\n기능개선 Nix go vendor hash 자동 갱신\nhttps://github.com/argoproj/argo-workflows/issues/11691\n컨트리뷰션을 준비하는 과정에서 개발 환경을 설정할 때 알게 된 이슈입니다. Nix는 재현 가능한 빌드를 추구하는데, GitHub의 Dependabot이 자동으로 Go module 버전을 올려줄 때 Nix의 의존성 hash 값은 함께 변경하지 않는 문제가 있습니다.\n이로 인해 종종 개발 환경을 설정할 때 개발자들이 직접 수동으로 Nix의 go vendor hash를 계산해 갱신해야 하는 상태인데, 이를 개선하기 위해 해결 가능한 방법들을 찾아보고 있습니다.\n해결 방법을 기여자들과 함께 찾기 위해, 기존 PR과 Comment들의 내용을 모아 Issue를 생성했습니다.\n기존 다른 오픈소스 프로젝트들에서도 해결하지 않고 개발자들이 수동으로 반영하고 있는 상태여서, Argo Workflows에서 기여한 이후에는 다른 프로젝트들에도 기여할 수 있을 것 같습니다.\n\n\n기능개선 CHANGELOG.md 스크립트 개선\nhttps://github.com/argoproj/argo-workflows/pull/11733\nMarkdownlint는 프로젝트 내 문서들을 일관된 형식으로 작성될 수 있도록 강제하고, 문서를 더 읽고 수정하기 쉽게 만들어주는 도구입니다.\n기존에 Markdownlint를 사용해 프로젝트 Markdown 문서에 대한 린터 설정을 구성했었는데, 스크립트를 이용해 자동으로 생성되는 CHANGELOG.md 파일은 린터 룰에 맞지 않아 이를 개선했습니다.\n변경된 스크립트를 통해 새로 생성된 CHANGELOG.md 변경 사항은 이 PR에 담겨 있습니다. → https://github.com/argoproj/argo-workflows/pull/11773\n\n\n기능개선 문서 스타일 개선\nhttps://github.com/argoproj/argo-workflows/pull/11787\nMarkdownlint를 따르지 않는 일부 문서들의 스타일을 개선했고, 자동으로 생성되는 문서들에 대해서는 이후 PR에서 수정하기로 공유했습니다.","-참가-후기-4#🌵 참가 후기":"프로그램 참가 후기\n혼자서 기여하려고 했다면 불가능했을 것 같은데, 멘토 님과 다른 멘티 분들과 함께 모여서 공부하고 기여하면서 저도 기여를 준비하고 기여할 수 있었던 것 같습니다.\nArgo Project 생태계와 커뮤니티에 대해 이해하고, Argo Workflows 프로젝트에 대해 전보다 훨씬 깊게 이해하게 되어 좋았습니다.\n\n\n향후 기여 계획\n현재 생성한 Issue에서 기여자들과 해결 방법에 대해 논의하고, 이를 구현할 예정입니다.\n이후에 Nix 개발 환경을 개선하고, devcontainer로 구성된 개발 환경을 점진적으로 Nix로 이전하는 작업을 진행할 예정입니다.\nNix와 관련한 문서가 빈약해, 문서도 개선할 예정입니다.","-기여-요약-3#🌵 기여 요약":"","5-김학준#5. 김학준":"","-개인-성과-보고-4#🌿 개인 성과 보고":"접기/펼치기\n리팩토리fix: Upgrade Go to v1.21 Fixes #11556[**Merged]**\nArgo Workflows는 Go언어로 개발되어 있습니다.\nGo Version을 1.20 → 1.21로 업그레이드 하는 Issue가 발행되어 해결해보자 하였습니다.\n이슈 해커톤 기간에 해당 이슈를 제시하여 같은 팀원 분들과 함께 이슈 해결 및 PR을 진행했습니다.\n결과적으로 첫 PR과 첫 컨트리뷰터 뱃지를 달아볼 수 있는 영광스러운 시간이었습니다.\n\nfix: Upgrade Go to v1.21 Fixes #11556 by junkmm · Pull Request #11601 · argoproj/argo-workflows(opens in a new tab)소그룹 발표\nChallenges 기간에 Argo Projects를 활용한 CI/CD 구현했던 결과를 주제로 Offline 미팅 시간에 발표하는 시간을 가졌습니다.\n발표하며 제 생각을 정리하고, 서로 대화하며 데브옵스와 Argo Project 생태계를 이해할 수 있는 유익한 시간이었습니다.\n\n\n\n이슈 해커톤\n컨트리뷰션 활동에 진입 장벽과 동기부여를 위해 안다혜님의 의견으로 멘토님 주도하에 이슈해커톤이 진행되었습니다.\n멘토님의 주도하에 성락님과, 문영님, 병선님과 같은 팀이 되었습니다.\n이 기간에 제가 제시한 go 1.20 → 1.21 업그레이드 이슈 해결 성과를 달성했습니다.\nArgo Workflows에 내장된 Prometheus Metric 값을 추가하는 Issue를 해결해보고자 했으나, 높은 난이도로 인해 중단되었습니다. 하지만 이 과정을 통해 Prometheus는 별도의 Exporter를 설치해야만 한다 라는 제 고정관념이 무너지고 시야가 확장되는 좋은 경험을 했습니다.\nplan to add workflow labels to the metric? · Issue #9849 · argoproj/argo-workflows(opens in a new tab)\n아래 이슈를 해결하고자 하고 있습니다. Compile expr in config · Issue #11609 · argoproj/argo-workflows(opens in a new tab)\n\n왕 초보 특별반 - Container Playground\nArgo Workflows는 쿠버네티스 네이티브 환경에서 기동되는 오픈소스 입니다.\n멘토님은 쿠버네티스에 대한 지식이 있어야 우리 프로젝트를 접근하는데 있어 도움이 된다고 하시며 쿠버네티스 스터디를 Open 하였습니다.\n첫 번째 미션은 제시하는 조건에 만족하는 Web Container를 생성하는 것이었습니다.\n\n\n\n평소에 Dockerfile을 생각없이 작성하던 저에 대해 반성하게 됐고, 멀티 스테이징과 빌드 속도와 도커파일 작성 방법에 대한 관계를 배울수 있던 좋은 시간이었습니다.","-참가-후기-5#🌵 참가 후기":"참가 후기결론 먼저 말씀드리면 만족중에 대 만족 입니다. 컨트리뷰션 초기 정말 오픈소스 생태계를 잘 알지 못했던 저에 비하면 현재의 저와는 비교할 수 없을 것 같습니다. 대 만족하는 이유는\n첫째, 똑똑한 조원 분들 입니다. 매주 다양한 주제와 사람들 께서 현업에서 사용하는 기술, 관심있는 기술 등 발표를 정말 많이 해 주셨는데, 어디가서 들을 수 없는 명품 강의였고, 정말 많은 도움이 된 시간이었습니다.\n둘째, 든든한 조원 분들 입니다. 아무래도 개발 경험이 적은 저로써 이 컨트리뷰션 기간이 조금 무서웠습니다. 하지만 저희 리더 멘티님인 성락님을 비롯하여 많은 분들이 슬랙에 질문을 올렸을때 적극적으로 알려주신 덕분에 제가 겪은 문제들을 스무스 하게 넘어갈 수 있었습니다.\n셋째, 쾌적한 모임 공간과 든든한지원입니다. 매주 일요일 서초 오픈업 공간에서 모임을 했는데, 신축 건물인지 정말 깔끔하고, 탕비실의 커피와 간식은 그저 빛이였습니다. 또 중간 회식에서는 정말 배터지게 맛있는 양꼬치를 먹을 수 있어서 좋았습니다.앞으로의 계획올해 컨트리뷰션 활동을 통해 확실히 오픈소스 생태계를 이해할 수 있었습니다. 다만 아쉬운점이 있다면 초반에 무서워서? 소극적으로 활동 했던 것과, 아무래도 소극적일 수 밖에 없었던 제 작고 귀여운 코딩 실력입니다. 저는 컨트리뷰션 활동 기간이 정말 값졌기 때문에, 저의 미흡한 점을 보완해서 다음 해 에도 꼭 참여하고 싶습니다.","-기여-요약-4#🌵 기여 요약":"","6-박진수#6. 박진수":"","-개인-성과-보고-5#🌿 개인 성과 보고":"접기/펼치기\n기능개선A new feature to support Secrets as a type of parameters (링크)\n\n\n\n기존의 Argo Workflow는 WorkflowTemplate에 argument(인자)를 전달할 때 직접 인자를 정의할 수도 있고, ConfigMap을 참조하도록 설정할 수도 있었습니다. 하지만 일반적인 kubernetes 생태계를 지원하는 다른 도구들과 달리 Secret을 참조하는 기능은 지원되지 않았습니다.이에 대한 Feature request가 https://github.com/argoproj/argo-workflows/issues/5506에서 이루어지기 시작했고, 해당 기능을 구현해 Draft PR을 만들어둔 상태입니다.이 기능은 특히나 Kubernetes에서의 CustomResourceDefinition이라는 인터페이스와 같은 것의 정의를 바꿔야하고, workflow가 생성되어 사이드카를 주입받고 Pod로 생성되는 일련의 라이프사이클을 모두 파악해야했기에 개발하기 쉽지 않은 편이었습니다.하지만, 해당 기능을 구현해나가면서 Workflow가 결국 Pod와 container로 변환되어 동작하게 되는 과정을 깊이 있게 파악할 수 있었고, Workflow가 내부적으로 context 및 argument를 templating하는 로직도 많이 파악할 수 있었던 이슈였습니다.이슈생성Incorrect creator labels on a resubmitted Workflow (링크)\n\n\n\nArgo Workflow에는 동일한 template을 바탕으로 Workflow를 다시 생성하고 실행하는 Resubmit이라는 기능이 존재합니다. Resubmit된 Workflow의 경우 Workflow 생성 유저 관련 k8s object label이 Resubmit한 유저를 바탕으로 설정되는 것이 아니라 기존 잘못된 값으로 설정되는 버그가 존재했습니다.이로 인해 한 Workflow를 실행한 유저와 그 Workflow를 Resubmit한 유저가 다르면 Resubmit을 통해 생성된 Workflow에는 잘못된 Workflow 생성 유저 관련 k8s object label이 붙곤 했습니다.이에 대한 이슈를 제기했습니다.버그수정fix: Apply the creator labels about the user who resubmitted a Workflow (링크)\n\n\n\n앞서 생성했던 이슈(버그)를 해결하는 Pull Request를 작성했습니다.Resubmit 시에 기존 Workflow 실행자의 정보를 고려하지 않고 Resubmit한 유저 정보만을 바탕으로 올바른 Workflow 생성자 k8s object label을 달도록하여 버그를 수정했습니다.변경사항에 대한 예시로 foo라는 유저가 실행한 Workflow를 bar라는 유저가 Resubmit한 경우, 인증되지 않은 유저가 Resubmit한 경우 creator 관련 label이 어떻게 달리는지를 제시했습니다.또한 다른 코드에도 많은 영향을 끼친 부분이 존재해 이에 대한 테스트 코드도 작성해 안정성을 높였습니다.기능개선feat: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (링크)\n\n\n\n로그인한 유저가 CronWorkflow를 만든 경우 CronWorkflow에는 생성자에 대한 k8s object label이 붙게 됩니다. 하지만 CronWorkflow의 설정을 바탕으로 주기적으로 생성되는 Workflow에는 해당 k8s object label이 붙지 않게 되는 이슈가 존재했습니다.따라서 CronWorkflow로 생성되는 Workflow들이 CronWorfklow의 생성자 라벨을 그대로 전파받도록 개선했습니다.이슈생성Insufficient logging in /oauth2/callback handler when using SSO Authentication (링크)\n\nKeycloak이라는 Identity Provider 오픈소스 제품을 이용해 Argo Workflows에 SSO(Single Sign On)으로 인증 기능을 활성화하려했으나 이 과정에서 로그가 부족해 활성화 작업이 크게 지연된 것을 경험했습니다. 이에 해당 기능 활성화 작업에 대한 로깅 강화를 주제로한 이슈로 열었습니다.기능개선feat: Improve logging in the oauth2 callback handler (링크)\n\n위에서 언급한 이슈(블록 링크)를 해결한 Pull Request입니다. SSO를 위해 OAuth2 Protocol을 이용하는 과정에서 발생하는 에러 케이스별로 에러 로그를 출력하도록 기능을 개선했습니다.또한 Pull Request의 Reviewer가 좀 더 편하게 리뷰할 수 있도록, Pull Request가 설득력을 갖도록, 변경사항을 검증할 수 있는 Verification을 코드로 나타냈습니다.공부docs: Add a user named 박진수 (링크)\n\n행사를 시작하면서 멘토님께서 GitHub에과 친해질 수 있도록 만들어주는 레포지토리의 멤버 프로필에 저에 대한 소개를 추가해 Pull Request를 생성해보는 실습을 진행했습니다.","-참가-후기-6#🌵 참가 후기":"그동안 수많은 오픈소스를 활용해 업무를 하고 취미생활을 하면서도 단순히 사용자로서만 남아있었던 제가 유명 오픈소스의 컨트리뷰터가 될 수 있었던 좋은 기회였습니다.멘토님의 도움으로 Argo Workflow를 통해 오픈소스 컨트리뷰션 활동에 입문할 수 있었고, 컨트리뷰터 간의 실시간 화상 미팅의 두려움도 극복할 수 있었으며, 다른 사람이 작성한 코드도 거부감 없이 읽어보는 습관을 기를 수 있었습니다.저는 지금 Argo Workflow뿐만 아니라 Argo Rollouts, Istio 등 클라우드 네이티브한 환경에서 많이 사랑받고 있는 오픈소스에도 많은 관심을 갖고 있으며 Slack을 통해 컨트리뷰터들과 자주 소통해오고 있습니다.오픈소스 컨트리뷰션을 진행하기 전의 저였다면 이러한 소통 조차도 꺼렸을 것이 분명합니다. 하지만 이제는 이런 소통에 전혀 부담이 없고 앞으로는 Argo Workflow에서 제가 기여했던 것처럼 Argo Rollouts와 Istio에도 많은 기여를 해보고자 합니다!지난 기간동안 힘써주신 주최측과 멘토님께 감사의 인사를 전합니다. 감사합니다.","-기여-요약-5#🌵 기여 요약":"","7-서청운#7. 서청운":"","-개인-성과-보고-6#🌿 개인 성과 보고":"접기/펼치기\n\n개인 성과\nPR 1개 Open\n\n\n컨트리뷰션 준비 과정\nOSSCA 사무국이 공유해주신 기본 Git 전략에 대한 공유 영상을 확인하고, 놓치고 있는 새로운 부분과 기존의 알고있던 개념을 결합시켜 Git에 대한 이해와 응용도를 높였습니다.\n팀에서 진행하는 ArgoWorkflows-OSS/ArgoWorkflows-OSS 레포지토리에서 오픈소스 컨트리뷰트를 위해 필수적으로 알아야할 개념(gpg private key)와 issues, PR title 등을 실제로 미션을 수행하며 경험적으로 체득할 수 있도록 했습니다.\ndevcontainer를 사용해 Argo Workflow의 로컬 개발환경을 직접 구축하고 테스트해보며 실제로 컨트리뷰트를 하기위한 필수조건을 테스트해봤습니다. 여러 라이브러리 종속성에 대한 이식성이 좋은 도구여서 매우 사용하기 편리했습니다.\n\n\n컨트리뷰션 진행 내용\n공식 docs의 fields 예제 수정\nhttps://github.com/argoproj/argo-workflows/pull/11748\n기존 공식문서에서 크론워크플로우를 사용하지 않는 문서 예제가 CronWorkflowSpec , CronWorkflowStatus 필드에 포함되어 있어 필요한 데이터를 찾는 데 혼란을 불러왔었습니다.\n그래서 필요한 자료를 찾기 위해 CronWorkflowSpec , CronWorkflowStatus 필드의 예제에서는 크론워크플로우를 사용하는 예제만 허용하도록 했습니다.","-참가-후기-7#🌵 참가 후기":"프로그램 참가 후기\n오픈소스 생태계를 이렇게 심도있게 알아가고, 이해할 수 있는 모임이 또 있을까 라는 생각이 들 정도로 멘토님과 멘티분들이 훌륭하고 또 정말 열심히 모임을 이끌어 주셨습니다.\n개인으로서는 아쉬움이 무척 크기도 했습니다. 조금 더 시간을 투자하고 적극적으로 모임에 참여해서 개인의 성장 뿐만 아니라 더 좋은 모임으로 만들 수 있었을 텐데, 여러 외부 요인과 스스로의 게으름 때문에 아쉬움을 많이 남겼던 기간이었습니다.\n\n\n향후 기여 계획\n더 이상 오픈소스 컨트리뷰트가 무서운(?) 일이 아니라는 큰 자신감을 얻어서, 이후에도 Argo 생태계를 넘어 CNCF 생태계에도 더욱 관심을 가지고 오픈소스를 탐험할 수 있을 것 같습니다.\n처음부터 소스를 다 까보지 않고도 이전 PR 기록, 메인테이너의 도움을 통해 기여를 할 수 있음을 토대로 컨트리뷰트에 대한 심리적인 허들을 넘어 적극적으로 기여를 이어갈 계획입니다.","-기여-요약-6#🌵 기여 요약":"","8-송혜민#8. 송혜민":"","-개인-성과-보고-7#🌿 개인 성과 보고":"접기/펼치기\n\n컨트리뷰션 활동\nMutex check happens after memoization cache check and lock info missing from UI버그수정Issue #11219\nPR #11456 - Merge 완료/3.4.10 릴리즈 포함Argo Workflow 의 Synchronization 및 Cache 기능을 동시에 사용할 수 있도록 수정할 수 있었습니다.해당 버그는 Argo Workflow 에서 Synchronization 및 Memoize 키워드를 같이 사용할 시 정상적으로 동작하지 않는 현상이었습니다.기대 동작은 Mutex Synchronization 이 동작한 이후 캐시가 동작하는 것이지만, Synchronization 가 동작한 뒤 캐시가 작동하지 않고 있었습니다.예를 들어 아래와 같이 job-1 과 job-2 가 있을 시 job-1 이 Synchronization 효과로 인해 먼저 동작을 하고 캐시를 쓰고 완료가 되면, job-2 는 ** 동일한 캐시로 인해서 동작하지 않고 Pass 해야 합니다.**\n\n저는 이 과정을 Synchronization 과 Cache 의 순서를 조정하는 것으로 올바르게 수정할 수 있었습니다.어렵지는 않은 수정이었지만, 복잡한 파일 중 하나인 operation.go 를 수정했기에 많은 리뷰와 함께 Argo Workflow 의 다양한 기능들을 살펴볼 수 있었던 PR 이라 생각합니다.Parent level memoization is broken버그수정Issue #11612\nPR #11623 - Merge 완료/3.4.11 릴리즈 포함위 수정으로 발생한 새로운 버그 사항으로, Argo Workflow 의 Template 레벨이 아닌 아래 Child 구성 요소에서 Memo 기능을 사용 시 무한 Pending 이 걸리는 버그가 제보되었습니다.\n\n이전 PR 에서 테스트를 추가했으나 확인하지 못한 Case 가 존재했다는 것을 인지하고, 오류 발생 원인을 분석해서 다시 핫픽스를 반영할 수 있었습니다. 이 예외 사항을 추후에도 발견하기 위한 테스트를 4개 포함하여 PR 을 진행했습니다.UI: workflowDrawer's information link is not correctly working버그수정Issue #11494\nPR #11495 - Merge 완료/3.4.10 릴리즈 포함Argo Workflow 대시보드에서 워크플로우를 펼쳤을 시, Information 아이콘의 링크가 망가진 사항을 수정했습니다.\n\n 태그 중첩으로 인한 잘못된 이벤트 전파를 방지하는 코드를 추가해 제대로 클릭이 동작하게 만든 내용입니다.\n해당 코드 수정으로 다시 아이콘 클릭 시 올바른 문서로 이동하도록 만들 수 있었습니다.Search by name for WorkflowTemplates in UI기능개선Issue #11004\nPR #11684 - Merge 완료/3.4.10 릴리즈 포함다른 2명의 참가자 분들과 공동으로 개발하여 PR 을 진행한 내용입니다.\nArgo Workflow 에는 이름의 패턴을 통해 각 템플릿을 기능하는 유용한 기능이 빠져 있었습니다.\n\n이 기능을 추가로 제공하여 사용자가 더 이상 Yaml 의 라벨 뿐만이 아닌 이름으로도 Template 을 검색하도록 개발했습니다.\n특히 정확한 이름이 아닌 LIKE 검색이라는 것이 앞으로도 유용할 것 같습니다.\n이후에도 다른 페이지에 대해서 비슷한 수정을 통해 검색과 페이지네이션 기능을 확장할 예정이라 더욱 의미있는 PR 이었던 것 같습니다.Add more readable Argo CLI installation guide into github documentation문서기여Issue #11750\nPR #11751 - Merge 완료Argo Workflows 에서 사용하는 커맨드라인 인터페이스인 Argo CLI 에 대한 문서 기여입니다.\n\n현재 Argo CLI github 문서에는 인스톨에 대한 과정이 빠져 있어서, 첫 사용자가 Argo CLI 를 설치할 방법을 찾기가 어려웠습니다.\n기존에는 Release Note 로 직접 찾아 들어가거나 Quick Start 페이지로 반드시 들어가야 했는데, Argo CLI 페이지에 기존 Usage 이외에 Installation 항목을 추가하여 사용자 편의성을 높이도록 수정했습니다.Workflow templating is skipped when whitespace is added to template parameters버그수정Issue #11767\nPR #11781 - Merge 완료Argo Workflow 에서 workflow template 작성 시 들어가는 {{parameter}} 형태의 placeholder 가 {{ parameter }} 와 같이 앞 뒤로 공백이 있을 경우 유효성 검사가 되지 않는 현상이었습니다.\n내부 유효성 검사 코드에서 parameter 에 대해서 앞, 뒤의 공백을 자르는 trim 을 하지 않고 있는 것이 원인으로, 이 부분에 trim 을 추가하여 공백을 제거해 해결했습니다.\n이 기여로 인해 기존 placeholder 내용이 유효성 검사를 무시해버리는 현상도 바로 잡을 수 있었습니다.\n모임 개발 활동\nArgo Workflow OSS 공통 Repo 에 PR 올려보기PR #22 - Merge 완료Argo Workflow PR 전 여러 사람이 기여하기 위한 사전 연습을 진행했습니다. 새로운 문서 및 기존 문서를 다른 참가자들과 동시에 수정하여 올려서 Git 커맨드 및 Rebase 의 소중함에 대해서 배울 수 있었습니다.Dockerfile 로 웹서버 만들어보기PR #6 - Merge 완료로컬 8080 서버로 통신하여 localhost:8080 으로 접근 가능한 Dockerfile 을 하나 작성하고 서버를 띄우는 연습이었습니다.\n간단한게 Flask 로 파이썬 서버를 작성하고 Dockerfile 내 환경 설정, 서버 구동, 포트 연결을 통해서 Docker 커맨드로 외부에서도 서버에 접속 가능하도록 만들었습니다.","-참가-후기-8#🌵 참가 후기":"참가후기\n이전에도 오픈소스 컨트리뷰션 아카데미를 참여했었지만, 이번 아카데미의 프로그램과 멤버, 내용 모두가 특히 만족스러웠습니다.\n단기간에 소스 코드를 파악하고 기여를 시작하는 것이 쉽지 않은데, 작은 내용이나마 기여를 시작할 수 있었다는 것이 놀라운 경험이었습니다.\n멘토님의 집중적인 케어와 다른 참가자 분들의 열정이 정말 큰 도움이 되었다는 것을 깊게 느낄 수 있었습니다.\n혼자 시작했다면 금방 포기하고 잊어버렸을 내용이 다른 사람과 함께 진행하는 것만으로도 이렇게 달라질 수 있다는 것이 대단한 경험이었습니다.\n\n\n앞으로의 계획\n앞으로도 Argo Workflow 에 대한 컨트리뷰션을 이어나갈 생각이며, 다른 오픈소스 기여를 시작할 수도 있을 것 같습니다.\n특히, 이제는 관심 있는 오픈소스에 대해 접근해서 시작하는 방법을 배웠기 때문에 열정만 있다면 조금 더 수월하게 진행할 수 있을 것 같습니다.\n다른 사람에게도 오픈 소스 기여에 대한 재미를 적극 전파하며, 자신 있게 추천할 예정입니다.","-기여-요약-7#🌵 기여 요약":"","9-안다혜#9. 안다혜":"","-개인-성과-보고-8#🌿 개인 성과 보고":"접기/펼치기\n문서 수정 공식 문서의 running-locally 부분이 Dev-container와 Makefile을 처음 사용하는 사람들에게 직관적이지 않고, 깨진 링크들이 있어 pr #11405를 올리고 공식 문서를 수정하는 데 기여하였습니다.이슈 기여 미완성 이지만 Argo-workflows 의 워크플로우나, 워크플로우 내의 Pod 내에서 Secret 정보가 echo 등의 명령어로 노출될 수 있는 이슈 #8685 가 있어 이를 해결해보고자 했습니다.4일 동안 하루에 3시간 정도, 총 12시간 정도를 이 이슈에 투자했으나 아직 해결하진 못하였습니다. (중간 커밋)\n총 11개 파일에 걸쳐 Argo-workflows 실행 시 주입할 수 있는 환경변수인 ARGO_HIDE_SECRETS 을 추가하고 기본적으로 해당 옵션이 true 로 작동하게 하였습니다.\n위 환경변수를 command line에서 입력받거나, Argo-workflows 를 실행할 당시에 설정으로 추가할 수 있도록 하였습니다.\n만약 ARGO_HIDE_SECRETS=false 로 설정할 경우, \"You are running with logging include secrets. Be careful.\" 라는 로그가 찍히도록 하였습니다.\nworkflow, pod의 로그에서 Secret에 해당하는 정보가 포함될 경우, SecretValue를 마스킹 할 수 있도록 코드를 수정하였습니다.\n테스트 코드를 작성하여 위 기능이 목적한 대로 동작하는지 검증하였습니다.\n하지만 위 기능이 목적한 대로 작동하지 않았기에, 로그가 찍히는 과정을 탐색하기 시작하였습니다. Go 언어에서 사용하는 logrus 라이브러리는 io 패키지의 io.Writer 를 사용한다는 것을 알게 되었습니다.\n\n\n\n\n\n과제 수행 Argo-workflows 팀은 멘토님이 OSS-Argo-workflows 레포지토리를 생성하고 여러 과제를 내주셨습니다.\n실제 Argo-workflows 레포에서 pr을 올릴 때 지켜야 하는 원칙 (presigned commit, gpg check) 을 지키며 pr을 올리고, git conflict 를 해결하는 방법을 과제를 통해 배워나갔습니다.\n실제 Argo-workflows 레포에서 pr을 올리기 위해, 코드를 수정한 후 Argo-workflows가 제대로 작동하는지 확인하려면 local 환경에서 Dev Container로 Argo-workflows를 동작시켜야 합니다. 저희 팀은 이 과정을 직접 수행해보는 과제를 받았고, 그 과정에서 수행에 어려움을 겪는 멤버들을 서로 도와주었습니다. 저는 블로그 글에 해당 방법을 수행하는 법을 정리하여 팀원들에게 공유하였습니다. blog","-참가-후기-9#🌵 참가 후기":"오픈소스 컨트리뷰톤에 참여하면서 멋진 멘토님과 팀원들을 만났습니다. 저희는 매주 오프라인으로 만나며 그간 기여했던 이슈에 대해 공유하고, 업무적으로 도움이 되는 발표들을 매주 돌아가면서 진행하였습니다. 또한 막바지에는 ‘이슈 해커톤’을 만들어, 조를 나누어 이슈를 집중적으로 해결하는 자리를 만들었습니다. 그 결과 Argo-workflows 팀 자체에서 4건이 넘는 pr이 머지되었으며, 저도 한 이슈를 잡고 집중적으로 시간을 내 오픈소스를 깊숙히 파볼 수 있었습니다.Go 언어로 개발을 해보는 커리어를 염두에 두고 있었기 때문에, 프로덕션 레벨의 Go 코드를 보고 수정해보는 경험을 해볼 수 있어 정말 값진 경험이었습니다. 이렇게 열심히 사시는 분들과 같은 집단에 속할 수 있을까, 생각해보게 될 정도입니다. Masters가 끝나더라도 저는 위에서 해결하려던 이슈를 끝까지 파볼 작정이며, 개발 pr을 하나 더 올려보고자 합니다.그리고 기회가 된다면 2024년 오픈소스 컨트리뷰톤에도 참가해보고 싶습니다.좋은 기회와 장을 마련해주셔서 감사합니다.","-기여-요약-8#🌵 기여 요약":"","10-안지완#10. 안지완":"","-개인-성과-보고-9#🌿 개인 성과 보고":"접기/펼치기\n1. 오픈소스 첫 기여처음으로 ArgoWorkflows에 문서를 통한 기여를 했습니다. 공식 사이트에 이미지인지 비디오인지 혼동을 줄 여지가 있는 부분을 고쳐, 유저들이 확실히 동영상임을 인지하도록 수정했습니다.\ndocs: modify demo image in intermediate-inputs.md #117552. 다른 멤버의 활동을 보며 오픈소스 기여법 터득이번 오픈소스 컨트리뷰선 아카데미를 통해 오픈소스 기여를 하는 방법과 이슈를 찾는 요령에 대해서 알게 되었습니다. 요약하면 다음과 같습니다.\n주요 로직이 아닌 아주 자잘한 버그 이슈, 또는 UI 부분에서도 생각보다 이슈가 엄청 많다.\n해당 오픈소스의 전문적인 지식, 또는 다른 분야 (ex. 프로트) 종사자여도, 충분히 해당 오픈소스에 기여할 수 있는 이슈들이 많다. (ex. UI 이슈)\n기여를 하고 싶을 때는, 해당 이슈에 먼저 직접 이 이슈를 해결하고 싶다는 코멘트를 단 후, 작업을 시작한다.\n이 부분이 좀 신기했는데, Argo Workflow의 경우는 기여를 할 때 담당자가 배정된다는 점이 좀 신기했다. 아마 모르는 점? 또는 생소한 부분이 느껴질 때 담당자를 배정하는 것 같다.\n다양한 사람들이 많다. 정말 까칠하게 딱 한 줄 적으시는 분도 있고, 굉장히 친절하게 코멘트를 달아주시는 분도 있다.\n\n다른 회원분들의 이슈 해커톤을 보며 이슈에 직접 기여하는 방법을 알게 되었습니다. 특히 다른 회원분의 이슈 중 “Pagination” 이슈를 매우 흥미롭게 봤습니다. 제가 argo workflow를 사용할 때는 눈치를 채지 못했는데, 페이지네이션이 일관성이 없다는 걸 캐치하시고 이슈를 만들어 기여를 하시는 것에서, 저렇게 자칫 지나쳐 갈 수도 있는 곳에도 충분히 기여가 가능하구나 라는 걸 깨달았습니다.3. 개발 컨테이너 구축개인적으로 활동을 한 건 devcontainer를 직접 띄워 개발 환경을 세팅했습니다. 사실, 그 과정에서 무수한 오류가 발생했는데, 다른 분들께서 직접 도와주시고 골머리를 앓아가며 마침내 해결한 것을 보고, 뭔가 실무에서도 버그가 발생하면 다른 개발자분들이 오셔서 같이 머리를 쥐어짜내실 것 같은 모습이 상상이 갔습니다.멘토님께서 의존성 문제 해결 및 후에 다른 사람이 제 프로젝트에 이슈를 만들때, 동일한 환경에서 작업하는 것을 보장하기 위해 개발 컨테이너를 사용한다는 것을 알게 되고, 현재 제가 진행하고 있는 다른 프로젝트 (디스코드 봇 관련 프로젝트) 에서도 개발 컨테이너를 활용하여 개발을 해야될 것 같다고 생각했습니다.중간 보고서 이후에는 조금 마음가짐을 바꿔 위축감을 느끼는 것 보다는, 다른 현직자 분들이 실무에서는 어떤 식으로 서비스를 운영하시는지 그런 것들을 엿듣는 기회를 잡고자 했습니다. 실제로 멘티분들께서 다양한 주제로 발표를 하셨으며 회사 내에서 이루어지는 부하테스트, ebpf에 대한 설명 등 흥미로운 주제들을 들을 수 있었습니다. 학교를 다니면서 듣기 힘든 아주 귀중한 발표였던 것 같습니다.4. GPG Sign을 이용한 Verified Commit 방법 숙달 및 팀 깃허브 소개글 업로드그동안은 별도의 GPG Key없이 커밋을 해왔는데, 멤버 소개글을 업로드 하는 과정에서 DCO봇과 GPG 확인해서 계속 막혀, Verified 커밋을 생성하는 방법을 터득하고 팀 깃허브 레포에 소개글을 업로드했습니다. 그 과정에서 커밋을 할 때마다 자꾸 멈춰 애를 먹는 도중 같은 팀원의 도움을 받아 해결했습니다.docs: 안지완 프로필 업데이트","-참가-후기-10#🌵 참가 후기":"사실, 중간보고서 쓰기 전까지 제 수준에 비해 이 활동이 너무 수준이 높고 다른 분들이 너무 잘하셔서 스스로 위축된 느낌이 있었으나, 멘토님께서 개별적으로 상담해주시고 잘 격려해주신 덕에 그 이후로 정기모임에 더 열심히 참여하고자 했습니다.Argo Workflow에서 수많은 이슈를 보며, 만만한 것이 있으면 한번 기여를 해볼까 하며 찾아봤는데, 너무 복잡하고 특히나 Go 언어를 잘 모르는 터라 손을 댈 수가 없었습니다. 대신, 직접 기여는 몰라도 다른 분들의 기여를 보며 오픈소스라는 세계에 입문하게 된 것 같았습니다.가장 기억에 남은 다른 분의 기여는 “페이지네이션”이었습니다. Argo Workflow의 어떤 부분은 페이지네이션이 되어있고, 어떤 부분은 되어있지 않으며, 또 어떤 부분은 제목은 나와 있지 않은, 한마디로 UI 내의 일관성 깨짐 문제를 발견하셨고, 이를 해결하고자 이슈 해커톤에서 팀원을 구해 기여하시는 모습이 인상깊었습니다.뭔가 제가 기여할 부분을 찾을 때는 로직 관련 이슈를 찾으려 했으나, 너무 어렵고 이게 대체 어떻게 돌아가는지 파악이 안됐는데, 저렇게 기여를 할 수 있구나…라는 생각이 들어 생각보다 기여에 그렇게 큰 겁을 먹지 않아도 된다는 생각이 들었습니다.멘토님을 포함한 다른 모든 분이 현직자이시며 정말 실력이 대단하신 만큼, 저도 모임에 가며 많은 것을 알아갔습니다. 워크플로우가 실무 내에서는 어떻게 쓰이고 있는지, 특히 제가 요즘 공부하고 있는, 정말 만능처럼 보이는 Airflow가 왜 실무 내에서는 그닥 그렇게 많이 쓰이고 있지는 않은지에 대한 이유 등 이론과 실무의 차이들을 볼 수 있었습니다.솔직히 오픈소스 컨트리뷰션에 참가한 만큼, 저도 이슈에 하나 정도는 기여하고 싶은 욕심이 있습니다. 남은 기간이 별로 안남은 만큼, 활동이 끝나기 전까지 아주 자잘한 이슈 하나 정도라도 기여하는 것이 우선 제 계획이며, 이제 개강이 기다리고 있는데, 개강을 해도 정기모임에 나가서 배울 수 있는 것은 최대한 배우는 시간을 가지고 싶습니다.","-기여-요약-9#🌵 기여 요약":"","11-유윤우#11. 유윤우":"","-개인-성과-보고-10#🌿 개인 성과 보고":"접기/펼치기\n1. 왕초보반 dockerfile 만들어보기\n\n\n\n나만의 웹 서비스를 만들고 도커파일을 통해 이미지를 빌드하고 컨테이너를 실행해보는 실습 진행\n각자 원하는 프레임워크와 언어를 통해 서비스를 구축, 저는 Nest.js를 사용했습니다.\n\n2. Nest.js 프레임워크 공부\nNest.js 학습한 레포지토리\n프론트 엔드밖에 몰랐기에 간단한 API 서비스를 만들기 위해 빠르게 학습\n\n3. dockerfile 생성 후 PR\n\n\n\n도커파일을 생성하여 image를 빌드해 서비스 정상작동까지 확인하고 PR을 올렸지만 github action의 빌드 테스트 실패\n--production 옵션을 제거하면 테스트에 통과하지만 image 최적화가 되지 않는 문제가 발생. 멘토님께 조언 요청\n\n\n\n\n멘토님의 피드백을 기반으로 문제해결 시작\n\n4. 트러블 슈팅\n\n\n\n\n\n\ndokerfile로 이미지 생성시에 크기를 줄이기 위해 node_modules를 production 환경만 설치하려고 했지만 github action을 통과하지 못함\n수많은 삽질끝에 nest-cli라는 모듈이 nest build시에 필요한데 devdependency안에 들어가 있던걸 변경하고 나니 해결됐다. (멘토님이 힌트를 주셨지만 못알아듣고 삽질한건 비밀)\n로컬에서 빌드가 문제없이 되어서 더 헷갈렸는데 이유는 내 맥북에 글로벌로 nest-cli가 설치되어 있었다..\n\n5. 오픈소스 컨트리뷰터 활동\n[UI: The position sticky on the workflow toolbar is not working]\nworkflows-list의 checkbox 선택 시 나오는 toolbar 위치가 상단에 고정 되어 있지 않던 버그를 해결했다.\n이슈 내용 보러가기\nPR 내용 보러가기\n\n[before]\n\n\n\n체크박스를 선택하고 스크롤 시 상단 툴바가 보이지 않는다.\n기존에 있는 position : sticky가 적용되지 않는 문제를 position : fixed로 변경해 해결했다.\n\n[after]\n\n\n\n체크박스 선택 후 스크롤 시에 상단에 툴바를 고정하여 별도의 스크롤 없이 바로 해당 리스트에 대한 이벤트를 실행할 수 있다.\n\n[UI - show history about completed runs in each cron workflow]\n의정님이 찾은 좋은 개선 사항을 함께 진행 cron-workflows-detail 컴포넌트에서 해당 워크플로우의 히스토리를 볼 수 있게 리스트를 추가하는 이슈\n이슈 내용 보러가기\nPR 내용 보러가기\n\n[before]\n\n\n\n기존 cron-workflows-detail 페이지에는 아무것도 없었지만\n\n[after]\n\n\n\n\n\n\n해당하는 cron-workflows에 히스토리 workflows와 히스토리가 없을 경우에 예시도 추가해줬다.\n해당 PR은 아직 확인중인 상태","-참가-후기-11#🌵 참가 후기":"너무 좋은 경험이였습니다.아쉽게 취업을 하게되면서 바빠지고 서버와 데브옵스쪽 지식이 부족해 많은 컨트리뷰터 활동이나 오프라인 모임에 참여하지 못한 아쉬움도 많이 남았습니다.그래도 포기하지않고 프론트엔드 쪽으로 더 많은 컨트리뷰터도 진행해보고 서버 쪽 공부도 진행해서 argoWorkflow에도 더 많은 기여를 해보도록 노력해보겠습니다!좋은 활동 만들어 주셔서 감사하고 왕초보여도 하나씩 단계를 밟아가며 성장할 수 있게 도와주신 멘토님 리드멘티 님들 감사합니다 👍","-기여-요약-10#🌵 기여 요약":"","12-이병곤#12. 이병곤":"","-개인-성과-보고-11#🌿 개인 성과 보고":"접기/펼치기\n\n발대식 참여\nK8s 학습\nOperator 개념 학습\nHelm 학습\nCNI 개념 학습\nService Mesh 개념 학습\n\n\nArgo Workflows 학습\n기본적인 사용법 학습\nhttps://argoproj.github.io/argo-workflows/workflow-concepts/\nhttps://www.youtube.com/watch?v=kxl6wYd5i2g\n\n\n주변 기술 학습\nDevContainer 학습\nNix 학습\nhttps://nixos.org/manual/nixos/stable/\nMinIO 학습\nKeyCloak 학습\n\n\n\n\nArgo Workflows 컨트리뷰션 버그수정\nDevContainer 오작동 관련 이슈작성 https://github.com/argoproj/argo-workflows/issues/11439\n컨테이너 재시작 시 /etc/hosts 엔트리 지워지는 문제\n\n\nDevContainer 오작동 해결 PR 작성 및 머지 완료 https://github.com/argoproj/argo-workflows/pull/11440\ndevcontainer.json의 runArgs에 —add-host 옵션 추가하여 해결\n\n\n\n\nArgo Workflows 주변 기술 학습\n학습한 내용 토대로 NixOS 설치 및 사용\nArgo CD, Argo Events, Argo Rollout 에 대해 조사\nKeycloak 학습\nArgo Workflows에서는 Keycloak 연동을 지원하고 있음, 이에 궁금증이 생겨 Keycloak에 대해 조사\nOAuth2와 OIDC 차이점에 대해 학습\nKeycloak 개념에 대해 학습\nRole\nReam\nClient\n\n\nKeycloak 설정 방법에 대해 학습\nKeycloak API 및 연동 방법에 대해 학습\nKeycloak 공식 문서 학습\nhttps://www.keycloak.org/docs/latest/securing_apps/index.html\nhttps://www.keycloak.org/docs-api/22.0.1/rest-api/index.html\n\n\nKeycloak 직접 설치 및 사용 실습","-참가-후기-12#🌵 참가 후기":"이번 컨트리뷰션 아카데미를 통해 오픈소스에 기여하는 것 뿐만 아니라 새로운 기술에 대해 학습하게 되는 동기부여가 되서 좋았습니다.\n직장 일이 바쁜 와중에 참가해서 쉽지는 않았지만 꼭 올해 컨트리뷰션에서만 Argo Workflows에 대해 기여하는 것이 아니라 향후 컨트리뷰션에서도 몇년간 기여해보는 것을 목표로 길게 보고 있습니다.\n앞으로의 계획은 Argo Workflows뿐만 아니라 다른 Argo Projects를 직접 구축해보고 제 개인 토이 프로젝트에도 적용해보는 것이 목표이고 K8s에 대해서도 더 많은 공부를 하는 것이 계획입니다.","-기여-요약-11#🌵 기여 요약":"","13-이의주#13. 이의주":"","-개인-성과-보고-12#🌿 개인 성과 보고":"접기/펼치기\n1. Git 사용법 & Commit & PR 규칙 숙지\n컨트리 뷰션을 하기 위해 엄격한 Commit 과 Pull Request를 보내기 위한 기초적인 Git 사용법 숙지 및 Mission 수행\n공식 Argo Workflow 프로젝트에서도 컨트리뷰션 하고 싶은 Issue에 대해 Issue Template 를 이용하고 PR 을 날리는 방식을 사용하고 있어 도움이 되었고 Issue Template 의 존재도 알게된 계기가 되었음.\n향후 컨트리뷰션 부분에 꼭 필요한 요소들을 간접적으로 체험할 수 있는 기회\nPR 의 네이밍 컨벤션\nDCO 봇 Check\nGPG Commit\nCommit Message 컨벤션\n이슈와 PR을 연결\n\n\nIssue 생성 - 멤버 프로필 업데이트 - PR - Review - Merge 의 과정\n\n\n\n2. 왕초보 특별반 참여 (Mentor 가 생성한 초보자들을 위한 과정)\n왕초보 특별반 미션을 위한 Repo(container-playground)\nDocker 혹은 Kubernetes 에 익숙하지 않은 인원 혹은 처음인 인원에 도움을 주는데 목적\n\n\n\n멘토가 제시한 과제를 수행하면서 Docker Image 최적화의 필요성에 대해 학습\nFrom 절 부터 Layer(층)별로 어떤 패키지, Static file 들을 쌓아가는 과정이기 때문에 Docker 이미지가 무거워져 성능 향상에 악영향을 미칠 수 있기 때문에 최적화는 필수임을 깨달음.\n\n\nMission\n❗️목표❗️\n\n나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다.\n\n과제 통과를 위해서 반드시 아래 사항을 준수해 주세요.\n\n• 디렉터리 및 파일 배치\n• 나만의 서비스를 반드시 본인 github 계정 디렉터리를 생성하고, 그 아래 작성해주세요.\n• 본인 디렉터리의 최상단에는 반드시 `Dockerfile` 이 위치해야 합니다.(이 조건을 달성하지 못하면 CI가 실패합니다.)\n• 본인 디렉터리 아래에 한해서, `Dockerfile`의 위치를 제외한 나머지 파일들은 자유롭게 작성해도 됩니다.\n• 단, 본인 디렉터리 최상단에서 `docker build -t [이미지명] .` 명령을 수행 했을때 성공적으로 이미지가 빌드 되어야 합니다.\n• 빌드 된 이미지의 동작\n• 나만의 웹서비스는 반드시 8080포트에서 동작해야 합니다.\n• 빌드 된 이미지는 별도의 파라미터 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 으로 실행 했을 때 문제 없이 서비스 되도록 만들어야 합니다.\n• 웹서비스 개발언어 및 서비스 구조\n• 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다.\n• UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다.\n• 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)\n1. /api/v1/[본인 github계정]\n2. /healthcheck\n• (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))\n• [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)\n\n❗️ 참고사항❗️\n\n•도커의 개념과 Dockerfile을 작성하기 위해 아래 문서를 참고 하면 좋아요.\n\n• [Dockerfile 작성 공식 문서](https://docs.docker.com/engine/reference/builder/)\n• [왕초보를 위한 도커 사용법](https://mysetting.io/slides/xxj85vnvey) (Docker Toolbox관련 내용은 deprecate된 내용)\n\nPR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요.\n\n• Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요.\n• [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요.\n• [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요.\n• [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요.\n• [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)```\n\n\n기존에 Python 기반의 Django 프레임워크를 다뤄본 경험이 있어 Django REST API를 생성하는 Docker FIle을 작성.\nPR을 날렸지만, 보안이슈 혹은 불필요한 패키지 import 구문 의 오류를 지적받음.\n\n\n\n\n\nDjango 프로젝트의 settings.py 코드에서는 SECRET_KEY 가 노출 된다는 것을 처음 알았으며 어떻게 이러한 보안 이슈를 해결할 수 있을까에 대해 고민해보는 시간을 가질 수 있었음.\nSecret key 가 담긴 .json 파일을 생성하고 settings.py 에서 json 파일을 참조하는 방향으로 진행하였다.\nsecret.json 파일은 Commit 에 올리지 못하므로 .gitignore 를 통해 json 파일을 무시하는 방법을 알게되었으며, dbsqlite3 같은 어떤 명령어 수행 후에 생성되는 불필요한 파일들도 무시할 수 있었음.\n로컬에서 개발한 결과물을 Git 프로젝트에 올리기 위해서는 여러 고려사항이 필요하다는 것을 깨달은 경험이었음.\n\n\n몇가지 Review를 통과하고 PR이 Merge 될 수 있었음.\n\n3. Argo Workflow Contributor\nArgo Workflow 를 이것저것 살펴보던 도중, Argo Workflow - Contact - Help 필드에서 Deprecated 된 Argo Workflow Slack 채널을 보게되었음.\n사소한 UI Issue 라고 생각했지만, UI가 어떤 언어로 보여주며, 어떤 방식으로 개발되었는지 확인할 수 있는 기회라고 생각하여 Issue 를 올리고 PR을 제출.\n\n\n생성한 IssueUI: non-existent Slack Workspace link on help page Issue\n\n\n이슈를 생성하니 Argo 프로젝트의 Maintainer 분이 금방 코멘트를 남겨주셨음.\n임의로 CNCF Argo Channel 링크로 Fix 하려 하였으나, 메인테이너분이 다른 링크로 Update 해달라는 코멘트를 받음.\n\n\n생성한 PRfix: deprecated Link(Help-Contact) Issue\n\n\nArgo Workflow 는 React 기반으로 UI가 구성되어 있었고, 컴포넌트별로 디렉토리가 정렬되어 있어 쉽게 코드를 분석할 수 있었음.\nIssue 가 있던 Code 부분\n\n\n실수로 Commit 중에 Signed-off 옵션을 생략해서 DCO 봇 TEST에 통과 못했지만, GIt 에서 이전 커밋을 되돌리거나(Rebase),\n여러 불필요한 커밋을 하나로 합치는(Squash) 기능을 알게되었고 이전 커밋을 돌려 git commit -S -s -m \"Commit Message\" 커밋하였음.\n‘LGTM’ 코멘트가 무슨뜻인가 찾아보았는데 구글에서는 LGTM이라는 태그를 달아 의사를 표현하는데 Looks Good To Me. 즉, 좋아 보인다는 뜻이라고 하여 뿌듯한 경험이었음.\n버그를 찾아내거나 UI를 수정하는 등의 과정도 중요하지만, 가장 중요한 것은 Argo Workflow 생태계가 정한 규칙대로 컨트리뷰션을 수행하는 과정도 중요하다고 생각한다.\n\n\n\n4. Argo Workflow Hackerton 참여 (Argo workflow - OSSCA 팀내에서 개최한 해커톤)\nPull Request(Merged) : feat: Search by name for WorkflowTemplates in UI\nIssue : Search by name for WorkflowTemplates in UI\n이슈 해커톤 활동 기간\n1차 해커톤 (해커톤 C조) : 23.08.16 - 23.08.20\n2차 해커톤 (해커톤 C조) : 23.08.20 - 23.08.27\n\n\n\n\n\n\n\n\n이슈 내용\n클러스터에 많은 수의 템플릿이 있는 경우 이름으로 검색하는 것이 좋지만, 검색기능이 없어 모든 템플릿을 스크롤하는 것은 항상 불편하다는 이슈\nArgo Workflow UI 에서 워크플로우 템플릿의 결과를 이름별로 필터링하는 기능이 필요하다고 생각되어서 조끼리 회의한 결과로 이슈를 채택.\n\n\n역할\nFront-End 담당\nArgo workflow Template UI 의 검색 필드(Bar) 생성\n.get 로직을 분석하여 Name Pattern(Like 검색)을 어디로 넘겨주는지 분석\nworkflow-template 컴포넌트 디렉토리의 workflow-template-filter.tsx, workflow-template-list.tsx 수정\n\n\n\n\n회의 내용\n회의는 Slack 해커톤 채널을 통해 조끼리 매일 의견과 정보를 공유\n1차 논의 내용\n\n\n1. name 검색 기능 (backend)\n\n• WorkflowTemplate 페이지\n• name 검색 추가(LIKE 검색)\n• ClusterWorkflowTemplate 페이지\n• name 검색 추가(LIKE 검색)\n• CronWorkflow 페이지\n• name 검색 추가(LIKE 검색)\n\n\n\n2. name 검색 기능 (frontend)\n\n• WorkflowTemplate 페이지\n• name 검색 ui 추가\n• ClusterWorkflowTemplate 페이지\n• 검색 사이드 바 추가 (name, label)\n• CronWorkflow 페이지\n• name 검색 ui 추가\n\n3. 페이지네이션 (frontend)\n\n• WorkflowTemplate 페이지\n• name 기준 pagination\n• ClusterWorkflowTemplate 페이지\n• pagination 추가\n• CronWorkflow 페이지\n• pagination 추가\n\n4. 테스트 코드 작성\n\n- name 검색 (LIKE 검색)\n- 어떤 테스트 코드 작성해야하는지 더 분석 필요\n\n2차 논의 내용\n1차 오프라인 회의\n\n\n\n\n\n\n1. 공동 커밋 방법\n\n• https://github.com/ArgoWorkflows-OSS/argo-workflows 레파지토리를 로컬에 클론받는다.\n• 해당 레파지토리에 우리 팀이 작업할 브랜치를 생성한다. (`master` vs `release-3.4.10`)\n• 해당 레파지토리의 해당 브랜치에서 각자 담당한 기능을 작업한다. (PR올리기 위한 커밋 규칙을 잘 지켜서 커밋한다.)\n• 모두의 작업이 완료되면 3명중 1명이 PR 템플릿에 맞게 PR을 날리기\n• 3명 모두가 컨트리뷰터가 될 수 있음\n\n2. 해커톤이고 정해진 기간이 있기 때문에 일단 workflow-template, cluster-workflow, cron-workflow 중 먼저 메인이라고 생각되는 workflow-template name filter 를 먼저 구현해보고 PR을 날려 메인테이너가 Merge 해주면 다음으로 넘어가기로 결정\n\n• 파트별 임무\n\n• 백엔드\n\n• workflow_template_server.go\n• 이름 필터링 및 페이지네이션 재계산\n\n• 프론트 :\n\n• workfflow-template-filter.tsx\n• Name 검색 UI 추가\n• Name 인자 수신 및 필터링\n• workflow-template-list.tsx\n• Name state 추가\n• userEffect list 에 name 전달\n• workflow-template.tsx, Utils.tsx\n• Name 인자 전달\n\n3차 논의 내용\n2차 오프라인 회의\n\n\n\n\n1. 오프라인 미팅 회의 내용\n\n• namespace 없는 경우도 필터 시 포함해야 할 것 같다는 의견. (namespace 없애자고 말 할 근거 부족 - 타 사이트(쿠버네티스 대시보드, 오픈시프트, 아르고씨디 등)들도 namespace 없는 경우 제공)\n• continue에서 사용하고 있는 로직을 가져와 적용가능한지와 커스텀한 결과에서도 continue를 그대로 유지할 수 있는지에 대한 생각\n• 수요일 밤까지 continue 로직 분석 후, continue를 사용하여 페이지네이션이 불가능 하다고 결론이 날 경우 이슈 코멘트에 질문 업로드\n• 프론트단 페이지네이션(데이터 리로드 안됨, argocd에서 사용중인 방식) vs 서버단 페이지네이션(매번 전체 리스트 조회 후 페이지네이션, 부하 괜찮을지)\n• 서버사이드 캐싱 구현할 경우 저장할 곳이 있는지\n\n\n\n2. 페이지 넘길때마다 매번 네임스페이스, 라벨만 적용해서 k8s 전체검색 하는걸로 결정\n\n3. offset 기반 페이지네이션 방법**에서 로직 추가로 구현\n• 안됐던 부분\n• next page 버튼 클릭 후 필터링 검색했을 경우, 있는 검색 결과더라도 아무 데이터도 나오지 않는다.\n• next page 버튼 클릭 후 페이지네이션 갯수 늘리면, 검색결과가 제대로 보이지 않는다.\n• 변경된 부분\n• continue 값을 서버에서 갱신해주다보니, 페이지 갯수를 늘리거나/필터링을 걸었을 때 서버에 이미 세팅된 continue값을 기준으로 페이지네이션을 해서 문제 존재,\ncontinue 값을 프론트에서 넘겨주도록 변경하는 방식을 채택(페이지 갯수 늘리거나/필터링을 걸었을 때 continue를 다시 0으로 세팅)\n\n\n\n4. 페이지네이션 테스트\n• workflow_template_server_test.go 통과\n• (workflow template 14개 등록)\n• UI workflow template 첫 페이지 정상\n• workflow template 페이지 limit 5, 10, 50 일 때 정상\n• workflow template 페이지 1 페이지에서 workflow template 추가 후 2페이지 이동\n• workflow template 페이지 1 페이지에서 workflow template 삭제 후 2페이지 이동\n• 위 내용을 `name pattern` 필터링 검색으로 테스트\n• name pattern 없이 검색 후 name pattern 추가하여 재검색\n• name pattern 포함 검색 후 name pattern 삭제 후 재검색\n\n5. PR 생성\n\nLike 필터(Name Pattern) 구현\n예) sp로 시작하는 workflow-template 검색가능\n\n\n\n\n결과\n\n\n구현은 성공이였으며, 이후에는 이전에 논의했던 cluster-template, cron-template 컴포넌트들을 수정할 예정\n\n\n\n\n\n5. 컨트리뷰션 활동 외 학습\nGoogle Kubernetes Study Jam 교육 수료\nBadge\nArchitecting with Google Kubernetes Engine: Foundations(Earned 7월 18, 2023 EDT)\nArchitecting with Google Kubernetes Engine: Workloads(Earned 7월 26, 2023 EDT)\nArchitecting with Google Kubernetes Engine: Production(Earned 8월 4, 2023 EDT)\n정리한 내용은 개인 블로그(velog)에 기록\neuijoo's Velog GCP Series","-참가-후기-13#🌵 참가 후기":"참가후기\n아카데미 이전에는 Argo CD에 대한 지식만 가졌지만, 이후에는 Argo Workflow 프로젝트에 대해 조사하고 분석하며 강력한 기능들을 어떻게 활용하면 좋을지 생각해볼 수 있는 레벨까지 도달할 수 있었음.\n처음 컨트리뷰션을 진행하면서 이슈를 생성하고 메인테이너들과 소통하며 부탁받은 사항에 대해 수정하고 PR을 생성하는 방식으로 진행하니 금방 코멘트가 달렸고 Merge 되는 성과를 달성.\n사소한 이슈일 수도 있지만, 기여하고자 하는 부분에대해 전체적인 분석이 필요하다고 느낀 경험이었음.\n이 뿐만이 아니라, 팀 내에서 자체적으로 이슈 해커톤을 진행하면서 UI 즉, 프론트 부분만이 아니라 백엔드 부분의 로직을 분석하며 Argo workflow가 내부에서 어떻게 상호작용하는지 분석할 수 있는 기회였음.\n우리조는 몸체가 큰 이슈여서 이에 맞춰 온라인 뿐만 아니라 오프라인 회의도 병행하며 진행한 결과 목표에 도달할 수 있었고, 두명의 인원은 현업에 종사하는 분들이여서 어려운 부분에 대해서는 친절히 설명해주셔서 유익한 경험이었음.\n계속해서 해커톤 팀원 혹은 전체 팀원들과 함께 소통하고 싶은 소망이 있음.\n\n\n앞으로의 계획\n아직 OSSCA 기간이 끝나지 않았기 때문에 지속적으로 이슈를 탐색(Cluster-workflow-template, Cron-workflow 등)하거나, Argo Workflow 문서의 오타나 번역 오류를 발견하고 지속적으로 PR을 제출할 생각임\n또한, OSSCA 기간이 끝난 이후에는 지금까지 정리해왔던 내용을 포트폴리오화 할 예정.\n토이프로젝트로 현재 진행중인 Argo Workflow를 활용한Data ETL 작업을 완료해볼 예정임.\n만약, 취업이 된다면 Argo Workflow의 많은 기능들을 현업에 도입하여 많은 인사이트를 창출하고 싶은 소망이 있음.","-기여-요약-12#🌵 기여 요약":"","14-전의정#14. 전의정":"","-개인-성과-보고-13#🌿 개인 성과 보고":"접기/펼치기\n✅ Contribution 관련 블로그 기록시리즈 | 2023 OSSCA - ddubi.log\n\n\n\n✅ 다양한 과제 수행\nGithub에서 issue/commit/PR 미션 수행[과제 요약]\n\n\n멤버 프로필 업데이트 이슈를 선택하고 해당 repo를 나의 repo에 fork한 후 나의 repo에서 users.md 와 [이름].md를 docs/user아래에 추가한다. 그 후 이슈를 연결해서 PR을 올리고 commit 하는 과제\n\n[과제 결과]docs : 전의정 프로필 업데이트 by juijeong8324 · Pull Request #19 · ArgoWorkflows-OSS/ArgoWorkflows-OSSGithub에서 issue/commit/PR\n\n\n\n\nRunning Locally[과제 요약]\nArgo Workflows를 local 환경에서 실행시키는 과제\nWindows 환경에서 wsl2를 설치한 후 devcontainer cli를 이용하여 argo workflows 실행\n\n[과제 결과]Argo Workflows 로컬에서 실행하기Argo Workflows 로컬에서 실행하기 - 재도전Argo Workflows 로컬에서 실행하기 - 파이널Argo Workflows 로컬에서 실행하기 - 최종 정리\n\n\n\n\n왕초보 특별반 - 나만의 서비스 컨테이너 이미지 제작\n\n[과제 요약]\n왕초보 특별반은 Argo-worfklows 팀 내에서 컨테이너, 쿠버네티스, argo에 대해 잘 모르고 있는 뉴비들(It's me...)을 위한 특별반이다.\n나만의 웹서비스를 제작하고 이를 컨테이너화 할 수 있는 Dockerfile을 작성하는 과제\nDockerfile, docker, image, container와 관련된 개념을 이해하고 있어야 함\n본인은 node.js, express 환경에서 웹서버 구축 후 dockerfile 작성\n\n[과제 결과]과제 관련 코드왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작[Docker] Dockerfile 기본 명령어에 대해 알아보자\n\n\n\n\n\n✅ 오프라인 참석\n날짜\t활동요약\t2023.07.15\t- 자기소개 - (세미나) Argo workflows에 대한 소개 및 멘토님의 적용 사례\t2023.07.30\t- 금주의 이슈 탐색 공유 - 본인은 로컬 실행 문제 해결 중임을 언급 - (세미나) 혜민님의 WebRtc, 수녕님의 keyclock과 argo worfklows 연동\t2023.08.13\t- 왕초보 특별반 과제 피드백 받음 - 금주의 이슈 탐색 공유 - (세미나)멘토님의 컨테이너 역사와 원리 특강\t2023.08.20\t- 금주의 이슈 탐색 공유 - 본인은 Issue #11131에 대해 공유 - (세미나) 다혜님의 ‘개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC’\n\n\n\n\n✅ Issue 탐색 및 Issue 생성\nIssue #11131 버그수정[이슈 요약]workflow input parameter 안의 \"가 escape 되지 않아 workflow.parameter.json으로 참조할 때 에러 발생[결과]Argo workflows 상의 문제가 아닌 파이썬 환경의 문제이기 때문에 해당 이슈는 기각Blog : Argo Workflows - Issue #11131\n\n\n\n\nIssue #11706 UI 개선[이슈 요약]\n\n\ncron workflow 탭에서 각 workflow의 history를 확인할 수 있는 UI를 추가했으면 좋겠다는 이슈Blog : Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)[결과]PR #11811 Closes\n\n\n\n\n\n✅ PR open & merge\nPR #11732 문서기여 PR Merge[PR 요약]Argo Workflows 공식문서에서 Artifact Visualization에 존재하는 이미지가 유뷰트 영상 링크임을 잘 보여줄 수 있게 이미지를 수정하는 PR\n\n[결과]Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md\n\n\n위와 같이 이미지 가운데에 유튜브 재생 버튼을 추가한 이미지로 대체\n\n\nmerge 완료\n\n\n\n\nPR #11811 UI개선 PR Open[PR 요약]Issue #11706 을 해결하고자 한 PR\n\n\ncron workflows page에서 특정 cron-workflow를 클릭했을 때 실행된 cron-workflow를 확인할 수 있게 수정\n\n\n실행된 cron-workflow를 찾을 수 없는 경우 위와 같은 안내 사항을 표시[결과]Merge 완료","-참가-후기-14#🌵 참가 후기":"후기\n사실 DevOps, 인프라 분야가 크게 와 닿지 않고 많이 생소한 분야였는데 Argo Workflows 프로젝트를 통해서 해당 분야에 대해 이전보다 좀 더 친숙해진 느낌을 받습니다.\nDocker, Container 등의 개념들을 이론적으로만 접하다가 직접 실습을 통해 익히고, 또 해당 개념들 이외에 새롭게 알게 된 것들(wsl의 존재..!)이 생기고 본인이 스스로 잘 모르고 지나쳤던 개념들(리눅스의 접근 권한, 네트워크 )도 다시 돌아보게 된 계기가 되었습니다.\n또한 처음으로 이슈를 생성해보는 성장을 하게 되었습니다. 이슈를 작성하는데 막연한 두려움을 갖고 있었는데 직접 작성하면서 해당 두려움을 부수게 되었습니다.\n그리고 기여를 할 수 있는 여러 방법이 있는데 내가 기여할 수 있는 부분을 하나씩 시도하는 것이 중요하다고 느꼈습니다. 처음에는 개인적인 욕심+해결하면서 배운다는 생각으로 인해 내가 잘 공감하지 못하는 이슈들 위주로 찾았는데, 이슈의 난이도와 상관없이 내가 직접 공감하는 이슈를 해결하면서 해당 레포에 대해 이해해야 함을 많이 깨달았던 시간이었습니다.\n앞으로도 오픈소스 기여하는데에 즐길 수 있겠다는 기대를 갖게 됩니다!\n\n\n계획\n\n\n- 1단계\n: Argo Workflows에 대해서 적응하고 직접 알아가는 시간 / 간단한 기여\n: Repo의 TODO를 통해 문서 기여\n: UI 위주 개선\n\n- 2단계\n: template,backend 위주 기여\n\n- 3단계\n: 해결 하면 좋은 이슈 작성 후 기여\n오픈소스 컨트리뷰션이 끝나도 멘토님께서도 정기적으로 모임을 계속 유지할 계획이시고 스스로도 이번 학기에는 Argo Workflows 레포에 적어도 한 달에 1개의 이슈라도 기여하겠다는 목표를 갖고 있습니다.","-기여-요약-13#🌵 기여 요약":"","15-정성락#15. 정성락":"","-개인-성과-보고-14#🌿 개인 성과 보고":"접기/펼치기\n\ngit/github 사용법 익히기\nissue: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11\npr: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15\n요약: opensource 생태계에서 code 형상 관리 핵심인 git/github와 친해지기 위한 작업\n상세내용:\nopensource의 상당수들은 git과 github를 이용해 협업을 하고 있습니다.\n그렇기에 opensource에 기여하기 위해서는 필연적으로 git/github와 친해져야합니다.\ngit/github를 사용 issue 발행, commit 규칙 준수, pr 생성등 다양한것들을 직접해보는 활동이었습니다.\n\n\n\n\nfeat: logging for client-side throttlingissue: #11387, #11402\npr: #11437\n요약: user가 특정 옵션을 잘못 설정한 경우 더 빠르게 파악 할 수 있도록 수정\n상세내용:\nkubernetes와의 통신을 위해 client-go라는 라이브러리를 사용합니다.\n해당 라이브러리에서는 request limit을 위해 --qps, —burst옵션을 제공합니다.\n이 옵션을 매우 낮게 설정한 경우 throttling이 발생하게 됩니다.\n그렇기에 사용자에게 좀 더 빠르게 알려주기 위해 별도의 log level 을 부여하게 되었습니다.\n해당 이슈를 해결하는 과정에서 client-go에 대해 많이 학습하게 되었습니다.\n특히 제일 유익했던 부분은 RoundTrip이었습니다.\ngolang에서 제공하는 http request interface를 지키는 모든 객체에 대해 RoundTrip 을 이용해 미들웨어를 추가 할 수 있다는것을 배웠을땐 정말 충격이었습니다.\n\n\n\n\ngo 1.21 upgradeissue: #11566\npr: #11601\n요약: golang 1.21 ver release에 따른 version upgrade 진행\n상세내용:\n리드멘티로서 이슈를 제가 해결하는것보단 아직 기여하지 못한 팀원이 시도해보면 좋을거라고 판단했습니다.\n\n해당 이슈를 팀원에게 공유했고, 팀원이 성공적으로 이슈를 해결 할 수 있도록 서포트 하게 되었습니다.\n주 1회 정기적인 모임에서 해당 이슈의 접근 방법을 공유하였습니다.\n\n평일의 경우엔 slack 채널에서 따로 질문을 받고 답변하는 식으로 모든 팀원이 PR을 제출하는 경험을 얻을 수 있도록 했습니다.\n\n팀원도 PR을 Merge하는 아주 소중한 경험을 얻게 되었습니다.\n\n\n\n\nDebugging 설정요약: 팀원의 argo-workflow debugging setting\n상세내용:\ngolang으로 개발을 처음하는 팀원을 위해 debugging 환경 설정에 어려움이 있었고, 이를 같이 해결하기위해 노력했습니다.\n\n이 과정에서 저 역시 kubernetes와 밀접한 app의 debugging 설정을 잘하지 못한다는것을 깨닫게 되었고,\n해당 부분에 대해 여러 사람들에게 도움을 받아야겠다는 생각을 하게 되었습니다.","-참가-후기-15#🌵 참가 후기":"후기\n13주간의 ossa 참가는 정말이나 즐거운 경험이었습니다.\n3번의 지원 끝에 좋아하는 커뮤니티인 CNCF, 좋아하는 언어인 Golang으로 만들어진 프로젝트에 참여한다는게 정말 행복했습니다.\nossca를 통해 CNCF 산하의 argo-workflow에 참여하면서 작더라도 CNCF의 생태계에 기여 할 수 있다는 것 자체가 저에게는 매우 행복한 시간이었습니다.\n특히 argo-workflow에서 운영하는 제도인 mentoring을 통해, maintainer와 빠르게 의사소통 할 수 있는 점은 beginner에겐 특히나 좋은 경험이라고 생각했습니다.\nargo-workflow의 mentoring 시스템을 통한 피드백으로 빠르게 PR 제출 과 merge를 통해 자신감과 좋은 경험을 얻었고 리드 멘티로서 모든 팀원에게 공유를 하고 싶었습니다.\n오픈소스 기여를 처음 접하는 팀원을 도와주면서 내가 당연히 여기던 부분이 처음 접하는 사람들에겐 얼마나 큰 진입 장벽인지 깨닫게 해주었고, beginner를 어떻게 더 안정적으로 생태계로 유입 시킬 수 있을지 고민을 하는 계기를 얻게 되었습니다.\n오픈소스 기여 활동 뿐만 아니라, Developer, DevOps, SRE 직무를 수행하는 팀원과 각각 직무를 수행하면서 사용하는 다양한 기술, 경험 공유를 통해 시야가 더 넓어지게 되었습니다.\n내년에도 기회가 된다면 꼭 ossa에 참가해 다양한 사람들과 오픈소스 기여 활동을 이어나가고 싶습니다.\n\n\n계획\n이번 argo-workflow 프로젝트에 참여하면서 argo 진영의 프로젝트들에 많은 관심을 가지게 되었습니다.\n프로젝트에 참여하면서 개발자로서 부족한점을 확인 할 수 있었고 이를 개선할 생각입니다.\nossca가 종료 되더라도 CNCF 산하 오픈소스에 대한 기여는 계속 이어 나갈 생각입니다.\nargo-workflow\n부족한 점\nkubernetes operator에 대한 이해가 부족\nfrontend 지식에 대한 부재\n\n\n추후 계획\nargo-workflow의 ui가 다른 argo project에 비해 많이 아쉬운데, 사용자의 피드백을 기반으로 개선을 시도해볼 생각입니다.\narea/artifact와 관련해서 더 다양한 스토리지를 사용할 수 있게 확장을 해보고 싶습니다.\narea/plugin과 관련해 현재 sidecar 형태로만 지원하는데, 외부에서 코드로 구현한 plugin을 더 쉽게 확장 가능하도록 구현할 생각입니다.\ndocument에서 beginner에게 난해한 부분을 고민해보며 개선을 진행하고 싶습니다.\n\n\n\n\n\n\n개인적 성장\n부족한 점\n여러 회사의 멤버들과 대화를 하면서 스스로가 생각하기에 서비스를 개발하고 안정적으로 유지하는 관점이 부족\n지식 전달을 위한 의사소통에 어려움.\n\n\n추후 계획\n전달하고자 하는 지식을 어떻게 정리하고 말해야 하는지 연구 할 생각입니다.\n많은 사람들과 대화하며 생각을 공유하고 타성에 젖지 않게 노력 할 생각입니다.","-기여-요약-14#🌵 기여 요약":"","16-채문영#16. 채문영":"","-개인-성과-보고-15#🌿 개인 성과 보고":"접기/펼치기\n다양한 과제 수행\nGithub Issue/Commit/PR 미션 수행\n대형 오픈소스에 컨트리뷰트하기 위한 깃허브 사용 방법 숙지\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44\n\n\nArgo Workflow Running Locally\nArgo Workflow를 Local 환경에서 실행시키는 과제\nArgo Workflow의 구조, DevContainer, 컨테이너 기반 애플리케이션, Makefile 구조 이해\n\n\n나만의 서비스 컨테이너 이미지 제작\nDocker File 명령어, 레이어 구조, 최적화, 캐싱 등 성능 개선\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/16\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/23\n\n\n\n이슈 분석\n매트릭 이슈 분석\nGithub Reaction이 많은 이슈로 많은 사용자들이 개선을 필요로 하는 이슈 분석\n매트릭 Label의 추가하여, 모니터링 편의성 증대\n\n\n이슈 분석 결과, 해당 내용을 개발했을 때 또 다른 문제를 야기할 수 있다는 것을 발견\n매트릭 Label을 추가할 경우, 많은 양의 메트릭이 수집되어 기존 사용자들에게 많은 양의 메트릭 트래픽이 유입되어 성능 문제가 생길 수 있다.\n\n\n우회하여 해결할 수 있는 방법을 제시하고 소통함\n커스텀 매트릭을 활용할 경우 이슈에서 요구했던 모니터링이 가능함을 확인하여, 우회하여 해결할 수 있는 방법 제시\nhttps://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337\n\n\n\n\n추후 개선을 위해 남겨놓은 주석에 모호한 부분이 있어 문의\nhttps://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745\n\n\n이슈 해커톤으로 이슈 분석\n\n컨트리뷰트\n(리팩토링) 잘못된 함수 이름, 변수명 등 수정\n다른 개발자에게 혼란을 야기할 수 있는 부분을 수정했음\nhttps://github.com/argoproj/argo-workflows/pull/11604\nhttps://github.com/argoproj/argo-workflows/pull/11633\nhttps://github.com/argoproj/argo-workflows/pull/11687","-참가-후기-16#🌵 참가 후기":"대형 오픈소스 커뮤니티에 기여하고 싶었으나, 막막함이 컸다. 이번 아카데미를 통해 직접 기여할 수 있어 좋았다. 기여 경험이 많은 멘티님이 기여할 수 있도록 단계별로 안내해주고,\n도전할 수 있게끔 유도해주어서 가능했다. 다른 개발자와 기술 세미나를 하고 기술 교류를 하며, 상호 성장할 수 있었다. ArgoWorkflow는 큰 규모의 프로젝트이기 때문에 혼자 분석하면\n어려운 부분이 많은데, 다른 개발자와 의견을 나누어 좀 더 빠르게 문제를 해결할 수 있었다. ArgoWorkflow 프로젝트를 어느 정도 이해했고, 작은 컨트리뷰트 경험을 통해 자신감이\n생겼기 때문에 다음 기여는 더 쉽게 할 수 있으리라 기대된다. 이번 프로그램이 끝난 후에도 ArgoWorkflow에 관심이 많은 다른 멘티들과 서로 협업하며 더 큰 규모의 기여를 할 계획이다.","-기여-요약-15#🌵 기여 요약":"","17-최수녕#17. 최수녕":"","-개인-성과-보고-16#🌿 개인 성과 보고":"접기/펼치기\n1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)Issue #11344\nPR #11662\n이슈 분석\n이 이슈를 이해하기 위해서는 먼저 Default Workflows가 무엇인지를 알아야 했습니다.argo workflows controller configmap에 workflowDefaults 라는 필드는 넣어 워크플로에 대한 기본값을 설정할 수 있으며, 워크플로에 이미 해당 필드값이 있을 경우에는 워크플로 값이 우선된다는 것을 알게되었습니다.예를 들어 configmap을 다음과 같이 설정한 뒤에 Workflows를 생성하면\n# This file describes the config settings available in the workflow controller configmap\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: workflow-controller-configmap\ndata:\n# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level\nworkflowDefaults: |\nmetadata:\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5\nparallelism: 3\n자동으로 workflowDefaults 필드에 설정해준 대로 Workflows가 아래와 같이 생성됩니다.\napiVersion: argoproj.io/v1alpha1\nkind: Workflow\nmetadata:\ngenerateName: gc-ttl-\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5 # Time to live after workflow is successful\nparallelism: 3\n해당 이슈는 workflowDefaults에 volumeClaimTemplates 값을 넣으면, CronWorflows/Workflows 생성 시 에러가 발생한다는 이슈였습니다.does not contain declared merge key: name 라는 에러메세지가 발생하는 것을 확인했습니다.코드를 확인해보니 StrategicMergePatch 함수에서 에러가 발생했고 이는 쿠버네티스의 patch 전략과 관계가 있었습니다.\nVolumeClaimTemplates []apiv1.PersistentVolumeClaim `json:\"volumeClaimTemplates,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"name\" protobuf:\"bytes,6,opt,name=volumeClaimTemplates\"`\nWorkflows에서 정의되어있는 타입인 VolumeClaimTemplates는 patchMergeKey로 name을 사용하도록 정의되어있었습니다.그러나 아래 PersistentVolumeClaim타입을 확인해보면 name은 존재하지 않습니다. 즉, 구조체에 정의되어있지 않은 값을 patchMergeKey로 정의해두어서 발생하는 문제였습니다.\ntype PersistentVolumeClaim struct {\nmetav1.TypeMeta `json:\",inline\"`\n// Standard object's metadata.\n// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n// +optional\nmetav1.ObjectMeta `json:\"metadata,omitempty\" protobuf:\"bytes,1,opt,name=metadata\"`\n\n// spec defines the desired characteristics of a volume requested by a pod author.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nSpec PersistentVolumeClaimSpec `json:\"spec,omitempty\" protobuf:\"bytes,2,opt,name=spec\"`\n\n// status represents the current information/status of a persistent volume claim.\n// Read-only.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nStatus PersistentVolumeClaimStatus `json:\"status,omitempty\" protobuf:\"bytes,3,opt,name=status\"`\n}\n\n이슈 해결\nVolumeClaimTemplates에서 patchMergeKey를 제거하도록 해당 이슈를 수정하였습니다.그러나 VolumeClaimTemplates에 patchMergeKey가 붙은 이유는 Volume과 같은 컨벤션을 사용하고 있어서 였습니다.해당 이슈는 이처럼 정책과 관련되어있기 때문에 더 많은 의논이 필요한 상황입니다.ArgoWorkflows 프로젝트에 처음으로 올린 PR이었고 꽤나 많은 사람들이 불편해하고 있는 이슈의 원인을 찾아낼 수 있어서 기뻤습니다.2. Search by name for WorkflowTemplates in UIIssue #11004\nPR #11684\n이슈 분석\n이번 이슈는 3명으로 팀을 짜서 작업을 진행했습니다.\n\nWorkflowTemplates는 '이름'을 기준으로 검색하는 기능이 존재하지 않아 특정 WorkflowTemplates을 찾기 위해서는 label을 기준으로만 찾을 수 있었습니다.그래서 많은 사용자들은 불편함을 느끼고 있었으며 '이름'을 기준으로 찾을 수 있는 기능을 제공해줬으면 좋겠다는 '기능 개선' 관련 이슈였습니다.\n이슈 해결\n\n\n쿠버네티스 API를 통해 조회된 WorkflowTemplates의 결과를 '이름'을 기준으로 필터링하는 로직을 추가적으로 넣어 해당 기능을 구현하였습니다.그러나 한가지 이슈가 존재했습니다.기존 페이지네이션은 쿠버네티스 자체 continue 값을 이용해 구현되어있어서 쿠버네티스 결과를 이처럼 커스텀하게 조작할 경우 쿠버네티스 페이지네이션을 사용할 수 없었습니다.이를 어떻게 해결해야 할까 고민이 많았지만 쿠버네티스의 resourceVersion을 이용하여 커서 페이지네이션을 하도록 구현하는 로직을 적용함으로써 해당 문제를 해결하였습니다.혼자가 아니라 여럿이 의논하며 할 수 있어서 너무 재미있었습니다.또한 ArgoWorkflows 프로젝트에 정말 필요한 기능을 제공했다고 생각하여 기분이 좋았습니다.3. A problem that is not initialized when changing the number of page limitsIssue #11702\nPR #11703\n이슈 분석\nSearch by name for WorkflowTemplates in UI 이슈를 해결하면서 새로운 페이지네이션 버그를 발견하였습니다.페이지 갯수를 변경할 때 페이지네이션을 위해 사용하는 continue 값을 UI에서 초기화 시켜주지 않아서 데이터가 제대로 보이지 않는 문제였습니다.\n이슈 해결\nUI 코드에서 페이지 갯수 변경이 감지될 때 offset을 초기화 하도록 간단하게 로직을 수정하여 문제를 해결할 수 있었습니다.단 한줄의 코드 수정이었으나 이 한 줄로 인해 꽤나 불편함을 주었던 문제를 해결할 수 있었습니다.4. Pagination may not work correctly for archived workflows\n이슈 분석\nIssue #11715\nPR #11761Maintainer @terrytangyuan 님께서 직접 Slack으로 연락을 주신 이슈입니다.\n\n\n\n\n좋아하는 연예인에게 연락받은 기분이라 너무 기분이 좋아서 날아갈 뻔 했습니다. 기쁘고 들뜨는 마음을 누르고 이슈를 분석해보았습니다.Workflows와 ArchivedWorkflows가 이전에는 다른 페이지로 분리되어있었지만 master 버전부터 Workflows와 ArchivedWorkflows를 하나의 페이지로 합치고 ArchivedWorkflows가 존재한다면 같이 보여주도록 로직이 수정되었습니다.그러나 Workflows와 ArchivedWorkflows가 하나로 합쳐지면서 페이지네이션에서 문제가 발생했습니다.두 개의 리소스는 서로 전혀 다른 페이지네이션을 사용하도 있었습니다. Workflows는 쿠버네티스 자체 페이지네이션인 continue값을 사용하고 있었고, ArchivedWorkflows는 자체적으로 데이터베이스를 사용하기 때문에 데이터베이스를 이용하여 offset 방식으로 페이지네이션을 하고 있었습니다.그러나 ArchivedWorkflows에 Workflows에서 사용하는 continue값을 그대로 전달하면서 ArchivedWorkflows가 아예 조회되지 않는 문제가 발생했습니다.\n이슈 해결\nSearch by name for WorkflowTemplates in UI 이슈를 해결하면서 구현했던 페이지네이션 로직을 참고하여 해당 이슈를 해결할 수 있었습니다.두 리소스는 다른 방법의 페이지네이션을 사용할 수 밖에 없기 때문에 두 개의 리소스를 합치기 전에 페이지네이션을 사용하는 것이 아닌, 일단 전체 리소스를 조회하여 두 리소스를 합친 후에 마지막으로 페이지네이션 로직을 적용하는 방법을 사용하였습니다.ArchivedWorkflows가 조회되지 않는 문제를 해결할 수 있었으나 페이지를 변경할 때마다 전체 리스트를 가져와 합치기까지 하는 것이 성능상 걱정이 되는 부분이라 성능 테스트를 할 수 있는 방법을 고민해볼 생각입니다.성능테스트를 해본 뒤 아니다싶으면 프론트에서 페이지네이션을 하는 방식으로 변경해볼 생각입니다.크리티컬한 이슈를 해결할 수 있어서 너무 좋았고 ArgoWorkflows 프로젝트에 컨트리뷰터로써 제대로 기여를 하고 있다는 생각이 들어 뿌듯하고 재밌었습니다.5. Relocation of Commit Guidelines Information in the DocumentationIssue #11700\nPR #11701\n이슈 분석\nArgoWorkflows 프로젝트에는 컨트리뷰션을 시도하는 개발자들을 위한 리드미 문서가 있습니다.하지만 그곳에는 커밋에 관한 가이드라인이 따로 언급되어있지 않습니다.GeunSam2 멘토님께서 본인이 처음 기여를 시도하려고 했을 때 커밋에 대한 가이드라인을 찾는데 너무 오래 걸려서 불편했다고 말해주셨습니다.\n이슈 해결\n\n\n이 불편사항을 들은 후 컨트리뷰션 리드미에 커밋에 대한 가이드라인의 링크를 걸어주도록 수정함으로써 ArgoWorkflows에 기여하고자 하는 개발자들이 편하게 기여할 수 있도록 하였습니다.이 PR에서는 메인테이너가 코드 제안을 해주었는데 코드 제안 기능을 처음 접해보아서 흥미롭고 재밌었습니다.","-참가-후기-17#🌵 참가 후기":"이번년도에 가장 잘 한 일이 무엇인지 묻는다면, 아무 망설임도 없이 ArgoWorkflows 프로젝트 컨트리뷰션 활동에 참여한 것이라고 이야기 할 것입니다.같은 분야에 있는 다양한 개발자들을 만나서 서로 공감대를 형성하며 이야기하는 것이 너무 좋았고 다양한 회사에 대한 이야기를 듣는것이 참 재밌었습니다.매주 모임마다 그저 모각코를 하는 것이 아니라 멘티들과 멘토님이 매번 좋은 세미나를 진행해주셔서 매주 일요일이 참 즐겁고 시간이 빨리갔습니다.또한 너무 능력있는 멘토님을 만나 평소에 주니어 개발자로서 고민되었던 부분, 앞으로의 방향성, 개발자로서 잘 공부하는 방법에 대한 조언들을 들을 수 있어서 행복했습니다.평소 컨트리뷰션에 도전해보고싶었지만, 이런 큰 프로젝트에 어떻게 기여를 하나 두려워서 시도하지 않았던 부분들을 이렇게 좋은 멘티들과 멘토님과 같이 부딪혀보니 두려움이 사라졌습니다.많은 PR을 올려보면서 메인테이너들과 소통하는 것도 너무 재미있었고 실제 나의 코드가 반영되는 것을 지켜보는게 정말 뿌듯했습니다.이번 경험으로 인해 ArgoWorkflows 뿐만 아니라 다른 프로젝트에도 충분히 기여할 수 있겠다는 자신감이 생겼습니다.이 기간이 끝난다고 컨트리뷰션을 멈출 생각은 없습니다. 앞으로도 ArgoWorkflows를 꾸준히 보면서 기여하고 싶은 부분에 기여할 생각입니다. 또한 ArgoWorkflows 뿐만 아니라 회사에서 사용하는 Kubernetes나 Argo CD 프로젝트에도 기여해보고 싶어서 도전해볼 생각입니다.","-기여-요약-16#🌵 기여 요약":""}},"/2023/activites/weeklyMeets/230715":{"title":"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 07월 15일 일요일\n장소 : OpenUP (Creative Ground)","️-참석자#☑️ 참석자":"염근철, 강병선, 권영길, 김수빈, 김원식, 김학준, 박진수, 서청운, 송혜민, 안다혜, 안지완, 유윤우, 이병곤, 이의주, 전의정, 정성락, 조국희, 채문영, 최수녕","️-회의-내용#☑️ 회의 내용":"당근마켓에서 ArgoWorkflows 도입한 사례 발표\n개발환경 세팅 방법 공유\n멘토 멘티 1on1 상담 진행","️-기념사진#☑️ 기념사진":""}},"/2023/activites/reports/finalReportEn":{"title":"Finalreporten","data":{"":"","tltr#TL;TR":"Go to see Contributions Summary","️-who-we-are#☑️ Who We Are":"The ArgoWorkflows OSS 2023team have 18 member. (1 Mentor, 17 Mentees)Our Team met for participant to Open Source Contribution Academy.A competition for junior developers with the theme How can I contribute well to open source?This event is a competition where some mentors and about 20 mentees are paired up and the goal is to contribute together and achieve results for four months.We participated in this event on the open source topic of ArgoWorkflows.Most of us were afraid to even use git at first. but we made succeeded in making various contributions over the past three months.Let me introduce our achievements.","️-what-is-argoworkflows#☑️ What is ArgoWorkflows":"Before the achievements introduction, Lets know about what is ArgoWorkflows.\n\nArgo Workflows is a container-based workflow engine, an open source project that can run parallel jobs on Kubernetes.\nEach workflow step is defined as a container, and multi-step workflows can be modeled as a series of jobs, or dependencies between tasks can be executed using a Directed Acyclic Graph (DAG).In other words, Argo Workflows makes it faster and easier to simple workflows tasks, as well as complex tasks for machine learning or data processing, on Kubernetes.\n\nArgo Workflows is a graduated project of the Cloud Native Computing Foundation (CNCF).To become a graduated project, it must pass all tests conducted by the CNCF to meet their rigorous standards.\nBeing recognized as a graduated project means that Argo meets the highest standards for clear governance and committer processes, healthy growth, and security and compliance adherence.\nSince the rigorous standards, only about 13% of projects registered with the CNCF succeed in graduating.In fact, it took about 5 years for the Argo project to be recognized as a graduated project, with over 7,000 contributors, over 11,000 PRs, and over 370,000 contributions.Moreover, the Argo project is a very active and up-to-date open source, with over 2300 companies contributing to the code and over 8300 people contributing to the code.Argo Workflows is recognized as the most representative workflow engine in the cloud native community.Many companies around the world officially have introduced and used Argo Workflows. This is means that Argo Workflows can solve issues with workload in big companies.The following major companies are using Argo Workflows.\n\n... and over 200 other global companiesSome alternative tools to Argo Workflows include Apache Airflow, Tekton, and Prefect.Argo Workflows is a Kubernetes-native engine that makes it easy to orchestrate container-based workflows and manage resources.\nApache Airflow, similiar but different to Argo Workflows, is a standalone application and does not inherently utilize the capabilities of Kubernetes.\nAs a result, Airflow can more difficult to resource management and scalability than Argo Workflows.Also, Argo Workflows can perform a various of tasks such as CI/CD as well as data pipelines because it runs each workflow step as an independent container.\nThis is possible due to use the power of Container and Kubernetes, than it can run anything without restrictions.","️-key-accomplishments#☑️ Key Accomplishments":"","uiux-improvements#UI/UX improvements":"The Argo Workflows project is actively contributing to UI/UX improvement as the main topic for contribution.As proof of this, you can also check the dashboard for UI/UX improvement tracking.\n\nOur team has also made many UI improvements along these project goals.\nKey improvements for UI/UX\n\nSearch by name for WorkflowTemplates in UI\nshow history about completed runs in each cron workflow\nImprovements to DataPciker\nUI toolbar sticky\n... and Various other bug fixes","improving-core-functionality#Improving core functionality":"As contributions accumulate, our understanding of the project increased and we got more confidence.\nWe were increasingly able to contribute not only UI/UX improvements, but also the core functionality of the workflow engine.What’s new in Argo Workflows v3.5The core logic of the workflow engine is install as a CRD in Kubernetes and has a significant impact on the behavior and performance of a Kubernetes cluster.\nSo, Contributing to workflow engine is quite difficult.because it requires a high level of implementation and active participation in testing and policy discussions with maintainers.It was challenge for us, but our team was able to make key contributions to the Argo Workflows 3.5 release. Also We were mentioned to the Argo official blog by contributing very important features to Template Spec, Authentication, and Controller.\n\nEven after the release of Argo Workflows 3.5, we made many contributions such as CI and test environments for DX improvements, new features in the Nix, Controller, and Template specifications, updating GoLang version.\nWith more contributions, We are making progress in making Argo workflows a much better tool in next release.","close-communication-with-the-maintainer-group#Close communication with the maintainer group":"Our team was very fortunate that the Argo Workflows project got a new leader in May of this year, Yuan Tang, and the breath of contributions across the project really accelerated.Normally, in a large project like this, it would take quite a long time for reviews making it difficult to a lot of contributions.\nHowever, Thanks to the talented project head and his team, all of the ArgoWorkflows team members who participated in this competition learned a lot, experienced a lot,\nand grew through a lot of contributions in a short time.\n\nOpportunities for contributions existed outside Issue and PR pages.We were able to have the valuable experience of being in open source project, such as deciding on a policy for processing logic in the project to resolve issues and experiencing being assigned and working on other related issues.Now, We introduce our contributions during the project.","️-contribution-academy-progress-and-activity-details#☑️ Contribution Academy progress and activity details":"","from-not-knowing-anything-about-git-to-becoming-an-open-source-contributor#From not knowing anything about Git to becoming an open source contributor":"Of the 17 Masters stage participants, 12 of our team were made up of members who had no experience in proper collaboration/code review through GIT.As it is a CRD that runs on Kubernetes as an engine, it is a project that requires a high level of understanding of Kubernetes, but there were only 4 members with proper experience using Kubernetes.At first, I had no idea how to start and was at a loss, but as a result of practicing Git with a mentor and performing various tasks and studying in the practice REPO to become familiar with containers and Kubernetes, I gradually became familiar with the tool called Argo Workflows. It has begun.As a result, at the time of writing this report, we had the enjoyable experience of creating PRs for all 17 Masters stage participants.\n\n\nSummary of contribution activities\nAdditionally, contribution activities, which I had not been able to actively do at first because I was busy familiarizing myself with the tool and acquiring background knowledge, accelerated over time.In the end, the members' skills are growing so quickly that in September, in just the first week, they were able to match the number of PRs that were close to the PRs contributed during the previous month.\n\n\nMonthly Activity Graph\nIntroducing the various activities our team has performed to achieve the current contribution activities.","repository-creation-and-contribution-activities-to-practice-using-git#Repository creation and contribution activities to practice using Git":"Repository address: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io\n\nGoal: Update member profile of issue template Select issue and create first PR according to issue content.\n\n\n\n- Goal Details\n- Edit/add the two files below to create a PR that updates user information.\n- `docs/users/users.md`\n- `docs/users/[name].md`\n- [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)\nTo raise PR and merge, please refer to the points below.\n- Since you do not have permission to create or push branches in the repo, you must fork and then work on it.\n- Please refer to [PR’s Naming Convention](https://flank.github.io/flank/pr_titles/).\n- [DCO](https://github.com/apps/dco) Please commit by referring to the conditions for passing the bot's check.\n- Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit.\n- It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)","operation-of-a-special-class-on-container-basics#Operation of a special class on container basics":"Page address: https://github.com/ArgoWorkflows-OSS/container-playground\n\nGoal: Create your own service and configure CI for containerization\n\n\n\n\n\n- Goal Details\nCreate your own web service and write a Docker file that can be containerized.\nTo pass the assignment, please be sure to follow the instructions below.\n\n- Directory and file placement\n\n- When developing a personal service, be sure to create your own GitHub account directory and write code under it.\n- `Dockerfile` must be located at the top level of your directory. (If this condition is not met, CI may fail.)\n- You can freely create other files under your own directory except for the location of `Dockerfile`.\n- However, the image must be built successfully when you run the `docker build -t [image name] .` command at the top level of your directory.\n\n- Behavior of built images\n\n- Personal web service must operate on port 8080.\n- The built image must be serviced without problems when the `docker run -d -p [forwarding port number]:8080 [image name]` command is executed without any additional parameters.\n\n- Web service development language and service structure\n- It doesn’t matter which language or framework you prefer.\n- It doesn’t matter if you create a simple API service with no UI or design.\n- However, you must create two required APIs. (I don't care about the response value.)\n1. /api/v1/[your github account]\n2. /healthcheck\n- (Optional) It is better to optimize the Docker image. ([Reference](https://thearchivelog.dev/article/optimize-docker-image/))\n- [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)","opening-and-conducting-an-issue-hackathon-within-the-team#Opening and conducting an issue hackathon within the team":"Intra-team hackathon to designate issues and solve each group issue within a period of time","join-to-contributor--community-meetings#Join to Contributor / Community meetings":"","argo-workflows-oss-team-page-creation-and-operation#Argo Workflows OSS team page creation and operation":"Page address: https://argoworkflows-oss.github.io/\n\nProduction framework: nextra","conduct-offline-meeting-activities-at-least-once-a-week#Conduct offline meeting activities at least once a week":"Regular meeting activities\n\nWe selected every Sunday as a regular offline meeting date and conducted regular meeting activities.\nWe conducted various communication activities such as exploring issues to be resolved through group activities, sharing our own experience in resolving issues, and discussing errors that occurred during the process.\nDetailed information about offline regular meetings can be found through the link here.\n\n\n\n\nPresentation activity on topics of interest\n\nDuring offline meetings, I gave presentations on topics of interest to me.\nTopic of interest presentation topic and presenter\norder\tTitle\tPresenter\tAnnouncement date\t1\tCase study of Argo Workflows adoption at Carrot Market\tYeom Geun-cheol\tJuly 15\t2\tWebRtc concept and use cases for real-time communication\tSong Hye-min\tJuly 30\t3\tHow to link Argo Workflows and Keyclock\tSoon yeong-Choi\tJuly 30\t4\tImplementing CI/CD with Argo Project\tHak jun-Kim\tAugust 6\t5\tPresentation of eBPF concept, filter development method, and use cases\tSeong rak-Jeong\tAugust 6\t6\tHistory of containers and creating containers without Docker\tYeom Geun-cheol\tAugust 13\t7\tPlatform builder that allows developers to load test themselves & K6 load test PoC announcement\tAh Da-hye\tAugust 20\t8\tConsiderations on the container ecosystem\tYeom Geun-cheol\tAugust 27\t9\tGithub Actions Installing and operating self-hosted in Kubernetes\tCheong woon-Seo\tSeptember 2nd\n\n\n\n\n\nGathering together and coding individually\n\nWe gathered together irregularly and did our own coding.\nWe conducted technical exchanges, including analyzing the structure and issues of ArgoWorkflow.","️-participant-contribution-details#☑️ Participant contribution details":"","0-geuncheol-yeommentor#0. GeunCheol Yeom(Mentor)":"","-participation-review#🌵 Participation Review":"I met ArgoWorkflows last year, and many things changedI participated as a mentor at this event, but I feel like I'm the one learning and getting more out of it.I would like to sincerely thank the mentees who participated in the event and did their best until the end, and I hope that we can continue to be colleagues in open source activities together.During the event, I was able to think about the culture of the open source ecosystem once again, and I was able to study various techniques for utilizing Git that I thought I knew in the CI environment.I feel more passionate about the ArgoWorkflows project, and I'm not sure what opportunities there will be in the future, but I'd like to contribute to more diverse areas.","1-byeongsun-gang#1. ByeongSun Gang":"","-personal-activity-report#🌿 Personal Activity Report":"Collapse/Expand\n\nPersonal achievements\nDocumentation contribution #11762 Remove helm installation guide and Add helm documentation link\nWe need to install helm for MinIO configuration, but the helm installation guide only shows the configuration related to mac, so we fixed it to access the helm official documentation.\n\n\nDocumentation contribution #11735 Add installation option description\nWe added a detailed description of the managed namespace option.\nI learned from a maintainer that there is a Documentation convention for Kubernetes here.\n\n\nContribution Preparation Courses and Activities\nLearn the basics of Github\nMy mentor gave me an assignment to update my profile. I familiarized myself with the concepts of GPG and DCObot to become more familiar with github.\n\n\n\n\n\nDocker Beginner Special Class\nWe had an activity to create a docker image using Dockerfile. I learned the concepts by reading the materials organized by my mentor.\nIn addition, when creating the image, I tried to apply multi stage build to include only the features needed for execution.\n\n\n\n\n\n\nAfter the lab, my mentor walked me through Overlay FS one by one, showing me how the images are created. This was really informative...\n\n\nLearning the basics of Kubernetes\nBefore contributing, I took the time to study the basics of Kubernetes.\n개인 공부자료\n\n\n\n\nArgo workflows\ntemplate and self-study.\nMentee Hakjun showed me the pipeline for deploying on GCP using ArgoCD and Argo Workflows.\n\n\n\n\nParticipation in OSS meetup activities\nMentors and mentees gave presentations on various topics. It was a good time to hear what problems they are facing in the real world besides contributing and how they solved them.\n\n\nParticipating in the hackathon\nMentee Sungrak helped me a lot. He shared the issues he thought were okay and always encouraged me to challenge myself.\n\n\n\nHe recommended the issue #11609 Compile expr in config, so I tried it.\nI spent some time analyzing the issue by teaching myself Golang.\nIt was a good time to become more familiar with golang.","-participation-review-1#🌵 Participation Review":"Participant Review\nAs a junior developer, this activity is not just for contributing, it's a great way to see what developers are thinking about and how they grow.\nI got so much help and I'm always grateful. It was a great time to meet so many nice people.\nI'm glad I took the first step in getting acquainted with containers.\n\n\nFuture plans.\nI will continue to be interested in and contribute to all open source projects that I use in my development.\nI will apply Argo workflows to real projects and find ways to contribute more!","-personal-summary#🌵 Personal Summary":"","2-sion-kang#2. SiOn Kang":"","-personal-activity-report-1#🌿 Personal Activity Report":"Collapse/Expand\n\n1 issue, 3 PRs\nModified GitHub Actions log name to improve readability\nhttps://github.com/argoproj/argo-workflows/pull/11670\nAmong the steps performed in publish-release, Run actions/cache@v3 is performed a total of three times.\nEach person has a different role, but the same name is used, so the part where it may feel like the same task is being done three times has been changed to a name that fits each role.\n\n\nDelete cache logic that does not require GitHub Actions\nhttps://github.com/argoproj/argo-workflows/pull/11754\nFixed an error that occurred due to overlapping cache because caching is performed by default unless the cache option is set to false in setup-go actions.\n\n\nUpgrade all checkout@v3 that uses the deprecated NodeJS 16 version to checkout@v4.\nhttps://github.com/argoproj/argo-workflows/pull/11782\nSince NodeJS will soon end its security support, changes have been made to use actions using the latest version.","-participation-review-2#🌵 Participation Review":"I enjoyed last year's experience so much that I decided to participate again this year, but this year was a great experience again with a different feel from last year.\nThanks to all the passionate team members and active projects, I was able to maintain interest in the project without losing tension, and I am very happy that I have a colleague with whom I can share not only the project but also related stories.","-personal-summary-1#🌵 Personal Summary":"","3-younggil-kwon#3. YoungGil Kwon":"","-personal-activity-report-2#🌿 Personal Activity Report":"Collapse/Expand\n[Project Contributions]\n'Bug modification' Argo Workflow Datpicker improvement (completed)\n\nImprove the ui of datepick, one of the filter functions of the workflow list page\n\n\n\nIssue LinkUI: Datepicker Style Malfunction Issue · Issue #11476 · argoproj/argo-workflowsPR Linkfix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd · Pull Request #11480 · argoproj/argo-workflows\n'Bug modification' Cronworkflow's State filter initial value setting (completed)\n\nFixed a bug where the status filter in the cronworkflow is rendered regardless of the initial value\n\nIssue Linkui: Cron workflow initial filter value · Issue #11685 · argoproj/argo-workflowsPR Linkhttps://github.com/argoproj/argo-workflows/pull/11686\n'Fix the bug' Remove webpack-related alerts from the initial page (in progress)\n\nTo remove web pack monitoring that occurs when loading argo workflow uiCurrently testing the dependence and functionality of the associated libraries\n\n\n'Improvement' Improvement of login page (in progress)\n\nIssues that improve the existing login page in Argo Workflow in the same form as the Argo CDWe will analyze the login capabilities provided by current workflow and apply new designs and designs afterwardsIssue LinkSimilar login page to Argo CD · Issue #10816 · argoproj/argo-workflows[Project Activity History]7.8 Opening Ceremony (Project Introduction and Self-Introduction)\nOpening ceremony\n\n\n\nTime for self-introduction using nicknames\nA rough introduction to the project\na majority vote for the rules of gathering activity\nThe next meeting activity will be held from 1 p.m. on Saturday (07/15) unlike the regular schedule, depending on the majority vote of the participants at the opening ceremony. The planned activity topic is:\nTime to review or talk about *common activities** for the next week\nTime to communicate about topics of interest\nYou can also set up the development environment according to your progress. (Optional)\n(Common activities will be organized and shared within tomorrow's work hours.)\n\n\n\n7.15 First Meeting (Introduction to Development Environment Settings and Workflow Features)\nOpen Up to the First Meeting\nDevelopment Environment Settings (dev-container)\nPlayground Mission (DCO Bot Check Passed, Commit Using GPG, Commit Message Convention)\nI created a playground before I immediately challenged a real open-source project. The first goal is to do issues/PR/commitments, etc., from an outsider's perspective on the project in this Playground.\nIt's simple, but there may be unexpected gateways for the first time, so please focus. If we resolve the first issue early, we will give you additional instructions. Haha\n저장소: https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS\nObjective: Select member profile update issue in issue template and generate first PR according to issue content.\n\n\n\n7.23 Second meeting (share issues of interest)\nGathering at Seongsu to conduct the second meeting (provided by Musinsa-Andahye Mentee)\nIntroduce issues of interest, share issues with each other\n\n\n\n\n8.6 Fourth meetingPresentation activities\nargo event와 workflow, cd연동\neBpf\n\n\n\n8.13 Fifth MeetingPresentation activities\nwebRTC\n\n\n\n8.20 6th Meetingpresentation activityEast\nPlatform builder & K6 load test PoC for developers to load test themselves\n\n\n\n[Project Activities]\n[Learning to contribute]\nKubernetes Architecture Lecture - YouTube link\nKubernetes Resources Lecture - YouTube link\nGo Playground - https://go.dev/play/\n\n\nLearnings and impressions\nI realized that domain knowledge in the field is important to contribute to the project.\nI wanted to simply contribute to web services, but it was not easy to set up the environment due to lack of knowledge about Kubernetes.\nI learned that big open source projects use things like DCO/GPG, and I was able to learn how open source projects are managed and operated.\n\n\nIssues and PR details","-participation-review-3#🌵 Participation Review":"For me, the idea of contributing to open source brings up a lot of mixed feelings.\nContributing to open source with other developers and experiencing the sharing and collaborative culture of open source is a great joy and reward for developers.\nHowever, the uncertainty and fear that I had experienced when contributing several times before was a big barrier that made me hesitate to try again.\nWhen I decided to participate for the third time, I said to myself, \"Excuses like \"I'm a student, I don't know enough, I'm busy preparing for a job, etc.\" don't work anymore. I must succeed this time'.\nI can still remember the promise I made to myself when I started, which made it all the more overwhelming and exciting.\nWhen I was applying for projects, I had to decide whether I wanted to work on something I knew or something new. I applied for a project related to devops, a field I hadn't been exposed to before, in order to educate myself and work harder.\nIt didn't take long for me to regret this decision. There was a lot to learn before I could even contribute, and a lot of time was wasted in building the basic environment of the project. However, when the development environment was built with other team members,\nsharing each other's difficulties every day and actively trying to help each other, it was an exciting time.\nErrors and bugs that occurred in my work always made me sensitive and annoyed, but in the academy, it was like a mission that I could do, and the process was fun like a game.\nNow that I'm writing this recap, I'm very proud of my contributions and I'm grateful to my colleagues and mentors who helped me along the way.\nIn the future, I will think about how I can apply the argo-workflow project to my work and actively contribute to the issues that arise. I would also like to contribute to new projects if there are other good projects.\nThank you.","-personal-summary-2#🌵 Personal Summary":"","4-subin-kim#4. SuBin Kim":"","-personal-activity-report-3#🌿 Personal Activity Report":"Collapse/Expand\n\nPersonal performance\nContributing one 'issue' and one 'PR'\n\n\nPreparation for Countryview\nViewed: OSSCA Basic Training uploaded to YouTube. I've used it a lot before, such as Git and Vim, and I knew the concept, but I was able to know and understand a lot of parts that I didn't know or roughly used.\nIn the 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository, we performed an example of Git configuration settings and linking and closing Issue and PR.\nArgo Workflows must have all commitments signed with gpg private key and signed off when creating PR. Otherwise, it will fail in the GitHub CI. Before I actually contributed to Argo Workflows, it helped me greatly to set up a local Git environment in advance and create a simulated PR.\n\nhttps://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38\n\n\n\n\nYou have set up the Argo Workflows development environment. At first, I set it up with devcontainer, and then I used Nix.\nArgo Workflows requires multiple components in the development environment, including React UI, Argo Server, and MySQL, making it difficult to configure the development environment, but we were able to fully configure it over several weeks.\n\n\nCountryview progress\nFix 'Bug Fix' Fix go build\n\nhttps://github.com/argoproj/argo-workflows/pull/11635\n\n\nThe existing code base was using Go 1.20, but there was a problem with using Go 1.19 in the Nix build file. Previously, the build was fine, but when I started using the newly added grammar in Go 1.20, I encountered problems with the Nix build.\nUsing '_module.args', I modified Go 1.20 to be the default and modified the Nix build.\n\n\nAutomatic update of 'function improvement' Nix go vendor hash\n\nhttps://github.com/argoproj/argo-workflows/issues/11691\n\n\nThis is an issue that I learned when I set up the development environment during the preparation of the contention. Nix pursues a reproducible build, but when GitHub's Dependency Hash value is not changed together when GitHub's Dependency Abot automatically raises the Go module version.\nThis often requires developers to manually calculate and update Nix's go vendor hash when setting up a development environment, and we are looking for workable ways to improve it.\nIn order to find a solution with the contributors, an issue was created by collecting the contents of existing PRs and Comments.\nDevelopers are reflecting it manually without solving it in other open-source projects, so after contributing to Argo Workflows, I think I can contribute to other projects as well.\n\n\n'Improvement' 'CHANGELOG.md '\n\nhttps://github.com/argoproj/argo-workflows/pull/11733\n\n\nMarkdownlint is a tool that forces documents in a project to be written in a consistent format and makes them easier to read and modify.\nPreviously, we used Markdownlint to configure the linker settings for the Project Markdown document, but we improved the 'CHANGELOG.md ' file, which is automatically generated using the script, because it does not comply with the linker rules.\nNew 'CHANGELOG.md ' changes created by the changed script are contained in this PR. → → https://github.com/argoproj/argo-workflows/pull/11773\n\n\n'Improvement' document style improvement\n\nhttps://github.com/argoproj/argo-workflows/pull/11787\n\n\nWe've improved the style of some documents that don't follow Markdownlint, and we've shared that we'll revise the documents that are automatically generated later in PR.","-participation-review-4#🌵 Participation Review":"Review of participation in the program\nIt would have been impossible if I had tried to contribute by myself, but I think I was able to prepare and contribute while gathering with mentor and other mentees to study and contribute.\nIt was great to understand the Argo Project ecosystem and community, and to understand Argo Workflows much deeper than before.\nPlanning future contributions\nWe will discuss the solution with the contributors in the issue we have created and implement it will be implemented.\nAfterwards, we will improve the Nix development environment and gradually transfer the devcontainer development environment to Nix.\nThe documents related to Nix are poor, so we are going to improve the documents.","-personal-summary-3#🌵 Personal Summary":"","5-hakjun-kim#5. HakJun Kim":"","-personal-activity-report-4#🌿 Personal Activity Report":"Collapse/Expand\nrefactoryfix: Upgrade Go to v1.21 Fixes #11556[**Merged]**\nArgo Workflows are developed in Go language.\nAn issue was issued to upgrade Go Version from 1.20 → 1.21, so we decided to resolve it.\nDuring the ‘Issue Hackathon’ period, we presented the issue and worked with the same team members to resolve the issue and conduct PR.\nAs a result, it was a glorious time to have my first PR and my first contributor badge.\n\nfix: Upgrade Go to v1.21 Fixes #11556 by junkmm · Pull Request #11601 · argoproj/argo-workflows(opens in a new tab)presentation\nDuring the Challenges period, we had time to present at an offline meeting the results of CI/CD implementation using Argo Projects.\nIt was a useful time to organize my thoughts during the presentation, talk with each other, and understand DevOps and the Argo Project ecosystem.\n\n\n\n\nIssue Hackathon\nAn ‘Issue Hackathon’ was held under the leadership of a mentor with the opinion of Da-hye A to reduce entry barriers and motivate contribution activities.\nUnder the leadership of our mentor, we became a team with Seongrak, Moonyoung, and Byeongseon.\nDuring this period, I achieved the resolution of the go 1.20 → 1.21 upgrade issue that I suggested.\nWe attempted to resolve the issue of adding Prometheus Metric values built into Argo Workflows, but were discontinued due to the high level of difficulty. However, through this process,\nI had a great experience breaking down my stereotype that Prometheus requires a separate exporter to be installed and expanding my horizons.\nplan to add workflow labels to the metric? · Issue #9849 · argoproj/argo-workflows(opens in a new tab)\nWe are trying to resolve the following issue: Compile expr in config · Issue #11609 · argoproj/argo-workflows\n\nBeginner’s Special Class - Container Playground\nArgo Workflows is an open source that runs in the Kubernetes native environment.\nThe mentor opened the Kubernetes Study, saying that knowledge of Kubernetes would be helpful in approaching our project.\nThe first mission was to create a Web Container that satisfied the conditions presented.\n\n\n\nIt made me reflect on how I usually write Dockerfiles thoughtlessly, and it was a good time to learn about the relationship between multi-staging, build speed, and how to write Dockerfiles.","-participation-review-5#🌵 Participation Review":"Participation reviewFirst of all, I am very satisfied. I don't think it can be compared to the person I am today, who didn't know much about the open source ecosystem in the early days of contribution. The reason I'm so satisfied First, we are smart team members.\nEvery week, there were many presentations on various topics, technologies used by people in the workplace, technologies of interest, etc. It was a premium lecture that could not be heard anywhere else, and it was a very helpful time. Second, we have reliable team members.\nAs someone with little development experience, I was a little scared of this contribution period. However, thanks to many people, including our leader mentee, Seongrak, who actively provided information when they posted questions on Slack, I was able to smoothly overcome the problems I experienced.\nThird, it is a comfortable meeting space and reliable support. We met every Sunday at the open-up space in Seocho. It was really clean, probably because it was a new building, and the coffee and snacks in the bathroom were just brilliant. Also,\nit was nice to be able to eat really delicious lamb skewers during the mid-day company dinner.Future plansThrough this year's contribution activities, I was able to clearly understand the open source ecosystem. The only thing I regret is that it was scary in the beginning? It's about being active passively and my cute little coding skills that I couldn't help but be passive about.\nBecause the period of contribution activities was truly valuable, I would like to make up for my shortcomings and participate next year as well.","-personal-summary-4#🌵 Personal Summary":"","6-jinsu-park#6. JinSu Park":"","-personal-activity-report-5#🌿 Personal Activity Report":"Collapse/Expand\nImprovements\nA new feature to support Secrets as a type of parameters (link)\n\n\n\nThe original Argo Workflow allowed you to define arguments directly when passing them to the WorkflowTemplate, or you could set it to reference a ConfigMap. However, unlike other tools that support the common kubernetes ecosystem, the ability to reference Secrets was not supported.We started getting feature requests https://github.com/argoproj/argo-workflows/issues/5506에서 for this, and we've implemented it and created a Draft PR.This feature was not easy to develop, especially since it required redefining things like the CustomResourceDefinition interface in Kubernetes, and figuring out the entire lifecycle of how a workflow is created, injected with sidecars, and created as a Pod.However, as we implemented the feature, we were able to gain a deeper understanding of how workflows are eventually transformed into pods and containers, and the logic behind how workflows templatize context and arguments internally.Create Issue` Incorrect creator labels on a resubmitted Workflow (link)\n\n\n\nArgo Workflow has a feature called Resubmit that recreates and runs a Workflow based on the same template. In the case of a resubmitted Workflow, the k8s object label related to the user who created the Workflow was not set based on the resubmitted user, but was set to the existing incorrect value.As a result, if the user who ran a workflow was different from the user who resubmitted the workflow, the workflow created by the resubmission would have an incorrect workflow creation user-related k8s object label.We raised an issue about this.Bugfix: fix: Apply the creator labels about the user who resubmitted a Workflow (link)\n\n\n\nWe created a Pull Request to resolve the issue (bug) we created earlier.We fixed the bug by labeling the correct Workflow constructor k8s object based on the resubmitted user information only, without considering the information of the existing Workflow executor when resubmitting.As an example of the change, we showed how a Workflow executed by a user named foo would be resubmitted by a user named bar, and how the creator-related label would be different if it was resubmitted by an unauthenticated user.We also found that there were a lot of other code that was impacted, so we wrote test code to make it more stable.Improvementsfeature: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (link)\n\n\n\nIf the CronWorkflow was created by a logged-in user, the CronWorkflow will be labeled with a k8s object for the constructor. However, there was an issue that the k8s object label would not be attached to Workflows that are created periodically based on the settings of CronWorkflow.Therefore, we have improved Workflows created with CronWorkflow to propagate CronWorfklow's constructor label.Issue.Insufficient logging in /oauth2/callback handler when using SSO Authentication (link)\n\nWe tried to activate the Authentication with Single Sign On (SSO) feature in Argo Workflows using the Identity Provider open source product called Keycloak, but we experienced a significant delay in the activation process due to the lack of logs.\nTherefore, we opened an issue on the topic of enhancing the logging of the feature activation operation.Feature.feature: Improve logging in the oauth2 callback handler (link)\n\nThis is the pull request that resolved the issue mentioned above (block link). We improved the feature to output error logs for each error case that occurs while using OAuth2 Protocol for SSO.Also, to make it easier for reviewers to review the pull request, we've added code verification to make the pull request more convincing.Study`docs: Add a user named Park Jinsoo (link)\n\nAt the beginning of the event, we practiced creating a pull request by adding an introduction about myself to the member profile of a repository that my mentor created for us to get acquainted with GitHub.","-participation-review-6#🌵 Participation Review":"It was a great opportunity for me to become a contributor to a well-known open source project after having been a user of many open source projects for my work and hobbies.With the help of my mentor, I was able to get started in open source contributing with Argo Workflow, overcome my fear of live video meetings between contributors, and develop the habit of reading code written by others.I'm now very interested in Argo Workflow, as well as other cloud-native, open source favorites like Argo Rollouts and Istio, and I've been communicating with contributors frequently via Slack.Before I started contributing to open source, I'm sure I would have been reluctant to do so. But now I don't feel intimidated by this communication at all, and in the future I hope to contribute as much to Argo Rollouts and Istio as I did to Argo Workflow!I would like to thank the organizers and mentors for all their hard work over the years. Thank you.","-personal-summary-5#🌵 Personal Summary":"","7-chungwun-seo#7. ChungWun Seo":"","-personal-activity-report-6#🌿 Personal Activity Report":"Collapse/Expand\n\nindividual performance\n1 PR Open\n\n\nCountryview preparation process\nWe checked the shared video of the basic Git strategy shared by the OSSCA Secretariat and combined the new parts we missed with the existing concepts to enhance our understanding and application of Git.\nThe team's 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository allowed us to learn the gpg private keys, issues, PR titles, etc., which are essential for open-source attributes, by actually performing missions and gaining experience.\ndWe used devcontainer to build and test Argo Workflow's local development environment, and to test the requirements for actually doing the content. The portability tool for multiple library dependencies made it very easy to use.\n\n\nContent progress\nModifying fields example in formula docs\nhttps://github.com/argoproj/argo-workflows/pull/11748\nAn example of a document that does not use Cron Workflow was included in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields in the existing official document, causing confusion in finding the required data.\nSo, in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields, we only allowed examples using CronWorkflow to find the data we needed.","-participation-review-7#🌵 Participation Review":"Program Participation Review\nMentors and mentees led the meeting so well that I wondered if there would be another meeting where I could get to know and understand the open-source ecosystem in depth.\nAs an individual, I was very disappointed. I could have invested a little more time and actively participated in the meeting to make it a better meeting as well as personal growth, but it was a period that left a lot of regret because of various external factors and my own laziness.\n\n\nFuture Contribution Plan\nWith great confidence that open-source attributes are no longer scary (?) things, we will be able to explore open-source beyond the Argo ecosystem and be more interested in the CNCF ecosystem.\nBased on the fact that we can make contributions through previous PR records and the help of the main container without having to look at the source from the beginning, we plan to actively continue our contribution beyond the psychological hurdle of the country.","-personal-summary-6#🌵 Personal Summary":"","8-haemin-song#8. HaeMin Song":"","-personal-activity-report-7#🌿 Personal Activity Report":"Collapse/Expand\n\nContribution Activities\nMutex check happens after memoization cache check and lock info missing from UIBug FixIssue #11219\nPR #11456 - Merged/Included in 3.4.10 releaseI managed to modify Argo Workflow to simultaneously utilize the Synchronization and Cache functionalities.This bug manifested when using both the Synchronization and Memoize keywords in Argo Workflow, causing it not to operate correctly.The expected behavior was for the Mutex Synchronization to function first followed by the cache, however, after Synchronization occurred, the cache failed to operate.For instance, when there are job-1 and job-2, if job-1 operates first due to Mutex Synchronization and writes to the cache, job-2 ** should pass without operating, courtesy of the shared cache.**\n\nI was able to fix this by adjusting the sequence of Synchronization and Cache.While the fix was not complicated, modifying the operation.go, one of the intricate files, allowed me to explore various features of Argo Workflow with many reviews.Parent level memoization is brokenBug FixIssue #11612\nPR #11623 - Merged/Included in 3.4.11 releaseA new bug arose from the above fix. When using the Memo function in child components rather than at the Template level in Argo Workflow, a bug was reported that caused infinite pending.\n\nI realized that there were unaddressed cases in the tests added in the previous PR. After identifying the cause of the error, I quickly patched it. I included four tests in the PR to detect such exceptions in the future.UI: workflowDrawer's information link is not correctly workingBug FixIssue #11494\nPR #11495 - Merged/Included in 3.4.10 releaseI fixed an issue where the Information icon link was broken when expanding a workflow on the Argo Workflow dashboard.\n\nI introduced code to prevent incorrect event propagation caused by nested tags. This correction ensured that clicking on the icon now directs users to the correct documentation.Search by name for WorkflowTemplates in UIFeature EnhancementIssue #11004\nPR #11684 - Merged/Included in 3.4.10 releaseThis was a collaborative effort with two other contributors.A helpful feature that allows templates in Argo Workflow to function through name patterns was missing.\n\nWe developed an additional feature that lets users search for templates not just by Yaml labels, but also by names.\nThe LIKE search, not just precise naming, will prove useful in the future. Plans are underway to extend this search and pagination functionality to other pages, making this a particularly meaningful PR.Add more readable Argo CLI installation guide into github documentationDocumentation ContributionIssue #11750\nPR #11751 - MergedThis contribution pertains to the documentation of the Argo CLI, the command-line interface used with Argo Workflows.\n\nThe current Argo CLI GitHub documentation lacked installation procedures, making it challenging for first-time users to determine how to install the Argo CLI. Initially, users had to directly navigate to the Release Note or the Quick Start page.\nBy adding an Installation section to the Argo CLI page alongside the existing Usage details, I aimed to enhance user convenience.Workflow templating is skipped when whitespace is added to template parametersBug FixIssue #11767\nPR #11781 - MergedIn Argo Workflow, when authoring a workflow template, the placeholder in the form {{parameter}} did not undergo validation when spaces were added, such as {{ parameter }}.\nThe root cause was the internal validation code not trimming spaces before and after the parameter. By adding the trim function to remove spaces, I resolved this issue. This contribution also rectified other placeholder content that previously bypassed validation.\nDevelopment Activities\nContributing to the Argo Workflow OSS Common RepoPR #22 - MergedI undertook a preliminary exercise for multiple people to contribute to the Argo Workflow. We simultaneously modified new and existing documents with other participants, learning the importance of Git commands and the process of rebasing.Creating a Web Server with DockerfilePR #6 - MergedThis exercise was about creating a Dockerfile that communicates with a local 8080 server and makes it accessible via localhost:8080.\nWe simply crafted a Python server using Flask, and through the Dockerfile, we set up the environment, initiated the server, and connected the port, making the server accessible externally via Docker commands.","-participation-review-8#🌵 Participation Review":"Post-Participation Review\nWhile I had participated in the open-source contribution academy before, I was especially satisfied with the program, members, and content of this academy.\nIt's not easy to understand the source code and start contributing in a short time, but it was an astonishing experience to be able to start contributing, even if it was a minor contribution.\nI deeply felt that the concentrated care from the mentor and the passion of other participants were genuinely helpful.\nStarting alone, I might have quickly given up and forgotten the content, but the experience was so different when progressing with others.\n\n\nFuture Plans\nI plan to continue contributing to Argo Workflow and may even start contributing to other open-source projects.\nEspecially now that I have learned how to approach and start with an open source I am interested in, I believe it will be a bit smoother as long as I have the passion.\nI will actively promote the fun of contributing to open source to others and confidently recommend it.","-personal-summary-7#🌵 Personal Summary":"","9-dahae-ahn#9. DaHae Ahn":"","-personal-activity-report-8#🌿 Personal Activity Report":"Collapse/Expand\nDocument modification The running-locally part of the official document is not intuitive for people who are new to Dev-container and Makefile, and is broken.\nThere were links, so I uploaded pr #11405 and contributed to editing the official document.Issue Contribution Although incomplete, this is an issue where secret information can be exposed through commands such as echo within Argo-workflows workflows or Pods within workflows [#8685](https://github.com/argoproj/ argo-workflows/issues/8685), so I tried to solve it.I invested about 3 hours a day for 4 days, for a total of 12 hours, on this issue, but I have not yet been able to resolve it. (Intermediate commit)\nWe added ARGO_HIDE_SECRETS, an environment variable that can be injected when running Argo-workflows, across a total of 11 files, and set the option to true by default.\nThe above environment variables can be entered from the command line or added as settings when running Argo-workflows.\nIf you set ARGO_HIDE_SECRETS=false, \"You are running with logging include secrets. Be careful.\" A log saying was recorded.\nIf information corresponding to Secret is included in the workflow or pod log, the code has been modified to mask SecretValue.\nWe wrote test code and verified that the above function works as intended.\nHowever, since the above function did not work as intended, I started exploring the process of recording logs. I found out that the logrus library used in the Go language uses io.Writer from the io package. .\n\n\n\n\n\nAssignment Performance For the Argo-workflows team, the mentor created the OSS-Argo-workflows repository and assigned several tasks.\nIn the actual Argo-workflows repo, I learned through assignments how to upload a PR by following the principles (presigned commit, gpg check) that must be followed when uploading a PR, and how to resolve git conflicts.\nIn order to upload pr from the actual Argo-workflows repo, modify the code and check whether Argo-workflows is working properly, you must run Argo-workflows with a Dev Container in the local environment.\n-Our team was given the task of carrying out this process ourselves, and along the way, we helped each other with members who had difficulty performing it. I summarized how to perform the method in a blog post and shared it with my team members.blog","-participation-review-9#🌵 Participation Review":"While participating in the open source contributionthon, I met amazing mentors and team members. We met offline every week, shared issues we had contributed to, and made presentations that were helpful to our work in turns every week.Also, at the last minute, we created an ‘Issue Hackathon’ where we split into groups to focus on solving issues. As a result, more than 4 PRs were merged from the Argo-workflows team itself, and I was able to focus my time on one issue and dig deep into open source.Since I was considering a career developing in the Go language, it was a really valuable experience to see and modify production-level Go code. It makes me wonder if I could belong to the same group as these hard-working people.Even after Masters is over, I plan to dig into the issues I was trying to solve above until the end, and I plan to upload one more development pr.And if I get the chance, I would like to participate in the 2024 Open Source Contribution Thon.Thank you for providing a great opportunity and venue.","-personal-summary-8#🌵 Personal Summary":"","10-jiwan-ahn#10. JiWan Ahn":"","-personal-activity-report-9#🌿 Personal Activity Report":"Collapse/Expand\n1. Open Source's first contributionFor the first time, I made a documented contribution to ArgoWorkflows. We've fixed the parts on the official site where there's room to confuse whether it's an image or a video, so that users know it's definitely a video.\ndocs: modify demo image in intermediate-inputs.md #117552. Learn how to contribute to open source by watching other members' activitiesThrough this Open Source Country View Line Academy, I learned how to contribute to open source and how to find issues. The summary is as follows.\nThere are many issues than the main logic, or UI parts, or UI parts, or UI parts.\nThere are many issues that can contribute to the open source sufficiently, even if you are a professional knowledge of the open source or a practitioner in another field (ex. UI issue)\nWhen you want to contribute, you first comment that you want to solve this issue directly to the issue and then start working.\nThis part was a little strange, but in the case of Argo Workflow, it was a little strange that the person in charge was assigned when making a contribution. Something I don't know? Or, it seems to assign a person in charge when you feel unfamiliar.\nThere are many different people. Some people write just one line, and some people write very kindly comments.\n\nI learned how to contribute directly to the issue by looking at other members' issue hackathons. In particular, I found the issue of \"Pagination\" very interesting among other members' issues.\nI didn't notice when I was using argo workflow, but I realized that it was possible to contribute to places that could pass by by catching that page-nation is inconsistent and making issues.3. Development container constructionPersonally, I set up the development environment by flying devcontainer myself. In fact, there were countless errors in the process, and I could imagine that other developers would come and squeeze their brains together if there was a bug in practice.I found out that when you solve dependency issues and later someone else makes an issue on my project, you use development containers to ensure you're working in the same environment,\nand I thought I'd have to use development containers in other projects I'm working on (discord bot-related projects).After the interim report, rather than changing my mind a little and feeling intimidated, I wanted to take the opportunity to overhear how other current employees operate the service in practice.\nIn fact, mentees presented various topics, and I was able to hear interesting topics such as load tests and explanations about ebpf in the company. I think it was a very valuable presentation that was hard to hear while attending school.4. Mastering the Verified Commit method using GPG Sign and uploading the introduction to Team GitHubUntil now, I've been committing without a separate GPG Key, but in the process of uploading the member introduction, I checked the DCObot and GPG and kept getting blocked,\nso I learned how to create a Verified commit and uploaded the introduction to Team GitHub Repo. In the process, I solved it with the help of the same team member while constantly stopping whenever I committed.docs: 안지완 프로필 업데이트","-participation-review-10#🌵 Participation Review":"In fact, until I wrote the interim report, this activity was too high for my level and others were so good that I felt intimidated by myself, but thanks to the mentor's individual counseling and encouragement, I have since tried to participate in the regular meeting harder.I saw a lot of issues in Argo Workflow and looked for it to contribute to anything, but I couldn't touch it because it was so complicated and I didn't know the Go language.\nInstead, I felt like I entered the world of open source by looking at other people's contributions, even though I may not be able to contribute directly.Another person's most memorable contribution was \"Page Nation.\" I was impressed to see that some parts of Argo Workflow are page-nations, some parts are not,\nand some parts are not title-free, but you found a problem of consistency in the UI, and you found a team member in the issue hackathon to solve this problem.When I was looking for something to contribute, I tried to find issues related to logic, but it was too difficult and I couldn't figure out how it worked, but I can't believe it can contribute like that…I thought that I didn't have to be so scared of contributions than I thought.As everyone else, including you, is an incumbent and is very talented, I learned a lot from going to the meeting.\nYou can see the differences between theory and practice, how workflows are being used in practice, especially why the really universal airflow that I'm studying these days isn't being used very much in practice.To be honest, as I participated in open-source competition, I also have a desire to contribute at least one issue.\nAs there is not much time left, my plan is to contribute at least one small issue before the end of the activity, and now the semester is waiting, so I want to have as much time to learn as possible to go to regular meetings and learn even if the semester begins.","-personal-summary-9#🌵 Personal Summary":"","11-yoonwoo-you#11. YoonWoo You":"","-personal-activity-report-10#🌿 Personal Activity Report":"Collapse/Expand\n1. Create a beginner's dockerfile\n\n\n\nCreate your own web service, build an image via dockerfile, and run a container.\nBuild your service using a framework and language of your choice, I used Nest.js.\n\n2. Learn the Nest.js framework\nNest.js Learning Repository\nSince I only knew the front end, I quickly learned to create a simple API service using the\n\n3. PR after creating the dockerfile\n\n\n\nI created a docker file to build the image, verified that the service is working, and raised a PR, but the build test of the github action fails.\nRemove the --production option and it passes the test, but the image is not optimised. Ask your mentor for advice\n\n\n\n\nStart troubleshooting based on your mentor's feedback\n\n4. Trouble Shooting\n\n\n\n\n\n\nI tried to install node_modules for production only to reduce the size when creating images with dokerfile, but it didn't pass the github action.\nAfter a lot of shovelling, I realised that a module called nest-cli is required for nest build, but it was in the devdependency, so I changed it and it worked. (My mentor gave me a hint, but I didn't understand and shovelled it in)\nThe reason I was confused was that I had nest-cli installed globally on my MacBook.\n\n5. Open source contributor activity\n[UI: The position sticky on the workflow toolbar is not working]\nFixed a bug where the position of the toolbar when selecting a checkbox in the workflows-list was not fixed at the top.\nRead the issue\nRead the PR\n\n[before]\n\n\n\nThe top toolbar was not visible when checkboxes were selected and scrolling.\nFixed an issue with the existing position : sticky not being applied by changing it to position : fixed.\n\n[after]\n\n\n\nAfter checking a checkbox, you can pin the toolbar to the top of the scroll to fire events for that list without having to scroll further.\n\n[UI - show history about completed runs in each cron workflow]\nWork with a good improvement found by a Uijeong Issue to add a list to the cron-workflows-detail component to view the history of a given workflow.\nRead the issue\nRead the PR\n\n[before]\n\n\n\nThere was nothing on the existing cron-workflows-detail page, but the\n\n[after]\n\n\n\n\n\n\nAdded a history workflows to the corresponding cron-workflows and an example of when there is no history.\nThis PR is still under verification","-participation-review-11#🌵 Participation Review":"It was a great experience.Unfortunately, when I got a job, I became busy and lacked knowledge of server and DevOps, so I didn't participate in many contributor activities or offline gatherings.However, I will not give up and try to contribute more to argoWorkflow by doing more front-end contributions and studying server side as well!Thank you for making such a good activity and thank you to the mentors and mentees for helping me grow step by step even though I'm a beginner 👍","-personal-summary-10#🌵 Personal Summary":"","12-byeonggon-lee#12. ByeongGon Lee":"","-personal-activity-report-11#🌿 Personal Activity Report":"Collapse/Expand\n\nParticipate in the launching ceremony\nK8s learning\nLearn Operator concept\nHelm learning\nLearning CNI concepts\nLearning Service Mesh concepts\n\n\nLearn Argo Workflows\nLearn basic usage\nhttps://argoproj.github.io/argo-workflows/workflow-concepts/\nhttps://www.youtube.com/watch?v=kxl6wYd5i2g\n\n\nLearn skills around you\nDevContainer learning\nNix Learning\nhttps://nixos.org/manual/nixos/stable/\nLearning MinIO\nLearn KeyCloak\n\n\n\n\nArgo Workflows contribution ‘bug fix’\nCreate issue related to DevContainer malfunction https://github.com/argoproj/argo-workflows/issues/11439\nIssue with /etc/hosts entries being deleted when container restarts\n\n\nDevContainer malfunction resolved PR created and merge completed https://github.com/argoproj/argo-workflows/pull/11440\nSolved by adding —add-host option to runArgs in devcontainer.json\n\n\n\n\n\n\nLearn technologies around Argo Workflows\nInstall and use NixOS based on what you have learned\nResearch on Argo CD, Argo Events, and Argo Rollout\nLearn Keycloak\nArgo Workflows supports Keycloak integration, so I became curious and investigated Keycloak.\nLearn about the differences between OAuth2 and OIDC\nLearn about Keycloak concepts\n-Role\n-Ream\n-Client\nLearn how to set up Keycloak\nLearn about Keycloak API and integration methods\nStudy Keycloak official documentation\nhttps://www.keycloak.org/docs/latest/securing_apps/index.html\nhttps://www.keycloak.org/docs-api/22.0.1/rest-api/index.html\n\n\nPractice installing and using Keycloak yourself","-participation-review-12#🌵 Participation Review":"It was great to be motivated not only to contribute to open source but also to learn about new technologies through this Contribution Academy.\nIt wasn't easy to participate while I was busy at work, but my long-term goal is not only to contribute to Argo Workflows in this year's contribution, but also in future contributions for the next few years.\nMy future plans are to build not only Argo Workflows, but also other Argo Projects and apply them to my personal toy project, as well as to study more about K8s.","-personal-summary-11#🌵 Personal Summary":"","13-euiju-lee#13. EuiJu Lee":"","-personal-activity-report-12#🌿 Personal Activity Report":"Collapse/Expand\nlint test\n1. how to use Git & Commit, PR rules\nTasked with mastering basic Git usage and sending strict commits and pull requests for contributions.\nIn the official Argo Workflow project, it was helpful to use the Issue Template and send a PR for the issue you want to contribute to, and it was also an opportunity to learn about the existence of the Issue Template.\nIt was an opportunity to indirectly experience the elements essential for future contributions.\nPR naming convention\nDCO Bot Check\nGPG Commit\nCommit Message convention\nLink issues and PR\n\n\nIssue creation - Member profile update - PR - Review - Merge process\n\n\n\n2. Participate in a special beginner class - Repository for beginner special class missions(container-playground) - The purpose was to help people who are unfamiliar with Docker or Kubernetes or who are new to it.\n\n\nLearn about the need for Docker Image optimization while performing tasks presented by a mentor\nSince it is a process of stacking certain packages and static files by layer from the From clause, we realized that optimization is essential because the Docker image can become heavy and have a negative impact on performance improvement.\n\n\nMission\n❗️objective❗️\n\nCreate your own web service and write a Docker file that can be containerized.\n\nTo pass the assignment, please be sure to follow the instructions below.\n\n• Directory and file placement\n• Be sure to create your own github account directory for your own service and write it there.\n• The `Dockerfile` must be located at the top of your directory. (If this condition is not achieved, CI will fail.)\n• As long as it is under your own directory, you can freely write the rest of the files except for the location of `Dockerfile`.\n• However, the image must be built successfully when you execute the command `docker build -t [image name] .` at the top of your directory.\n• Behavior of built images\n• Your web service must operate on port 8080.\n• The built image must be serviced without problems when run with `docker run -d -p [forwarding port number]:8080 [image name]` without any additional parameters.\n• Web service development language and service structure\n• It doesn’t matter which language or framework you prefer.\n• It doesn't matter if you create a simple API service with no UI or design.\n• However, you must create two required APIs. (I don't care about the response value.)\n1. /api/v1/[your github account]\n2. /healthcheck\n• (Optional) It would be better to optimize the Docker image.([참고](https://thearchivelog.dev/article/optimize-docker-image/))\n• [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an Please refer to -issue-using-a-keyword) to connect the issue and PR. (Manual connection x)\n\n❗️Note❗️\n\n•It would be a good idea to refer to the documents below to understand Docker concepts and write a Dockerfile.\n\n• [Official documentation for creating a Dockerfile](https://docs.docker.com/engine/reference/builder/)\n• [How to use Docker for beginners](https://mysetting.io/slides/xxj85vnvey) (Content related to Docker Toolbox has been deprecated)\n\n•To raise PR and merge, please refer to the points below.\n\n• Since you do not have permission to create or push branches in the repo, you must fork and then work on it.\n• Please refer to [PR's naming convention](https://flank.github.io/flank/pr_titles/).\n• [DCO](https://github.com/apps/dco) Please commit while referring to the conditions for passing the bot's check.\n• Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit.\n• It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)```\n\n\nHaving previous experience with the Python-based Django framework, I wrote a Docker file that creates a Django REST API.\nI sent out a PR, but was pointed out a security issue or an error in unnecessary package import syntax.\n\n\n\n\n\nThis is the first time I learned that SECRET_KEY is exposed in the settings.py code of the Django project, and I will take the time to think about how to solve this security issue.\nWe created a .json file containing the secret key and proceeded to refer to the json file in settings.py.\nSince the secret.json file cannot be uploaded to Commit, I learned how to ignore the json file through .gitignore, and was able to ignore unnecessary files created after executing certain commands such as dbsqlite3.\nIt was an experience that made me realize that several considerations are needed to upload locally developed results to a Git project.\n\n\n\n3. Argo Workflow Contributor\nWhile looking into Argo Workflow, I came across the Argo Workflow Slack channel marked Deprecated in the Argo Workflow - Contact - Help field.\nI thought it was a minor UI Issue, but I thought it was an opportunity to check what language the UI is displayed in and how it was developed, so I raised an issue and submitted a PR.\n\n\nCreated IssueUI: non-existent Slack Workspace link on help page Issue\n\n\nWhen I created an issue, the Maintainer of the Argo project quickly left a comment.\nI randomly tried to fix it with the CNCF Argo Channel link, but I received a comment from the maintainer asking me to update it with a different link.\n\n\nCreated PRfix: deprecated Link(Help-Contact) Issue\n\n\nArgo Workflow had a UI based on React, and the directories were arranged by component, making it easy to analyze the code.\nI didn't pass the DCO bot test because I accidentally omitted the Signed-off option during Commit\nbut I learned about the ability to revert previous commits (Rebase) or merge multiple unnecessary commits into one (Squash) in GIt. And I returned the previous commit and committed it with git commit -S -s -m \"Commit Message\".\n\n\nI looked up what the comment ‘LGTM’ meant, and on Google, I used the tag LGTM to express my opinion. 'Looks Good To Me'. In other words, it was a rewarding experience because it meant it looked good.\nThe process of finding bugs or modifying the UI is important, but I think the most important thing is the process of performing contributions according to the rules set by the Argo Workflow ecosystem.\n\n\n\n\n\n4. Participating in Argo Workflow Hackerton (Argo workflow - Hackathon held within the OSSCA team)\nPull Request(Merged) : feat: Search by name for WorkflowTemplates in UI\nIssue : Search by name for WorkflowTemplates in UI\nIssue Hackathon activity period\n1st Hackathon (Hackathon Group C) : 23.08.16 - 23.08.20\n2st Hackathon (Hackathon Group C) : 23.08.20 - 23.08.27\n\n\n\n\n\nIssue content\nWhen there are a large number of templates in a cluster, it is good to search by name, but scrolling through all the templates is always inconvenient due to the lack of a search function.\nIt was thought that the Argo Workflow UI needed a function to filter the results of workflow templates by name, so the issue was adopted as a result of a group meeting.\n\n\nRole\nFront-End\nCreating a search field (Bar) in Argo workflow Template UI\nAnalyze .get logic to analyze where the Name Pattern (Like search) is sent\nModify workflow-template-filter.tsx and workflow-template-list.tsx in the workflow-template component directory.\n\n\n\n\nMeeting details\nThe meeting is held through the Slack hackathon channel, where opinions and information are shared every day.\n1st Meeting details\n\n\n1. name search function (backend)\n\n• WorkflowTemplate page\n• Add name search (LIKE search)\n• ClusterWorkflowTemplate page\n• Add name search (LIKE search)\n• CronWorkflow page\n• Add name search (LIKE search)\n\n\n\n2. name search function (frontend)\n\n• WorkflowTemplate page\n• Add name search ui\n• ClusterWorkflowTemplate page\n• Add search sidebar (name, label)\n• CronWorkflow page\n• Add name search ui\n\n3. pagenation (frontend)\n\n• WorkflowTemplate page\n• pagination based on name\n• ClusterWorkflowTemplate page\n• Add pagination\n• CronWorkflow page\n• Add pagination\n\n4. Write test code\n\n- name search (LIKE search)\n- Need more analysis on what test code should be written\n\n2nd discussion content\n1st offline meeting\n\n\n\n\n\n\n1. Co-commit method\n\n• Clone the repository https://github.com/ArgoWorkflows-OSS/argo-workflows locally.\n• We create a branch in the repository for our team to work on. (`master` vs `release-3.4.10`)\n• Work on the functions you are responsible for in the corresponding branch of the repository. (Commit by carefully following the commit rules for raising PR.)\n• When everyone's work is completed, 1 out of 3 people will send out a PR according to the PR template.\n• All 3 people can be contributors\n\n2. Since it is a hackathon and there is a set period, we decided to first implement the workflow-template name filter, which we think is the main one among workflow-template, cluster-workflow, and cron-workflow, send a PR, and move on once the maintainer merges it.\n\n• Roles for each part\n\n• Back-End\n\n• workflow_template_server.go\n• Name filtering and pagination recalculation\n\n• Front-End :\n\n• workfflow-template-filter.tsx\n• Add Name search UI\n• Receiving and filtering the Name argument\n• workflow-template-list.tsx\n• Add Name state\n• Pass name to userEffect list\n• workflow-template.tsx, Utils.tsx\n• Passing the Name argument\n\n3rd discussion details\n2nd offline meeting\n\n\n\n\n1. Offline Meeting Meeting Contents\n\n• An opinion that even cases where there is no namespace should be included in the filter. (Insufficient grounds to say to eliminate namespace - Other sites (Kubernetes Dashboard, OpenShift, Argo CD, etc.) also provide namespace without namespace)\n• Thoughts on whether it is possible to import and apply the logic used in continue and whether continue can be maintained as is even with custom results.\n• After analyzing the continue logic until Wednesday night, if it is concluded that pagination using continue is not possible, upload a question in the issue comment.\n• Front-end pagination (data is not reloaded, the method used in argocd) vs. server-side pagination (pagination after checking the entire list each time, will the load be okay?)\n• If server-side caching is implemented, is there a place to store it?\n2. I decided to do a full K8s search by applying only the namespace and label every time I turned the page.\n\n3. Additional logic implemented in offset-based pagination method\n• The part that didn't work\n• If you perform a filtered search after clicking the next page button, no data appears even if there are search results.\n• If you increase the number of pagination after clicking the next page button, the search results do not display properly.\n• What changed\n• As the continue value is updated on the server, when increasing the number of pages or applying filtering, there is a problem with pagination based on the continue value already set on the server.\n• A method of changing the continue value to be passed from the front was adopted ( When increasing the number of pages or applying filtering, set continue back to 0)\n\n\n4. Pagination Test\n• workflow_template_server_test.go passed\n• (14 workflow templates registered)\n• Normal : UI workflow template first page\n• Normal : when workflow template page limit is 5, 10, 50\n• Workflow template page Add workflow template on page 1 and move to page 2\n• Workflow template page Delete the workflow template from page 1 and move to page 2\n• Test the above with `name pattern` filtering search\n• Search without name pattern and then re-search by adding name pattern\n• After searching including the name pattern, deleting the name pattern and searching again\n\n5. Create PR\n\nLike filter (Name Pattern) implementation\nex) Workflow-template starting with sp can be searched\n\n\n\n\nResult\n\n\nThe implementation was a success, and we plan to modify the previously discussed cluster-template and cron-template components.\n\n\n\n\n\n\n\n\n\n5. Learning outside of contribution activities - Completion of Google Kubernetes Study Jam training - Badge - Architecting with Google Kubernetes Engine: Foundations\nEarned 7월 18, 2023 EDT - Architecting with Google Kubernetes Engine: Workloads\nEarned 7월 26, 2023 EDT - Architecting with Google Kubernetes Engine: Production\nEarned 8월 4, 2023 EDT\nThe organized contents are recorded on a personal blog (velog)\neuijoo's Velog GCP Series","-participation-review-13#🌵 Participation Review":"Post-Participation Review\nBefore the Academy, I only had knowledge of Argo CD, but afterward, I was able to research and analyze Argo Workflow projects and reach a level where I could think about how to utilize its powerful functions.\nWhen making my first contribution, I created an issue, communicated with the maintainers, modified the requested items, and created a PR, so I quickly received comments and achieved the result of merging.\nIt may be a minor issue, but it was an experience that made me feel that a holistic analysis of the part I wanted to contribute was necessary.\nNot only this, it was an opportunity to analyze how the Argo workflow interacts internally by conducting an issue hackathon within the team, analyzing not only the UI, i.e. the front part, but also the logic of the back end part.\nOur group's body was a big issue, so we were able to reach our goal by holding online as well as offline meetings accordingly, and since the two members were working in the field, they kindly explained difficult parts, so it was a useful experience.\nI have a desire to continue communicating with the hackathon team members or the entire team.\n\n\nFuture plans\nSince the OSSCA period has not yet ended, we plan to continue exploring issues (Cluster-workflow-template, Cron-workflow, etc.), discover typos or translation errors in the Argo Workflow document, and continue to submit PRs.\nIn addition, after the OSSCA period ends, we plan to portfolioize the contents that have been organized so far.\nAs a toy project, we plan to complete data ETL work using Argo Workflow, which is currently in progress.\nIf I get a job, I hope to create many insights by introducing many of Argo Workflow's functions into my field.","-personal-summary-12#🌵 Personal Summary":"","14-euijung-geon#14. EuiJung Geon":"","-personal-activity-report-13#🌿 Personal Activity Report":"Collapse/Expand\n✅ Records about ContributionSeries | 2023 OSSCA - ddubi.log-> Unfortunately It is not translated..\n\n\n\n✅ Various tasks\nThe task regarding issue/commit/PR in Github[Summary]\n\n\nSelect the profile update issue, fork ArgoWorkflows-OSS repository, and commit it by adding users.md and [name].md under docs/user in the repository. After that, link the issue and submit a PR.\n\n[Outcome]docs : update UiJeong Profile by juijeong8324 · Pull Request #19 · ArgoWorkflows-OSS/ArgoWorkflows-OSSrecords: Github에서 issue/commit/PR\n\n\n\n\nRunning Locally[Summary]\nRunning Argo workflows locally\nInstall Linux on Windows with wsl2 and run argo workflows using devcontainer cli.\n\n[Outcome]records: Argo Workflows running locallyrecords: Argo Workflows running locally - retryrecords: Argo Workflows running locally - finalrecords: Argo Workflows running locally - real final\n\n\n\n\nSpecial class for Beginners - Create my own service container image\n\n[Summary]\nSpecial class for Beginners is a class for beginners(It's me) who don't know much about Container, kubernetes, argo from Argo-workflows oss team.\nThe task is creating my own web service, writing dockerfile for containerize the application.\nYou need to understand Dockerfile, docker, images, and containers.\nIn my case, build web server with express and write dockerfile.\n\n[Outcome]code: About taskrecords: 왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작records: [Docker] Dockerfile 기본 명령어에 대해 알아보자\n\n\n\n\n\n✅ Offline meeting\nDate\tActivity\t2023.07.15\t- Introduction team - (Seminar) Introduction to Argo workflows and mentor’s application examples\t2023.07.30\t- Searching and sharing issues of the week - I was solving a local running problem. - (Seminar) HaeMin's WebRtc, Sunyeong's keyclock and argo worfklows\t2023.08.13\t- Receive feedback on Special class of beginners assignment - Searching and sharing issues of the week - (Seminar) Mentor’s special lecture on history and principles\t2023.08.20\t- Searching and sharing issues of the week - I share `Issue #11131`` - (Seminar) DaHae's ‘Platform builder & K6 execution test PoC that allows developers to perform execution tests on their own’\n\n\n\n\n✅ Searching Issue & Creating Issue\nIssue #11131 Fix Bug[Summary]Error occurs when \" in a workflow input parameter fails to escape and is referenced as workflow.parameter.json[Outcome]I dissmiss this issue because of the eeror occured from python environment not argo workflows.records: Argo Workflows - Issue #11131\n\n\n\n\nIssue #11706 Improve UI[Summary]\n\n\nAn issue that would like to add a UI that can check the history of each workflow in the cron workflow tab.records: Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)[Outcome]PR #11811 Closes\n\n\n\n\n\n✅ PR open & merge\nPR #11732 docs PR Merge[PR Summary]PR that modifies the image in the Argo Workflows official document to clearly show that the image in Artifact Visualization is a YouTube video link.\n\n[Outcome]records: Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md\n\n\nImage replacement to add a play button to the center of the image\n\n\nmerge complete\n\n\n\n\nPR #11811 Improve UI PR Merge[PR Summary]The PR tries to solve Issue #11706\n\n\nModify to check completed cron-workflow when you click specific cron-workflow at cron workflow page\n\n\nIf it cannot find a completed cron-workflow, it will be display like above[Outcome]Merge Complete","-participation-review-14#🌵 Participation Review":"Review\nActually DevOps, Infra were unfamiliar fields to me, but through the Argo workflows project, I feel more familiar with the field than before.\nI have only been learned to concepts such as Docker, Container, etc. theoretically, but I learned those concepts more easily through hands-on practice, and in addition new things (the existence of wsl...!).\nIt gave me an opportunity to look back on concepts that I miss (e.g Linux authority and network.)\n\n\nAlso I had a vague fear of writing an issue, but I was able to overcome that fear by writing it myself.\nAt last, There are many ways to contribute and I realize it was important to try to contribute step by step.\nThe first time I focused on issues that I did not sympathize with, due to my personal greed and the idea of learning while solving problems.\nHowever I realized regardless of the difficulty of the issue, I needed to understand the repo while solving an issue that I personally sympathized with.\n\n\nI look forward to continuing to enjoy contributing to open source!\n\n\nForward Plan\n\n\n- Step 1\n: Time to adapt and learn about Argo Workflows / Simple contribution\n: Contribute articles via Repo's TODO\n: Focuse on UI improvements\n\n- Step 2\n: Focus on template,backend contribution\n\n- Step 3\n: Write an issue that would be good to solve and then contribute\nEven after the open source contribution ends, the mentor plans to continue meeting regularly, and I have a goal of contributing at least one issue per month to the Argo Workflows repo this semester.","-personal-summary-13#🌵 Personal Summary":"","15-sungrock-jung#15. SungRock Jung":"","-personal-activity-report-14#🌿 Personal Activity Report":"Collapse/Expand\n\ngit/github Getting Started\nissue: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11\npr: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15\nsummary: Familiarize yourself with git/github, the core of code shape management in the open source ecosystem.\ndetail:\nMuch of the open source world relies on git and github for collaboration.\nTherefore, in order to contribute to open source, it is necessary to familiarize yourself with git/github.\nUsing git/github, it was a hands-on activity to issue issues, follow commit rules, and create PRs.\n\n\n\n\nfeat: logging for client-side throttlingissue: #11387, #11402\npr: #11437\nsummary: fix to figure out faster if user set certain options incorrectly\ndetail:\nIt uses a library called client-go to communicate with kubernetes.\nThis library provides options --qps, -burst for request limit.\nIf this option is set very low, it will cause throttling. That's why we have a separate log level to inform the user more quickly.\nWhile working on this issue, I learned a lot about client-go, especially about RoundTrip.\nIt was a shock when I realized that I could add middleware using RoundTrip for any object that respects the http request interface provided by golang.\n\n\n\n\ngo 1.21 upgradeissue: #11566\npr: #11601\nsummary: golang 1.21 ver release에 따른 version upgrade 진행\ndetail:\nAs a lead mentee, I decided it would be better to have a teammate who hasn't contributed yet try to solve the issue rather than me.\n\nI shared the issue with my teammate, and I was able to support him in successfully resolving the issue.\nWe shared our approach to the issue in our regular weekly meeting.\n\nOn weekdays, we would take questions and answer them separately in a slack channel so that everyone on the team could get experience submitting PRs.\n\nTeam members also gained invaluable experience merging PRs.\n\n\n\n\nDebugging 설정summary: 팀원의 argo-workflow debugging setting\ndetail:\nFor team members who are new to developing with golang, we had some difficulties setting up the debugging environment, and we worked together to solve it.\n\nDuring this process, I realized that I'm not very good at setting up debugging for apps that are closely related to kubernetes,\nand I realized that I needed to get some help with that.","-participation-review-15#🌵 Participation Review":"After\nParticipating in OSSA for 13 weeks was a great experience.\nAfter applying 3 times, I was so happy to be part of a project built with my favorite community, CNCF, and my favorite language, Golang.\nParticipating in argo-workflow under the CNCF umbrella through OSSCA and being able to contribute to the ecosystem of CNCF, even in a small way, was a very happy time for me.\nIn particular, I thought it was a good experience for beginners to be able to quickly communicate with maintainers through mentoring, a system operated by argo-workflow.\nWith feedback through argo-workflow's mentoring system, I quickly gained confidence and good experience through PR submission and merge, which I wanted to share with all team members as a lead mentee.\nHelping a team member who was new to open source contributing made me realize how much of a barrier to entry it is for people who are new to it, and it made me think about how to bring beginners into the ecosystem more reliably.\nIn addition to the open source contribution activities, the team members from Developer, DevOps, and SRE roles, the different skills they use in their respective roles, and the sharing of experiences broadened my horizons.\nIf I have the opportunity next year, I would definitely participate in OSSCA and continue my open source contribution activities with various people.\n\n\nPlanning\nWorking on this argo-workflows project has made me very interested in the projects in the argo camp.\nBy participating in the project, I was able to identify my shortcomings as a developer, and I plan to improve them.\nEven if ossca ends, I will continue to contribute to open source under the CNCF umbrella.\nargo-workflow\nshortfalls\nLack of understanding of kubernetes operators\nLack of frontend knowledge\n\n\nFuture plans\nThe UI of argo-workflow is a bit lacking compared to other argo projects, and I'm going to try to improve it based on user feedback.\nRegarding area/artifact, I would like to extend it to use more storage.\nRegarding area/plugin, it currently only supports sidecar, but I'd like to make it easier to extend externally implemented plugins with code.\nRegarding the documentation, I'd like to think about the parts that are difficult for beginners and improve them.\n\n\n\n\n\n\nPersonal growth\nshortfalls\nTalking to members from different companies and lacking their own perspective on developing and keeping the service stable.\nDifficulty communicating to transfer knowledge.\n\n\nFuture plans\nI'm going to study how to organize and speak about the knowledge I want to convey.\nI'm going to talk to a lot of people, share my thoughts, and try not to get caught up in otherness.","-personal-summary-14#🌵 Personal Summary":"","16-moonyoung-chae#16. MoonYoung Chae":"","-personal-activity-report-15#🌿 Personal Activity Report":"Collapse/Expand\nMultiple Tasks\nGithub Issue/Commit/PR Mission\nLearned how to use Github to contribute the ArgoWorkflow which is a large scale of open source community.\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43\nhttps://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44\n\n\nArgoWorkflow Running Locally\nRun ArgoWorkflow in local environment\nUnderstanding Argo Workflow Structure, DevContainer, Container-Based Applications, and Makefile Structure\n\n\nMake a container image\nLearned Docker File Command, Docker layer structure, optimization and caching\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/16\nhttps://github.com/ArgoWorkflows-OSS/container-playground/pull/23\n\n\n\nIssue analysis\nMetric issue analysis\nAnalysis of issues that require improvement by many users due to issues with many Github Reactions\nIncreased monitoring convenience by adding metric labels\n\n\nAs a result of issue analysis, it was discovered that developing the content could cause another problem.\nWhen adding a metric label, a large amount of metrics are collected, which may cause performance problems due to a large amount of metric traffic flowing to existing users.\n\n\nSuggest and communicate ways to solve problems by detouring\nConfirm that the monitoring requested by the issue is possible when using a custom metric, and suggest a way to resolve it by bypassing it.\nhttps://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337\n\n\nInquire some ambiguous part in the comment in code for future improvement.\nhttps://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745\n\n\nIssue analysis through issue hackathon\n\n\n\nContribute\nFixed a type of function name and vaiable name\nFixed parts that could cause confusion to other developers\nhttps://github.com/argoproj/argo-workflows/pull/11604\nhttps://github.com/argoproj/argo-workflows/pull/11633\nhttps://github.com/argoproj/argo-workflows/pull/11687","-participation-review-16#🌵 Participation Review":"I wanted to contribute to a large open source community, but I felt at a loss. It was great to be able to contribute directly through this academy.\nThis was possible because a mentee with a lot of experience in contributing guided me step-by-step to contribute and encouraged me to take on the challenge.\nThrough technical seminars and technical exchanges with other developers, we were able to grow together.\nBecause ArgoWorkflow is a large-scale project, there are many difficult parts to analyze alone, but by sharing opinions with other developers, I was able to solve the problem more quickly.\nSince I have gained some understanding of the ArgoWorkflow project and have gained confidence through my small contribution experience,\nI expect that my next contribution will be easier. Even after this program ends, we plan to contribute on a larger scale by collaborating\nwith other mentees who are interested in ArgoWorkflow.","-personal-summary-15#🌵 Personal Summary":"","17-soonyeong-choi#17. SooNyeong Choi":"","-personal-activity-report-16#🌿 Personal Activity Report":"Collapse/Expand\n1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)Issue #11344\nPR #11662\nIssue Analysis\nTo understand this issue, I first needed to grasp what Default Workflows are.I learned that the workflowDefaults field in the argo workflows controller configmap allows you to set default values for workflows. Additionally, I discovered that if a workflow already has values for this field, those values take precedence.For example, after configuring the configmap as follows, when you create a Workflow,\n# This file describes the config settings available in the workflow controller configmap\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: workflow-controller-configmap\ndata:\n# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level\nworkflowDefaults: |\nmetadata:\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5\nparallelism: 3\nit will be automatically created with the values set in the workflowDefaults field, like this:\napiVersion: argoproj.io/v1alpha1\nkind: Workflow\nmetadata:\ngenerateName: gc-ttl-\nannotations:\nargo: workflows\nlabels:\nfoo: bar\nspec:\nttlStrategy:\nsecondsAfterSuccess: 5 # Time to live after workflow is successful\nparallelism: 3\nThe issue was related to an error occurring when adding the volumeClaimTemplates value to workflowDefaults, causing errors when creating CronWorkflows or Workflows.The error message indicated, does not contain declared merge key: name.Upon checking the code, it was found that the error occurred in the StrategicMergePatch function, which is related to Kubernetes' patch strategy.\nVolumeClaimTemplates []apiv1.PersistentVolumeClaim `json:\"volumeClaimTemplates,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"name\" protobuf:\"bytes,6,opt,name=volumeClaimTemplates\"`\nThe issue arose from the fact that the VolumeClaimTemplates type defined in Workflows used name as the patchMergeKey.However, upon inspecting the PersistentVolumeClaim type below, it was found that name was not present. In other words, the problem occurred because a value was defined as the patchMergeKey that was not part of the structure.\ntype PersistentVolumeClaim struct {\nmetav1.TypeMeta `json:\",inline\"`\n// Standard object's metadata.\n// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n// +optional\nmetav1.ObjectMeta `json:\"metadata,omitempty\" protobuf:\"bytes,1,opt,name=metadata\"`\n\n// spec defines the desired characteristics of a volume requested by a pod author.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nSpec PersistentVolumeClaimSpec `json:\"spec,omitempty\" protobuf:\"bytes,2,opt,name=spec\"`\n\n// status represents the current information/status of a persistent volume claim.\n// Read-only.\n// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims\n// +optional\nStatus PersistentVolumeClaimStatus `json:\"status,omitempty\" protobuf:\"bytes,3,opt,name=status\"`\n}\n\nIssue Resolution\nI removed the patchMergeKey from VolumeClaimTemplates.However, the reason patchMergeKey was added to VolumeClaimTemplates was to maintain consistency with conventions used for Volumes.Since this issue is related to policies, it indeed requires further discussion.This was my first PR to the ArgoWorkflows project, and it's great that i was able to identify the cause of an issue that was causing inconvenience for many people.2. Search by name for WorkflowTemplates in UIIssue #11004\nPR #11684\nIssue Analysis\nThis issue was worked on by a team of three people.\n\nWorkflowTemplates do not have a search function based on 'name', so to find a specific WorkflowTemplates, you could only search based on label.So, many users were feeling inconvenienced, and it was an issue related to 'feature improvement' that they would like to provide a function to search based on 'name'.\nIssue Resolution\n\n\nWe added additional logic to filter the results of WorkflowTemplates retrieved through the Kubernetes API based on their 'name', successfully implementing this feature.However, there was one issue.Existing pagination was implemented using Kubernetes' own continue value, so if Kubernetes results were custom manipulated like this, Kubernetes pagination could not be used.We had a lot of concerns about how to solve this, but We solved the problem by applying logic to implement cursor pagination using Kubernetes' resourceVersion.It was so fun to be able to discuss it with others instead of alone.I also felt good about providing some really needed functionality to the ArgoWorkflows project.3. A problem that is not initialized when changing the number of page limitsIssue #11702\nPR #11703\nIssue Analysis\nWhile resolving the Search by name for WorkflowTemplates in UI issue, i discovered a new pagination bug.When changing the number of pages, the continue value used for pagination was not initialized in the UI, so the data was not displayed properly.\nIssue Resolution\nI was able to solve the problem by simply modifying the logic to initialize offset when a change in page number is detected in the UI code.It was only a one-line code change, but this one line solved a problem that was quite inconvenient.4. Pagination may not work correctly for archived workflows\nIssue Analysis\nIssue #11715\nPR #11761This issue was directly communicated to us by Maintainer @terrytangyuan through Slack.\n\n\n\n\nIt felt like I was contacted by my favorite celebrity and I was so happy that I almost flew away. I suppressed my happy and excited heart and analyzed the issue.Workflows and ArchivedWorkflows were previously separated into different pages, but starting from the master version, Workflows and ArchivedWorkflows are combined into one page, and the logic has been modified to show ArchivedWorkflows together if they exist.However, when Workflows and ArchivedWorkflows were merged into one, a problem occurred with pagination.The two resources also used completely different pagination. Workflows was using the continue value, which is Kubernetes' own pagination, and ArchivedWorkflows used its own database, so it was using the database to perform pagination using the offset method.However, while passing the continue value used in Workflows to ArchivedWorkflows as is, a problem occurred where ArchivedWorkflows was not searched at all.\nIssue Resolution\nI was able to resolve the issue by referring to the pagination logic that was implemented while resolving the Search by name for WorkflowTemplates in UI issue.Since the two resources have no choice but to use different methods of pagination, rather than using pagination before merging the two resources, use a method of first searching the entire resource and merging the two resources and finally applying the pagination logic. I did it.I was able to solve the problem of ArchivedWorkflows not being searched, but fetching and merging the entire list every time the page is changed is a performance concern, so i'm thinking about a way to test performance.I plan to switch to front-end pagination if performance testing indicates that it's not working well.It was great to be able to solve a critical issue, and I felt proud and fun because I felt like I was contributing properly to the ArgoWorkflows project as a contributor.5. Relocation of Commit Guidelines Information in the DocumentationIssue #11700\nPR #11701\nIssue Analysis\nThe ArgoWorkflows project has a README document for developers attempting to contribute.However, it does not mention specific guidelines for commits.@GeunSam2 mentor mentioned that it was inconvenient when initially attempted to contribute and had difficulty finding commit guidelines.\nIssue Resolution\n\n\nUpon hearing this feedback, I made a modification to the contribution README by adding a link to commit guidelines.This change aims to make it easier for developers who want to contribute to ArgoWorkflows.In this PR, a maintainer provided a code suggestion, which was intriguing and enjoyable for me as I was encountering the code suggestion feature for the first time.","-participation-review-17#🌵 Participation Review":"If someone were to ask me what I did best this year, I would confidently say that it was my participation in the ArgoWorkflows project contribution activities.Meeting various developers in the same field, forming a sense of empathy, and engaging in discussions with them was truly enjoyable. Hearing stories about different companies was also quite interesting.During our weekly meetings, it wasn't just about working together; our mentors always conducted insightful seminars. Sundays became genuinely enjoyable, and time flew by.Meeting such capable mentors was a delight. I received advice on the concerns I had as a junior developer, my future direction, and how to study effectively as a developer, which made me happy.I always wanted to try contributing, but I was afraid to tackle such a big project. However, facing these challenges with such great mentees and mentors made my fears disappear.Submitting numerous PRs and communicating with maintainers was also a lot of fun, and it was really satisfying to see my code being incorporated.Thanks to this experience, I gained the confidence to contribute not only to ArgoWorkflows but also to other projects.I have no intention of stopping my contributions after this period ends. I plan to continue contributing to ArgoWorkflows while looking for opportunities to contribute to Kubernetes and Argo CD projects used by my company.","-personal-summary-16#🌵 Personal Summary":""}},"/2023/activites/weeklyMeets/230723":{"title":"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 07월 23일 일요일\n장소 : 무신사 회의실","️-참석자#☑️ 참석자":"염근철, 강병선, 강시온, 권영길, 박진수, 송혜민, 안다혜, 정성락, 최수녕","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230730":{"title":"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 07월 30일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 송혜민, 전의정, 정성락, 박진수, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n실시간 통신을 위한 WebRtc의 개념 및 활용사례 발표(송혜민)\nArgo Workflows와 keyclock 연동방법 발표(최수녕)\n챌린지스 수료 기념 회식","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230806":{"title":"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 06일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 송혜민, 전의정, 정성락, 김학준, 이의주, 최수녕, 서청운, 채문영, 강병선, 안지완, 강시온","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\nargo event와 workflow, cd 연동 발표(김학준)\neBPF의 개념, 필터 개발 방법, 활용사례 발표(정성락)","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230813":{"title":"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 13일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 안다혜, 최수녕, 김학준, 강병선, 전의정, 정성락, 서청운, 박진수","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n컨테이너의 역사와 도커 없이 컨테이너 만들기 발표(염근철)\n이슈 해커톤 계획 수립","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230820":{"title":"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 20일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 송혜민, 전의정, 정성락, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈, 채문영, 안지완","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표(안다혜)\n이슈해커톤 a,b,c조 진행 공유","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230827":{"title":"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 27일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 정성락, 최수녕, 이의주, 김학준, 송혜민","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n멘토 멘티 1on1 상담\n컨테이너 생태계에 관한 고찰 발표(염근철)\n이슈해커톤 a, c조 진행 공유","️-기념사진#☑️ 기념사진":""}},"/2023/activites/weeklyMeets/230904":{"title":"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록","data":{"":"일시 : 2023년 08월 27일 일요일\n장소 : OpenUP GROUND3","️-참석자#☑️ 참석자":"염근철, 강병선, 김수빈, 정성락, 전의정, 서청운","️-회의-내용#☑️ 회의 내용":"개별 관심 이슈 공유\n개별 기여 완료한 PR 공유\n개별 관심 기술 공유\n'Github Actions 쿠버네티스에서 self-hosted로 설치&운영하기 발표 (서청운)","️-기념사진#☑️ 기념사진":""}},"/2023/members":{"title":"Members","data":{"":"","멤버-목록#멤버 목록":"염근철(멘토)\n\n\n강병선\n강시온\n권영길\n김수빈\n김원식\n김학준\n박진수\n서청운\n송혜민\n안다혜\n안지완\n유윤우\n이병곤\n이의주\n전의정\n정성락\n채문영\n최수녕"}},"/2023/members/AhnDaHae":{"title":"Ahndahae","data":{"":"name : 안다혜\ngithub : da.head0\nage : 미상 ^.^\nblog : aimb\ntwitter : MM (비팔알림이 꺼져 있어서 팔로하시면 댓글이나 메시지 한번만 주세요...)\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었습니다.\n현재 SRE로 일하고 있습니다.\n2022년의 스터디봇입니다. 사실 2023년도 스터디봇으로 살고 있긴 합니다.\n치즈 조랭이떡 고양이를 키웁니다.\n키보드 좋아합니다. 같이 윤활하실분 항시 환영..."}},"/2023/members/ChaeMoonYoung":{"title":"Chaemoonyoung","data":{"":"name : 채문영\ngithub : mmonyoungCHAE\nage : 만 26살\nblog : Velog\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다.\n클라우드 서비스 백엔드 개발자입니다.\n운동 좋아해요! (헬스, 가아아끔 클라이밍)"}},"/2023/members/AhnJiWan":{"title":"Ahnjiwan","data":{"":"name : 안지완\ngithub : synoti21\nage : 22\nblog : velog\n\n데이터 엔지니어링 중 파이프라인 CI/CD 배포에서 사용되는 k8s에 관심을 갖게되어 들이파게 됐고, k8s 기반 워크플로우인 argo workflow를 경험해보고자 OSS에 지원하게 되었습니다.MLOps 관련 발제 때문에 한 주간 너무 정신없어서 이제서야 올리네요ㅠㅠ다른 참가자분들에 비해 너무 부족해서 주눅드는 감이 없진 않지만 그래도 정말 열심히 참여하겠습니다."}},"/2023/members/ChoiSooNyeong":{"title":"Choisoonyeong","data":{"":"name : 최수녕\ngithub : sunyeongchoi\nage : 만 26살\nblog : 뇽뇽\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다.웃을 때 하회탈 닮았어요. ^^\n좋아하는 운동은 수영 입니다.\n엠비티아이는 ISFP 입니다 ~"}},"/2023/members/GangByeongSun":{"title":"Gangbyeongsun","data":{"":"name : 강병선\ngithub : qudtjs0753\nage : 0~100살 사이\nblog : ??\n\n잘부탁드립니다 꾸벅\n방금 면접보고 왔습니다 ㅎㅎ\n이름을 외우기 힘드시다면 KBS로 외우시면 됩니다\n얘기듣는거 참 좋아합니다. 커피숍에서 멘토님이 기술 얘기 해주시는거 너무 재밌었습니다 더 듣고싶슴다"}},"/2023/members/GangSiOn":{"title":"Gangsion","data":{"":"name : 강시온\ngithub : Yaminyam\nage : 24\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다.\n평소에도 오픈소스에 흥미가 많고 꾸준히 기여하고 있습니다.\n개발자를 위한 개발자가 되기위해 최근에 DevOps에 흥미가 있어 Argo 프로젝트를 접해보고 싶어 참가하게 되었습니다."}},"/2023/members/GeonEuiJung":{"title":"Geoneuijung","data":{"":"name : 전의정\ngithub : juijeong8324\nage : 만 21세(01년생)\nblog : 뚜비\n\n작년 2022 오픈소스 컨트리뷰션에 참가하면서 오픈소스의 매력(?)에 빠져버렸습니다분야를 정하기 위해 이것저것 해보다가 클라우드/백엔드/Devops 쪽으로 관심이 생겨 공부를 시작하게 되었습니다휴학했습니다!! 휴학하고 6개월동안 코딩을 안 했습니다(죄송합니다)MBTI : ENTP & INTP 반반배워야 할게 산더미고 부족한게 많지만 열심히 따라가겠습니다. 감사합니다!p.s 뭘 적어야 하는지 모르겠으나 TMI 적는 공간이라 이해하고 적어봅니다.."}},"/2023/members/JungSungRock":{"title":"Jungsungrock","data":{"":"name : 정성락\ngithub: Jack-R-lantern\nage: ??\nblog: ??\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참여하게 되었습니다.container 기술을 좋아합니다.cncf를 굉장히 좋아합니다."}},"/2023/members/KimHakJun":{"title":"Kimhakjun","data":{"":"name : 김학준\ngithub : junkmm\nage : 미상\nblog : junkmm\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참가하게 되었습니다.클라우드와 데브옵스에 관심이 많습니다."}},"/2023/members/KimOwnSik":{"title":"Kimownsik","data":{"":"name : 김원식\ngithub : mihilt\nage : 미상\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다.요즘 일찍 자고 일찍 일어납니다.오늘 DCO 봇이라는 것을 처음 알게 되었습니다.\n문제 없이 DCO 봇의 체크가 통과되면 좋겠습니다."}},"/2023/members/KimSuBin":{"title":"Kimsubin","data":{"":"name : 김수빈\ngithub : sudosubin\nage : 🔐\nblog : 없음\n\n오픈소스 컨트리뷰션 아카데미 2023에서 ArgoWorkflows 프로젝트의 멘티로 참여하게 되었습니다.현재는 백엔드 개발과 DevOps 개발을 공부하고 있고, 개인적으로는 고기와 수영을 좋아합니다."}},"/2023/members/KwonYoungGil":{"title":"Kwonyounggil","data":{"":"name : 권영길\ngithub : zel0rd\nage : 미상\nblog : zel0rd\n\n다양한 분야에 관심이 있습니다."}},"/2023/members/LeeByeongGon":{"title":"Leebyeonggon","data":{"":"name : 이병곤\ngithub : binkoni\nage : 만27세\nblog : gonnux\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참여하게되었다MBTI는 INTP이다\n리눅스와 오픈소스를 매우 좋아한다 (하지만 취업하니 기여할 시간이 없어진듯 하다)\n1년 반정도 일한 백엔드 개발자이다\n퇴근후 헬스중인 헬린이다\n개발 외 취미는 재테크, 유튜브(보기), 자전거이다\n개발자로서의 초심을 되찾기 위해 컨트리뷰션 아카데미에 참가했다"}},"/2023/members/LeeEuiJu":{"title":"Leeeuiju","data":{"":"name : 이의주\ngithub : Leeeuijooo\nage : 10025세\nblog : 의주\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참여하게되었다MBTI ENFJ\n운동 좋아해요\n목욜날 면접인데 준비 안해서 떨려요\n2023 OSSCA 열심히 참여해보겠습니다"}},"/2023/members/ParkJinSu":{"title":"Parkjinsu","data":{"":"name : 박진수\ngithub : umi0410\nage : 27\nblog : https://umi0410.github.io\n\n주로 K8s, container, ArgoCD Argo Rollouts 같은 Cloud-Native한 기술에 관심이 많습니다.올해에는 영어 공부에 관심이 좀 많이 가요. 일주일에 한 번씩 화상 영어도 해보고 있고, 일주일에 한 두번씩 회화 스터디도 나가보려 노력 중이에요. 그리고 기술 블로그에 글을 쓸 때에도 요즘은 최대한 영어로도 작성해보려 노력하고 있습니다.취미로는 간간히 기타를 치고 있기도 합니다. 잘 치진 못하지만요.여행도 최대한 다녀보려고 노력하고 있어요. 작년에는 미국을, 올해에는 호주를 혼자 여행갔다왔었는데 너무 감사한 경험이었던 것 같습니다."}},"/2023/members/SeoChungWun":{"title":"Seochungwun","data":{"":"name : 서청운\ngithub : newdeal123\nage : 20~30\nblog : 뉴딜의 서랍장\n\nMBTI는 ISFJ로 극F 극J 이다.홍대병이 있어 인디밴드를 참 좋아라 한다."}},"/2023/members/SongHaeMin":{"title":"Songhaemin","data":{"":"name : 송혜민\ngithub : shmruin\nage : 미상\nblog : 없음\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 멘티로 참석하게 되었다.주기적으로 불면증이 있다.야근을 해서 피곤해도 집에 가면 활력이 생긴다."}},"/2023/members/YeomGeunCheol":{"title":"Yeomgeuncheol","data":{"":"name : 염근철\ngithub : GeunSam2\nage : 미상\nblog : 모두의 근삼이\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘토를 담당하게 되었다.수전증이 있다.혼자 갑자기 급발진 해서 신날때가 있다."}},"/2023/members/YouYoonWoo":{"title":"Youyoonwoo","data":{"":"name : 유윤우\ngithub : YunCow\nage : 바뀐나이로 29살\nblog : 이전중인 블로그\n\n2023 오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트 멘티로 참여중입니다.커피를 좋아한다."}},"/2024/members":{"title":"Members","data":{"":"","멤버-목록#멤버 목록":"정성락(멘토)\n최수녕(멘토)\n송혜민(멘토)\n\n\n김철수"}},"/2024/members/KimCheolSu":{"title":"Kimcheolsu","data":{"":"name : 김철수\ngithub : kcs15123\nage : 미상\nblog : 없음\n\n작성 양식 테스트 페이지입니다."}},"/2024/members/SongHaeMin":{"title":"Songhaemin","data":{"":"name : 송혜민\ngithub : shmruin\nage : 미상\nblog : 없음\n\n2024 오픈소스 아카데미의 ArgoCD 멘토로 참석하게 되었다.올해에도 약간의 불면증이 있다.하지만 커피만큼은 포기할 수 없다..."}},"/":{"title":"ArgoWorkflows-OSS","data":{"":"오픈소스 컨트리뷰션 아카데미의 ArgoWorkflows 프로젝트를 위한 BaseCamp\nArgoWorkflows에 기여하고 싶으나 망설여지시는 분들은 저희 Slack 채널에 오셔서 언제든 함께 참여하실 수 있습니다.\n잘 모르시는 내용에 대해서는 멘토링을 요청하신다면 도와드리도록 하겠습니다.","활동-개요#활동 개요":"활동 목표 : ArgoWorkflows 오픈소스 기여 및 생태계 이해\n활동 방식 : 정기적 온/오프라인 미팅 및 과제 수행","본-repo-목적#본 REPO 목적":"프로젝트 페이지 생성\n참여자 GIT 활용 트레이닝\n참여자 정보 기록\n활동 기록","why-not-support-i18n#Why not support i18n?":"Because our pages using GitHub Pages for free.\nAnd Nextra(nextjs) not support i18n for export to static site."}},"/test":{"title":"Index","data":{"":"","테스트#테스트":"테스트를 위한 페이지!\n\n\n행복해져랴 얍\n카테고리를 변경해라 얍이것은 테스트 입니다.다시 행복해져라 얍ㅁㄴㅇㄹㅁㄴㅇㄹ테스트 페이지 테스트?"}}} \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/reports/fianlReportKo-9e76415fac9d4c17.js b/_next/static/chunks/pages/2023/activites/reports/fianlReportKo-9e76415fac9d4c17.js new file mode 100644 index 00000000..9cd45ab8 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/reports/fianlReportKo-9e76415fac9d4c17.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[437],{6210:function(s,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/reports/fianlReportKo",function(){return n(1942)}])},1942:function(s,e,n){"use strict";n.r(e);var l=n(5893),r=n(2673),i=n(4984),o=n(979);n(9966);var c=n(1151),h=n(5675),d=n.n(h),t=n(4987),a=n(8008),x=n(3917),j=n(2154),p=n(94),u=n(480),g=n(5514),k=n(4381),m=n(8904),w=n(7727),f=n(525),b=n(8189),v=n(3434),y=n(1916),D=n(5245),C=n(4877),N=n(2583),A=n(3441),W=n(7367),S=n(6428),P=n(2107),R=n(4004),F=n(1022),I=n(7799),M=n(3880),O=n(2942),Z=n(8010),G=n(9937),T=n(9501),K=n(8050),E=n(2648),q=n(6213),U=n(513),L=n(8556),_=n(9772),H=n(7163),Y=n(2562),J=n(252),B=n(2359),V=n(628),z=n(9569),X=n(7430),Q=n(8801),$=n(1352),ss=n(2424),se=n(534),sn=n(4788),sl=n(3523),sr=n(8083),si=n(178),so=n(6455),sc=n(8240),sh=n(1057),sd=n(310),st=n(6359),sa=n(9),sx=n(6838),sj=n(1802),sp=n(5739),su=n(5531),sg=n(1931),sk=n(6406),sm=n(9417),sw=n(9083),sf=n(301),sb=n(4817),sv=n(6288),sy=n(7574),sD=n(9376),sC=n(8578),sN=n(8973),sA=n(7132),sW=n(2431),sS=n(9797),sP=n(7682),sR=n(207),sF=n(5357),sI=n(4405),sM=n(5655),sO=n(4005),sZ=n(7149),sG=n(7041),sT=n(5309),sK=n(8456),sE=n(101),sq=n(7725),sU=n(1015),sL=n(4012),s_=n(2482),sH=n(3782),sY=n(555);let sJ={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,c.ah)(),s.components);return e?(0,l.jsx)(e,{...s,children:(0,l.jsx)(sB,{...s})}):sB(s)},pageOpts:{filePath:"pages/2023/activites/reports/fianlReportKo.mdx",route:"/2023/activites/reports/fianlReportKo",headings:[{depth:2,value:"TL;TR",id:"tltr"},{depth:2,value:"☑️ 팀 소개",id:"️-팀-소개"},{depth:2,value:"☑️ ArgoWorkflows 소개",id:"️-argoworkflows-소개"},{depth:2,value:"☑️ 주요 성과",id:"️-주요-성과"},{depth:3,value:"UI/UX 개선",id:"uiux-개선"},{depth:3,value:"핵심 기능 개선",id:"핵심-기능-개선"},{depth:3,value:"메인테이너 그룹과의 긴밀한 소통",id:"메인테이너-그룹과의-긴밀한-소통"},{depth:2,value:"☑️ 컨트리뷰션 아카데미 진행 과정과 활동 내역",id:"️-컨트리뷰션-아카데미-진행-과정과-활동-내역"},{depth:3,value:"GIT알못에서 오픈소스 컨트리뷰터가 될 때 까지",id:"git알못에서-오픈소스-컨트리뷰터가-될-때-까지"},{depth:3,value:"GIT 사용 연습을 위한 REPO 생성 및 기여 활동 진행",id:"git-사용-연습을-위한-repo-생성-및-기여-활동-진행"},{depth:3,value:"컨테이너 기초 특별반 운영",id:"컨테이너-기초-특별반-운영"},{depth:3,value:"팀내 이슈 해커톤 개최 및 진행",id:"팀내-이슈-해커톤-개최-및-진행"},{depth:3,value:"Argo Workflows 컨트리뷰터 / 커뮤니티 정기 미팅 참여",id:"argo-workflows-컨트리뷰터--커뮤니티-정기-미팅-참여"},{depth:3,value:"Argo Workflows OSS 팀 페이지 생성 및 운영",id:"argo-workflows-oss-팀-페이지-생성-및-운영"},{depth:3,value:"매주 최소 1회 이상 오프라인 모임활동 진행",id:"매주-최소-1회-이상-오프라인-모임활동-진행"},{depth:2,value:"☑️ 참가자 기여 내용 상세",id:"️-참가자-기여-내용-상세"},{depth:3,value:"0. 염근철(멘토)",id:"0-염근철멘토"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기"},{depth:3,value:"1. 강병선",id:"1-강병선"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-1"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약"},{depth:3,value:"2. 강시온",id:"2-강시온"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-1"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-2"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-1"},{depth:3,value:"3. 권영길",id:"3-권영길"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-2"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-3"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-2"},{depth:3,value:"4. 김수빈",id:"4-김수빈"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-3"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-4"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-3"},{depth:3,value:"5. 김학준",id:"5-김학준"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-4"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-5"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-4"},{depth:3,value:"6. 박진수",id:"6-박진수"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-5"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-6"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-5"},{depth:3,value:"7. 서청운",id:"7-서청운"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-6"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-7"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-6"},{depth:3,value:"8. 송혜민",id:"8-송혜민"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-7"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-8"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-7"},{depth:3,value:"9. 안다혜",id:"9-안다혜"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-8"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-9"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-8"},{depth:3,value:"10. 안지완",id:"10-안지완"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-9"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-10"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-9"},{depth:3,value:"11. 유윤우",id:"11-유윤우"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-10"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-11"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-10"},{depth:3,value:"12. 이병곤",id:"12-이병곤"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-11"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-12"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-11"},{depth:3,value:"13. 이의주",id:"13-이의주"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-12"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-13"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-12"},{depth:3,value:"14. 전의정",id:"14-전의정"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-13"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-14"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-13"},{depth:3,value:"15. 정성락",id:"15-정성락"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-14"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-15"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-14"},{depth:3,value:"16. 채문영",id:"16-채문영"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-15"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-16"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-15"},{depth:3,value:"17. 최수녕",id:"17-최수녕"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-16"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-17"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-16"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Fianlreportko"},pageNextRoute:"/2023/activites/reports/fianlReportKo",nextraLayout:i.ZP,themeConfig:o.Z};function sB(s){let e=Object.assign({h2:"h2",p:"p",a:"a",strong:"strong",h3:"h3",blockquote:"blockquote",ul:"ul",li:"li",code:"code",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",em:"em",pre:"pre",span:"span",hr:"hr",h4:"h4",details:"details",summary:"summary",ol:"ol",br:"br"},(0,c.ah)(),s.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(e.h2,{id:"tltr",children:"TL;TR"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"#contribute-info",children:"기여 내용 전체 보러가기"})}),"\n",(0,l.jsx)(e.h2,{id:"️-팀-소개",children:"☑️ 팀 소개"}),"\n",(0,l.jsx)(e.p,{children:"ArgoWorkflows OSS 2023팀은 1명의 멘토와, 17명의 멘티의 구성으로 총 18명이 한 팀으로 활동하였습니다."}),"\n",(0,l.jsxs)(e.p,{children:["오픈소스에 대한 진입장벽을 느끼는 ",(0,l.jsx)(e.strong,{children:"주니어 개발자들과 선배 개발자가 함께 힘을 모아 컨트리뷰션"}),"을 하는 멋진 행사인\n",(0,l.jsx)(e.a,{href:"https://www.contribution.ac/2023-ossca",children:"오픈소스 컨트리뷰션 아카데미"}),"의 도움으로 팀이 구성되었으며, ",(0,l.jsx)(e.strong,{children:"2023년 07월 ~ 10월까지 약 4개월 간"})," 활동하였습니다."]}),"\n",(0,l.jsx)(e.p,{children:"Git 사용법이 익숙하지 않았던 걸음마 단계부터 시작해서, 어엿한 오픈소스 컨트리뷰터가 될 때까지 저희팀이 이룬 성과를 공유합니다."}),"\n",(0,l.jsx)(e.h2,{id:"️-argoworkflows-소개",children:"☑️ ArgoWorkflows 소개"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"argoDag",placeholder:"blur",src:t.Z})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Argo Workflows"}),"는 컨테이너를 기반으로 한 워크플로우 엔진으로, 병렬 작업을 쿠버네티스에서 실행할 수 있는 오픈소스 프로젝트입니다.\n각 워크플로우 단계가 컨테이너로 정의되며, 여러 단계의 워크플로우를 일련의 작업으로 모델링하거나, 작업 간의 종속성을 DAG (Directed Acyclic Graph)를 사용하여 실행할 수 있습니다."]}),"\n",(0,l.jsxs)(e.p,{children:["즉, Argo Workflows를 사용하면 ",(0,l.jsx)(e.strong,{children:"간단한 워크플로 형태의 작업"})," 부터, ",(0,l.jsx)(e.strong,{children:"머신러닝"})," 또는 ",(0,l.jsx)(e.strong,{children:"데이터 처리를 위한 복잡한 작업 까지"})," ",(0,l.jsx)(e.strong,{children:"쿠버네티스"}),"에서 더 빠르고 쉽게 수행할 수 있게 됩니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"argo_0",placeholder:"blur",src:a.Z})}),"\n",(0,l.jsxs)(e.p,{children:["Argo Workflows는 ",(0,l.jsx)(e.strong,{children:"Cloud Native Computing Foundation"})," (CNCF)에서 ",(0,l.jsx)(e.strong,{children:"졸업에 성공한 프로젝트"}),"입니다."]}),"\n",(0,l.jsxs)(e.p,{children:["졸업 프로젝트가 되기 위해선 엄격한 표준을 충족하기 위해 CNCF가 실시하는 ",(0,l.jsx)(e.strong,{children:"모든 테스트를 통과"}),"해야 합니다.\n즉, 졸업 프로젝트로 인정 받았다는 것은 Argo가 명확한 거버넌스 및 커미터 프로세스, 건전한 성장, 보안 및 컴플라이언스 준수에 대한 ",(0,l.jsx)(e.strong,{children:"최고 수준을 충족"}),"한다는 것을 의미합니다.\n그 엄격한 기준으로 인해 CNCF에 등록된 프로젝트 중 졸업에 성공한 프로젝트는 ",(0,l.jsx)(e.strong,{children:"약 13%에 불과"}),"합니다."]}),"\n",(0,l.jsxs)(e.p,{children:["실제로 Argo 프로젝트가 졸업 프로젝트로 인정 받기까지 약 5년이라는 기간동안 ",(0,l.jsx)(e.strong,{children:"7000명이 넘는 컨트리뷰터"}),"와 ",(0,l.jsx)(e.strong,{children:"11000개가 넘는 PR"}),", ",(0,l.jsx)(e.strong,{children:"37만이 넘는 컨트리뷰션"}),"이 필요했습니다."]}),"\n",(0,l.jsxs)(e.p,{children:["뿐만 아니라, Argo 프로젝트는 현재에도 ",(0,l.jsx)(e.strong,{children:"2300여개의 회사"}),"들이 코드에 기여하고 있고 ",(0,l.jsx)(e.strong,{children:"8300여명이 코드"}),"에 컨트리뷰트 하고 있는 ",(0,l.jsx)(e.strong,{children:"매우 활발하고 최신화된 오픈소스"}),"입니다."]}),"\n",(0,l.jsxs)(e.p,{children:["이로 인해 Argo Workflows는 클라우드 네이티브 커뮤니티에서 ",(0,l.jsx)(e.strong,{children:"가장 대표적인 워크플로우 엔진"}),"으로 인정받고 있습니다."]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"전 세계적으로 수 많은 기업들"}),"이 ",(0,l.jsx)(e.strong,{children:"공식적으로"})," Argo Workflows를 도입해 사용하고 있습니다.\n이는 Argo Workflows가 큰 규모의 기업에서도 실제 작업 부하의 문제를 해결 할 수 있다는 강력한 증거입니다."]}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows를 사용하는 대표적인 기업들은 다음과 같습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"companys",placeholder:"blur",src:x.Z})}),"\n",(0,l.jsxs)(e.p,{children:["… 외 200개가 넘는 ",(0,l.jsx)(e.strong,{children:"글로벌 기업"}),"들"]}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows와 비슷한 도구로는 Apache Airflow, Tekton, Prefect 등이 있습니다."}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows는 Kubernetes-native 엔진으로, 컨테이너 기반 워크플로우를 쉽게 조정하고 자원을 관리할 수 있습니다.\n이는 비슷한 도구인 Apache Airflow와 비교했을 때 주요한 차이점 중 하나로, Apache Airflow는 독립 실행 애플리케이션이며, Kubernetes의 기능을 본질적으로 활용하지 않습니다.\n따라서 Airflow는 자원 관리와 확장성이 Argo Workflows보다 더 어려울 수 있습니다."}),"\n",(0,l.jsxs)(e.p,{children:["또한, Argo Workflows는 각 워크플로우 단계를 독립적인 컨테이너로 실행하기 때문에, 데이터 파이프라인 뿐만 아니라 CI/CD와 같은 다양한 작업을 수행할 수 있습니다.\n이는 Docker와 Kubernetes의 강력함을 활용하여 가능한 것이며, 이를 통해 ",(0,l.jsx)(e.strong,{children:"제한 없이 어떤 것이든 실행"}),"할 수 있습니다."]}),"\n",(0,l.jsx)(e.h2,{id:"️-주요-성과",children:"☑️ 주요 성과"}),"\n",(0,l.jsx)(e.h3,{id:"uiux-개선",children:"UI/UX 개선"}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows 프로젝트는 기여의 메인 키워드를 UI/UX개선으로 지정하고 따로 프로젝트 페이지를 운영하며 이슈들을 트레킹 할 정도로 해당 주제에 적극적인 기여를 진행하고 있습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"uiux_0.png",placeholder:"blur",src:j.Z})}),"\n",(0,l.jsx)(e.p,{children:"저희 팀도 이러한 프로젝트의 목표를 따라 많은 UI 개선들을 수행했습니다."}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"주요 개선 항목"}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"workflows 검색 기능"}),"\n",(0,l.jsx)(e.li,{children:"cronworkflows의 요약 view 개선"}),"\n",(0,l.jsx)(e.li,{children:"DataPciker의 개선"}),"\n",(0,l.jsx)(e.li,{children:"workflows control패널의 sticky 옵션"}),"\n",(0,l.jsx)(e.li,{children:"workflows 목록의 label 강조 효과"}),"\n",(0,l.jsx)(e.li,{children:"외 다양한 버그 개선"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"uiux_1.png",placeholder:"blur",src:p.Z})}),"\n",(0,l.jsx)(e.h3,{id:"핵심-기능-개선",children:"핵심 기능 개선"}),"\n",(0,l.jsxs)(e.p,{children:["컨트리뷰션 경험이 쌓이기 시작하면서 프로젝트에 대한 멤버들의 이해도가 올라가고, 자신감이 붙으면서 UI/UX에 관한 개선 뿐 아니라, ",(0,l.jsx)(e.strong,{children:"워크플로우 엔진의 코어한 기능에 대한 기여"}),"들도 점차 할 수 있게 었습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://blog.argoproj.io/whats-new-in-argo-workflows-v3-5-f260e8603ca6",children:"What’s new in Argo Workflows v3.5"})}),"\n",(0,l.jsxs)(e.p,{children:["워크플로우 엔진의 핵심 로직은 ",(0,l.jsx)(e.strong,{children:"쿠버네티스의 CRD로 설치되어 쿠버네티스 클러스터의 동작과 성능에도 크게 영향을 주는 만큼 구현 수준이 높고"}),",\n각종 테스트 및 메인테이너들과의 정책에 관한 논의에도 적극적으로 참여할 수 있어야 기여가 가능한 만큼 ",(0,l.jsx)(e.strong,{children:"컨트리뷰션 난이도도 굉장히 높은 기여"}),"에 속합니다."]}),"\n",(0,l.jsxs)(e.p,{children:["쉽지 않은 과정들이었지만, 저희 팀은 ",(0,l.jsx)(e.strong,{children:"Argo Workflows 3.5버전의 릴리즈에 핵심적인 기여"}),"들을 해내는데 성공하며,\n",(0,l.jsx)(e.code,{children:"Template Spec"}),", ",(0,l.jsx)(e.code,{children:"Authentication"}),", ",(0,l.jsx)(e.code,{children:"Controller"})," 등의 매우 중요한 기능에 대한 기여를 ",(0,l.jsx)(e.strong,{children:"Argo 공식 블로그에서 언급"}),"되며 기록을 남기기도 하였습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"core_0",placeholder:"blur",src:u.Z})}),"\n",(0,l.jsxs)(e.p,{children:["Argo Workflows의 3.5버전 릴리즈 이후에도, 계속하여 컨트리뷰터들의 ",(0,l.jsx)(e.code,{children:"DX개선"}),"을 위한 CI및 테스트 환경, Nix, ",(0,l.jsx)(e.code,{children:"Controller"}),", ",(0,l.jsx)(e.code,{children:"Template"})," 스펙의 새로운 피쳐 개발, Go Lang 버전 업데이트 등의 높은 난이도의 컨트리뷰션등을 이어나가고 있으며, 다음 릴리즈 배포에는 더욱 많은 기여로 Argo Workflows가 더욱 훌륭한 툴로 거듭나는데 의미있는 성과를 보태는 중입니다."]}),"\n",(0,l.jsx)(e.h3,{id:"메인테이너-그룹과의-긴밀한-소통",children:"메인테이너 그룹과의 긴밀한 소통"}),"\n",(0,l.jsx)(e.p,{children:"저희 팀은 운이 매우 좋았습니다. Argo Workflows 프로젝트가 올해 5월에 Yuan Tang이라는 새로운 리더를 맞이하면서 프로젝트 전체의 컨트리뷰션 호흡이 매우 빨라졌다는 점입니다."}),"\n",(0,l.jsx)(e.p,{children:"보통 이런 대형 프로젝트에서는 리뷰에 상당히 오랜 시간이 걸려서 많은 컨트리뷰션을 해내기 어렵다고 생각하고 시작했었는데,\n능력있는 프로젝트 헤드와 그 팀원들 덕분에 이번 대회에 참가한 ArgoWorkflows 팀원들 모두 굉장히 많은 것들을 배우고 경험하며 짧은 시간 내에 많은 기여를 통해 성장할 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"maintainer.png",placeholder:"blur",src:g.Z})}),"\n",(0,l.jsxs)(e.p,{children:["기여를 이어나가다 보니, 워크플로우 엔진의 핵심적인 기능들에 대한 기여에 가까워질 수록, PR 페이지를 넘어서 ",(0,l.jsx)(e.strong,{children:"CNCF슬랙을 통해 메인테이너 분들과 긴밀하게 소통"}),"하고 의견을 나눌 수 있는 상황들도 생겨났습니다."]}),"\n",(0,l.jsx)(e.p,{children:"논의를 통해서 이슈를 해결하기 위해 프로젝트에서 로직을 처리하기 위한 정책을 결정하기도 하고, 연관된 다른 이슈를 할당받아 진행하는 경험을 하는 등, 오픈소스 프로젝트의 진정한 일원이 되어가는 소중한 경험을 해볼 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"프로젝트 기간동안 저희 팀이 기여한 작업물들을 소개합니다."}),"\n",(0,l.jsx)(sY.Z,{contributers:["GeunSam2","qudtjs0753","umi0410","newdeal123","binkoni","Leeeuijooo","sudosubin","junkmm","shmruin","da-head0","synoti21","Jack-R-lantern","Yaminyam","zel0rd","yunwoo-yu","juijeong8324","moonyoungCHAE","sunyeongchoi"]}),"\n",(0,l.jsx)(e.h2,{id:"️-컨트리뷰션-아카데미-진행-과정과-활동-내역",children:"☑️ 컨트리뷰션 아카데미 진행 과정과 활동 내역"}),"\n",(0,l.jsx)(e.h3,{id:"git알못에서-오픈소스-컨트리뷰터가-될-때-까지",children:"GIT알못에서 오픈소스 컨트리뷰터가 될 때 까지"}),"\n",(0,l.jsx)(e.p,{children:"저희 팀은 마스터즈 단계 참가자 17명 중에서, 12명은 GIT을 통한 제대로 된 협업/코드리뷰 경험이 없는 멤버들로 구성이 되어 있었습니다."}),"\n",(0,l.jsxs)(e.p,{children:["쿠버네티스를 엔진으로 삼고 동작하는 CRD인 만큼 쿠버네티스에 대한 높은 이해도가 필요한 프로젝트인데, ",(0,l.jsx)(e.strong,{children:"쿠버네티스를 제대로 써본 경험이 있는 멤버는 고작 4명에 불과"})," 했습니다."]}),"\n",(0,l.jsx)(e.p,{children:"처음에는 어떻게 시작해야할지 감도 안잡히고 막막했던 상황이었지만, 멘토와 함께 하는 GIT 연습 및 컨테이너, 쿠버네티스에 익숙해지기 위한 연습용 REPO에서의 다양한 과제 수행 및 스터디의 결과로 하나 둘씩 Argo Workflows라는 툴에 익숙해지기 시작했습니다."}),"\n",(0,l.jsxs)(e.p,{children:["그러한 결과, ",(0,l.jsx)(e.strong,{children:"현재 보고서를 쓰는 시점에는 마스터즈 단계 참가자 17명 전원 PR을 생성해 보는 즐거운 경험"}),"을 해 볼 수 있었습니다."]}),"\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.th,{align:"center",children:(0,l.jsx)(d(),{alt:"chart1",placeholder:"blur",src:k.Z})})})}),(0,l.jsx)(e.tbody,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.td,{align:"center",children:(0,l.jsx)(e.em,{children:"컨트리뷰션 활동 요약"})})})})]}),"\n",(0,l.jsx)(e.p,{children:"또한, 처음에는 툴에 익숙해고 배경 지식을 습득하는데 바빠 적극적으로 하지 못했던 컨트리뷰션 활동도 시간이 갈수록 가속도가 붙어서 9월에는 첫주차만에 지난달 한달 동안 기여한 PR에 가까운 갯수를 따라가게 될 정도로 멤버들의 실력이 빠르게 성장하고 있습니다."}),"\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.th,{align:"center",children:(0,l.jsx)(d(),{alt:"chart2",placeholder:"blur",src:m.Z})})})}),(0,l.jsx)(e.tbody,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.td,{align:"center",children:(0,l.jsx)(e.em,{children:"월별 활동 그래프"})})})})]}),"\n",(0,l.jsx)(e.p,{children:"저희 팀이 지금의 기여활동을 해내기까지 수행한 다양한 활동들을 소개합니다."}),"\n",(0,l.jsx)(e.h3,{id:"git-사용-연습을-위한-repo-생성-및-기여-활동-진행",children:"GIT 사용 연습을 위한 REPO 생성 및 기여 활동 진행"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsxs)(e.p,{children:["REPO주소 : ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io"})]}),"\n"]}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성."}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity1",placeholder:"blur",src:w.Z})}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 목표 상세"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 아래 두개 파일을 수정/추가 해서 유저 정보를 업데이트 하는 PR을 생성해요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/users.md`"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/[이름].md`"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" PR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)"})})]})}),"\n",(0,l.jsx)(e.h3,{id:"컨테이너-기초-특별반-운영",children:"컨테이너 기초 특별반 운영"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsxs)(e.p,{children:["페이지 주소 : ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"https://github.com/ArgoWorkflows-OSS/container-playground"})]}),"\n"]}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"목표 : 본인만의 서비스를 만들고, 컨테이너화 하는 CI를 구성하기"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity2",placeholder:"blur",src:f.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity3",placeholder:"blur",src:b.Z})}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 목표 상세"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 과제 통과를 위해서 반드시 아래 사항을 준수해 주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 디렉터리 및 파일 배치"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 개인 서비스를 개발할 때 꼭 본인의 GitHub 계정 디렉터리를 생성하고 그 아래에 코드를 작성하세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 본인 디렉터리 내 최상위에는 반드시 `Dockerfile`이 위치해야 합니다. (이 조건을 만족하지 않으면 CI가 실패할 수 있습니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 본인 디렉터리 아래에서 `Dockerfile`의 위치를 제외한 다른 파일은 자유롭게 작성할 수 있습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 다만, 본인 디렉터리 최상위에서 `docker build -t [이미지명] .` 명령을 실행했을 때 이미지가 성공적으로 빌드되어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 빌드된 이미지의 동작"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 개인 웹 서비스는 반드시 8080 포트에서 동작해야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 빌드된 이미지는 별도의 매개변수 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 명령을 실행했을 때 문제 없이 서비스되도록 만들어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 웹 서비스 개발 언어 및 서비스 구조"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[본인 github계정]"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)"})})]})}),"\n",(0,l.jsx)(e.h3,{id:"팀내-이슈-해커톤-개최-및-진행",children:"팀내 이슈 해커톤 개최 및 진행"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈를 지정하여 조별로 한 이슈를 기간 내에 해결하기 위한 팀내 해커톤"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity4",placeholder:"blur",src:v.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity5",placeholder:"blur",src:y.Z})}),"\n",(0,l.jsx)(e.h3,{id:"argo-workflows-컨트리뷰터--커뮤니티-정기-미팅-참여",children:"Argo Workflows 컨트리뷰터 / 커뮤니티 정기 미팅 참여"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"Argo Workflows 공식 컨트리뷰터/커뮤니티 미팅 참여 오픈소스 컨트리뷰톤 소개"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity6",placeholder:"blur",src:D.Z})}),"\n",(0,l.jsx)(e.h3,{id:"argo-workflows-oss-팀-페이지-생성-및-운영",children:"Argo Workflows OSS 팀 페이지 생성 및 운영"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsxs)(e.p,{children:["페이지 주소 : ",(0,l.jsx)(e.a,{href:"https://argoworkflows-oss.github.io/",children:"https://argoworkflows-oss.github.io/"})]}),"\n"]}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"제작 프레임워크 : nextra"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity7",placeholder:"blur",src:C.Z})}),"\n",(0,l.jsx)(e.h3,{id:"매주-최소-1회-이상-오프라인-모임활동-진행",children:"매주 최소 1회 이상 오프라인 모임활동 진행"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"정기 모임 활동"})}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"매주 일요일 정기 오프라인 모임 날짜로 선정하여 정기적인 모임활동을 진행했습니다."}),"\n",(0,l.jsx)(e.li,{children:"모임활동을 통해 해결할 이슈 탐색과 본인의 이슈 해결 경험에 대한 공유 및 진행 중 발생한 오류에 대한 논의 등 다양한 소통 활동을 진행했습니다."}),"\n",(0,l.jsxs)(e.li,{children:["오프라인 정기 모임에 대한 자세한 정보는 ",(0,l.jsx)(e.a,{href:"https://argoworkflows-oss.github.io/",children:"여기"})," 링크를 통해 확인하실 수 있습니다."]}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity8",placeholder:"blur",src:N.Z})}),"\n",(0,l.jsx)(e.hr,{}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"관심 주제 발표 활동"})}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"오프라인 모임활동 시간 중 본인의 관심사에 대해 자유주제로 발표를 진행했습니다."}),"\n",(0,l.jsxs)(e.li,{children:["관심 주제 발표 주제 및 발표자","\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.th,{align:"center",children:"순서"}),(0,l.jsx)(e.th,{children:"제목"}),(0,l.jsx)(e.th,{align:"center",children:"발표자"}),(0,l.jsx)(e.th,{align:"center",children:"발표일"})]})}),(0,l.jsxs)(e.tbody,{children:[(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"1"}),(0,l.jsx)(e.td,{children:"당근마켓에서 Argo Workflows 도입한 사례"}),(0,l.jsx)(e.td,{align:"center",children:"염근철"}),(0,l.jsx)(e.td,{align:"center",children:"7월 15일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"2"}),(0,l.jsx)(e.td,{children:"실시간 통신을 위한 WebRtc의 개념 및 활용사례"}),(0,l.jsx)(e.td,{align:"center",children:"송혜민"}),(0,l.jsx)(e.td,{align:"center",children:"7월 30일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"3"}),(0,l.jsx)(e.td,{children:"Argo Workflows와 Keyclock 연동방법"}),(0,l.jsx)(e.td,{align:"center",children:"최수녕"}),(0,l.jsx)(e.td,{align:"center",children:"7월 30일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"4"}),(0,l.jsx)(e.td,{children:"Argo Project로 CI/CD 구현하기"}),(0,l.jsx)(e.td,{align:"center",children:"김학준"}),(0,l.jsx)(e.td,{align:"center",children:"8월 6일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"5"}),(0,l.jsx)(e.td,{children:"eBPF의 개념, 필터 개발 방법, 활용사례 발표"}),(0,l.jsx)(e.td,{align:"center",children:"정성락"}),(0,l.jsx)(e.td,{align:"center",children:"8월 6일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"6"}),(0,l.jsx)(e.td,{children:"컨테이너의 역사와 도커 없이 컨테이너 만들기"}),(0,l.jsx)(e.td,{align:"center",children:"염근철"}),(0,l.jsx)(e.td,{align:"center",children:"8월 13일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"7"}),(0,l.jsx)(e.td,{children:"개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표"}),(0,l.jsx)(e.td,{align:"center",children:"안다혜"}),(0,l.jsx)(e.td,{align:"center",children:"8월 20일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"8"}),(0,l.jsx)(e.td,{children:"컨테이너 생태계에 관한 고찰"}),(0,l.jsx)(e.td,{align:"center",children:"염근철"}),(0,l.jsx)(e.td,{align:"center",children:"8월 27일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"9"}),(0,l.jsx)(e.td,{children:"Github Actions 쿠버네티스에서 self-hosted로 설치&운영하기"}),(0,l.jsx)(e.td,{align:"center",children:"서청운"}),(0,l.jsx)(e.td,{align:"center",children:"9월 2일"})]})]})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity9",placeholder:"blur",src:A.Z})}),"\n",(0,l.jsx)(e.hr,{}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"모각코"})}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"비정기적으로 모여서 각자 코딩하는 모각코 진행했습니다."}),"\n",(0,l.jsx)(e.li,{children:"ArgoWorkflow의 구조나 이슈 분석하는 등 기술 교류를 진행했습니다."}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity10",placeholder:"blur",src:W.Z})}),"\n",(0,l.jsx)(e.h2,{id:"️-참가자-기여-내용-상세",children:"☑️ 참가자 기여 내용 상세"}),"\n",(0,l.jsxs)(e.h3,{id:"0-염근철멘토",children:["0. ",(0,l.jsx)(e.a,{href:"https://www.linkedin.com/in/geunsam2/",children:"염근철"}),"(멘토)"]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"작년, 그리고 올해 ArgoWorkflows라는 프로젝트를 만나면서 정말 많은 것을 느끼고 배웠습니다."}),"\n",(0,l.jsx)(e.p,{children:"이번 행사에서 멘토로 참여했지만, 오히려 제가 더 많은것을 배우고 얻어가는 것 같습니다."}),"\n",(0,l.jsx)(e.p,{children:"함께 행사에 참가해서 마지막까지 최선을 다해주신 멘티 여러분들께도 진심으로 감사드리고, 앞으로도 오픈소스 활동을 함께 이어나가는 동료가 되었으면 좋겠습니다."}),"\n",(0,l.jsx)(e.p,{children:"행사 기간동안 오픈소스 생태계의 문화에 대해서도 다시한번 생각할 수 있는 시간이 되었고, CI 환경이나 알고있다고 생각하고 넘어갔었던 다양한 Git활용 기법들을 다시한번 공부할 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"ArgoWorkflows라는 프로젝트에 더 큰 애정이 생겼고, 앞으로 어떤 기회들이 있을지 모르겠지만, 더 다양한 분야에 대해서 기여해 보고 싶다는 생각입니다."}),"\n",(0,l.jsx)(e.h3,{id:"1-강병선",children:"1. 강병선"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인 성과"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"문서기여"})," ",(0,l.jsx)(e.code,{children:"#11762"})," ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11762#event-10327741834",children:"Remove helm installation guide and Add helm documentation link"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"MinIO 설정을 위해 helm 설치를 해야하는데, mac에 관련된 설정만 나와 있어 helm 공식문서에 접근할 수 있도록 수정하였습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"문서기여"})," ",(0,l.jsx)(e.code,{children:"#11735"})," ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11735#event-10365473861",children:"Add installation option descrption"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"managed namespace 옵션에 대한 상세한 설명을 추가해보았습니다."}),"\n",(0,l.jsxs)(e.li,{children:["여기서 Kubernetes의 ",(0,l.jsx)(e.a,{href:"https://kubernetes.io/docs/contribute/style/style-guide/#use-simple-and-direct-language",children:"Documentation 컨벤션"}),"이 존재한다는 것을 메인테이너분께 배웠습니다."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 준비 과정 및 활동"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Github 기초 익히기","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["멘토님께서 과제로 본인의 프로필을 업데이트 하는 과제를 주셨습니다. GPG와 DCO봇의 개념을 익혀보며 github에 더 친숙해지는 시간을 가졌습니다.\n",(0,l.jsx)(d(),{alt:"왕초보",placeholder:"blur",src:S.Z})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Docker 왕초보 특별반","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Dockerfile을 사용해서 도커 이미지를 만드는 활동을 했습니다. 멘토님께서 정리하신 자료를 읽고 개념을 익혔습니다.\n추가적으로 이미지를 만들 때 실행 시 필요한 기능만 넣도록 ",(0,l.jsx)(e.a,{href:"https://www.notion.so/Dockerfile-65f85f55b1b647ebb85617da9747db58?pvs=21",children:"multi stage build"}),"를 적용해보았습니다.\n",(0,l.jsx)(d(),{alt:"dockerfile_pull_request",placeholder:"blur",src:P.Z}),"\n",(0,l.jsx)(d(),{alt:"multi-staging-build",placeholder:"blur",src:R.Z})]}),"\n",(0,l.jsxs)(e.li,{children:["실습 이후 멘토님께서 ",(0,l.jsx)(e.a,{href:"https://ykarma1996.tistory.com/192",children:"Overlay FS"}),"에 대해 하나하나 보여주시면서 이미지가 어떻게 만들어지는지 보여주셨습니다. 이건 정말 알찼습니다.."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["쿠버네티스 기초 공부","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["컨트리뷰션 이전에 쿠버네티스의 기초를 공부하는 시간을 가졌습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.notion.so/bf8924a756b34bacb82d7051a05f1168?pvs=21",children:"개인 공부자료"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Argo workflows","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["template을 만들어보며 ",(0,l.jsx)(e.a,{href:"https://www.notion.so/e4d8e9e18f154a2181135b3e1b6b2d45?v=599976df8f114b5bb48943bdeef08360&pvs=4",children:"스스로 공부하는 시간을 가졌습니다"}),"."]}),"\n",(0,l.jsxs)(e.li,{children:["학준 멘티님이 ",(0,l.jsx)(e.a,{href:"https://junkmm.tistory.com/28",children:"GCP에서 ArgoCD와 Argo Workflows를 활용해 배포하는 파이프라인"}),"을 알려주셨습니다."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["OSS 모임 활동 참여","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"멘토님과 멘티분들께서 다양한 주제로 발표하는 시간을 가졌습니다. 컨트리뷰션 이외에 실무에서 어떤 문제들을 고민하는지, 그리고 문제들을 어떻게 해결했는지 들을 수 있는 좋은 시간이었습니다"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["해커톤 참여","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["성락 멘티님이 많은 도움을 주셨습니다. 괜찮다고 생각하는 이슈들을 공유해주시고 항상 도전할 것을 권해주셨습니다.\n",(0,l.jsx)(d(),{alt:"hackImage",placeholder:"blur",src:F.Z})]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"#11609"})," ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:"Compile expr in config"})," 이슈를 추천해주셔서 도전해보았습니다."]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.a,{href:"https://www.notion.so/491f51f4142244ca875708c5556c58a2?pvs=21",children:"Golang을 스스로 공부해보고"})," Issue를 분석하는 시간을 가졌습니다."]}),"\n",(0,l.jsx)(e.li,{children:"golang에 좀 더 친숙해질 수 있는 시간이 되었습니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-1",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"참가후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"주니어 개발자인 저에게 이 활동은 단순히 컨트리뷰션을 위한 것이 아니라 아니라 개발자들이 무엇을 고민하는지, 어떻게 성장하는지 확인할 수 있는 소중한 시간이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"도움을 너무 많이 받아서 항상 감사합니다. 너무 좋은 분들 만나뵈서 행복한 시간이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"컨테이너와 친해지는 첫 걸음을 뗀 것 같아 기쁩니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"앞으로의 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"개발에서 사용하는 모든 오픈소스에 관심을 가지고 기여할 수 있도록 하겠습니다."}),"\n",(0,l.jsx)(e.li,{children:"Argo workflows를 실제 프로젝트에 적용해보고 더 기여할 방안들을 찾아가겠습니다!"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["qudtjs0753"]}),"\n",(0,l.jsx)(e.h3,{id:"2-강시온",children:"2. 강시온"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-1",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Issue 1개, PR 3개"}),"\n",(0,l.jsxs)(e.li,{children:["GitHub Actions log 가독성 향상을 위한 이름 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11670",children:"https://github.com/argoproj/argo-workflows/pull/11670"})}),"\n",(0,l.jsx)(e.li,{children:"publish-release에서 진행하는 step중 Run actions/cache@v3를 총 세번 수행하는데 각자 하는 역할이 다른데 같은 이름으로 표기되어 있어 같은 작업이 세번 이루어지는 것처럼 느껴 질 수 있는 부분을 각자 역할에 맞는 이름으로 수정"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["GitHub Actions 필요없는 캐시 로직 삭제","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11754",children:"https://github.com/argoproj/argo-workflows/pull/11754"})}),"\n",(0,l.jsx)(e.li,{children:"setup-go actions에서 cache option을 false로 주지않는 이상 default로 caching을 해주기때문에 중복되는 캐시때문에 발생하던 오류를 수정"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Deprecated 된 NodeJS 16 버전을 사용하는 checkout@v3를 모두 checkout@v4로 업그레이드","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11782",children:"https://github.com/argoproj/argo-workflows/pull/11782"})}),"\n",(0,l.jsx)(e.li,{children:"NodeJS 가 곧 보안지원이 종료되므로 최신버전을 사용하는 actions을 사용하도록 수정"}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-2",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"작년의 경험이 너무좋아 올해도 참가하게 되었는데 올해는 작년과 다른 느낌으로 또 너무 좋은 경험을 했습니다.\n다들 열정적인 팀원들과 활발한 프로젝트 덕분에 텐션이 떨어지지 않고 프로젝트에 관심을 가질 수 있었던것 같고, 해당 프로젝트 뿐만 아니라 관련된 이야기 까지 나눌 수 있는 동료가 생긴것 같아 너무 행복합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-1",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["Yaminyam"]}),"\n",(0,l.jsx)(e.h3,{id:"3-권영길",children:"3. 권영길"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-2",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:"[프로젝트 기여 항목]"}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," Argo Workflow Datepicker 개선 ",(0,l.jsx)(e.em,{children:"(완료)"})]}),"\n",(0,l.jsx)(e.p,{children:"workflow 목록 페이지의 filter 기능 중 하나인 datepick의 ui를 개선"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"1.UI.png",placeholder:"blur",src:I.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"2.UI.png",placeholder:"blur",src:M.Z})}),"\n",(0,l.jsx)(e.p,{children:"이슈링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11476",children:"UI: Datepicker Style Malfunction Issue \xb7 Issue #11476 \xb7 argoproj/argo-workflows"})}),"\n",(0,l.jsx)(e.p,{children:"PR링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11480",children:"fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd \xb7 Pull Request #11480 \xb7 argoproj/argo-workflows"})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," ",(0,l.jsx)(e.em,{children:"Cron workflow의 State filter 초기값 설정(완료)"})]}),"\n",(0,l.jsx)(e.p,{children:"cron workflow의 status filter가 초기값과 상관없이 랜더링 되는 버그 수정"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"3.UI.png",placeholder:"blur",src:O.Z})}),"\n",(0,l.jsx)(e.p,{children:"이슈링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11685",children:"ui: Cron workflow initial filter value \xb7 Issue #11685 \xb7 argoproj/argo-workflows"})}),"\n",(0,l.jsx)(e.p,{children:"PR링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11686",children:"https://github.com/argoproj/argo-workflows/pull/11686"})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," ",(0,l.jsx)(e.em,{children:"초기 페이지에서 발생하는 webpack 관련 warning 제거하기 (진행중)"})]}),"\n",(0,l.jsx)(e.p,{children:"argo workflow ui 로드시 발생하는 웹팩 워닝을 제거하기"}),"\n",(0,l.jsx)(e.p,{children:"현재 관련 라이브러리들의 의존성 및 기능을 테스트 하는 중"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"4.UI.png",placeholder:"blur",src:Z.Z})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," ",(0,l.jsx)(e.em,{children:"로그인 페이지 개선 (진행중)"})]}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflow의 기존 로그인 페이지를 Argo CD와 같은 형태고 개선하는 이슈"}),"\n",(0,l.jsx)(e.p,{children:"현재 workflow에서 제공하는 로그인 기능을 분석하고, 이후 새로운 설계 및 디자인을 적용할 예정"}),"\n",(0,l.jsx)(e.p,{children:"이슈링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/10816",children:"Similar login page to Argo CD \xb7 Issue #10816 \xb7 argoproj/argo-workflows"})}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[프로젝트 활동 내역]"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"7.8 발대식(프로젝트 소개 및 자기소개)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["발대식 진행\n",(0,l.jsx)(d(),{alt:"5.meet.png",placeholder:"blur",src:G.Z})]}),"\n",(0,l.jsx)(e.li,{children:"별명을 이용한 자기소개 시간"}),"\n",(0,l.jsx)(e.li,{children:"프로젝트에 대한 대략적인 소개"}),"\n",(0,l.jsxs)(e.li,{children:["모임활동 규칙을 위한 다수결 투표","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["다음 모임 활동은 발대식 참석자들의 다수결에 따라 정기 일정과 다르게 ",(0,l.jsx)(e.strong,{children:"토요일(07/15) 오후 1시"}),"부터 진행하기로 했습니다. 계획된 활동 주제는:"]}),"\n",(0,l.jsxs)(e.li,{children:["다음 한 주간 진행할 ",(0,l.jsx)(e.strong,{children:"공통 활동"}),"에 대한 리뷰 또는 이야기 나누는 시간"]}),"\n",(0,l.jsx)(e.li,{children:"서로 관심 있는 주제에 대한 소통 시간"}),"\n",(0,l.jsx)(e.li,{children:"멘티 여러분들의 진행도에 따라 개발 환경 설정도 진행해 볼 수 있습니다. (Optional)"}),"\n",(0,l.jsx)(e.li,{children:"(공통 활동 내용은 내일 일과 시간 내로 정리해서 공유드릴 것입니다.)"}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"7.15 1차 모임 (개발환경 설정 및 workflow 기능 소개)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Open Up에서 1차 모임 진행"}),"\n",(0,l.jsx)(e.li,{children:"개발 환경 설정 (dev-container)"}),"\n",(0,l.jsxs)(e.li,{children:["플레이그라운드 미션 (DCO 봇 체크 통과, GPG를 이용한 커밋, 커밋 메시지 컨벤션)","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"실제 오픈소스 프로젝트에 바로 도전하기 전에 플레이그라운드를 생성했습니다. 첫 목표는 이 플레이그라운드의 프로젝트에 외부인의 입장에서 이슈/PR/커밋 등을 수행하는 것입니다. 간단하지만 처음 경험하는 입장에서는 생각하지 못한 관문이 존재할 수 있으니 집중해 주세요. 첫 이슈를 일찍 해결하면 추가로 지시할 사항을 전달해 드릴 것입니다. ㅎㅎ"}),"\n",(0,l.jsxs)(e.li,{children:["저장소: ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS"})]}),"\n",(0,l.jsx)(e.li,{children:"목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성해요."}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"7.23 2차 모임(관심있는 이슈사항 공유)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"성수에 모여서 2차 모임 진행(무신사 장소제공 - 안다혜 멘티 지원)"}),"\n",(0,l.jsxs)(e.li,{children:["관심있는 이슈에 대해 소개하고, 서로의 문제 공유하기\n",(0,l.jsx)(d(),{alt:"6.meet.png",placeholder:"blur",src:T.Z})]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"8.6 4차 모임"})}),(0,l.jsx)(e.p,{children:"발표활동"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"argo event와 workflow, cd연동"}),"\n",(0,l.jsx)(e.li,{children:"eBpf"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"7.meet.png",placeholder:"blur",src:K.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"8.13 5차 모임"})}),(0,l.jsx)(e.p,{children:"발표활동"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"webRTC"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"8.meet.png",placeholder:"blur",src:E.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"8.20 6차 모임"})}),(0,l.jsx)(e.p,{children:"발표활동"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"9.meet.png",placeholder:"blur",src:q.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[프로젝트 활동 내용]"})}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"[기여를 위한 학습]"}),"\n",(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["쿠버네티스 아키텍처 강의 - ",(0,l.jsx)(e.a,{href:"https://www.youtube.com/watch?v=Iue9TC13vPQ",children:"YouTube 링크"})]}),"\n",(0,l.jsxs)(e.li,{children:["쿠버네티스 리소스 강의 - ",(0,l.jsx)(e.a,{href:"https://www.youtube.com/watch?v=6n5obRKsCRQ&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c",children:"YouTube 링크"})]}),"\n",(0,l.jsxs)(e.li,{children:["Go Playground - ",(0,l.jsx)(e.a,{href:"https://go.dev/play/",children:"https://go.dev/play/"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"배운점 및 느낀점"}),"\n",(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsx)(e.li,{children:"프로젝트에 기여하기 위해선 해당 분야의 도메인 지식이 중요하다는 것을 깨달았습니다.\n단순히 웹서비스에 기여하고자 하였지만, 쿠버네티스에 대한 지식부족으로 환경셋팅하는 것부터 쉽지 않았습니다."}),"\n",(0,l.jsx)(e.li,{children:"큰 오픈소스 프로젝트에선 DCO/GPG 같은 것을 사용한다는 것을 배웠고, 오픈소스 프로젝트가 어떻게 관리되고 운영되는지 배워볼 수 있었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.strong,{children:"이슈 및 PR내역"})}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-3",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"우선 ‘오픈소스 컨트리뷰션’이라고 하면 여러가지 감정이 교차하는 일이였습니다.\n다른 개발자들과 함께 오픈소스에 기여하고, 이를 통해 공유/협업하는 오픈소스의 문화를 경험한다는 것은 개발자에게 큰 기쁨이자 보람이라고 생각합니다.\n하지만 이전에도 여러차례 컨트리뷰톤을 할 때 겪었던 막연함과 두려움은 또 다시 도전하는 것을 주저하게 하는 커다란 벽이였습니다."}),"\n",(0,l.jsx)(e.p,{children:"이번 3번째 참가를 결심하게 되었을 때 다짐했던 것이 ‘이전에는 학생이라, 잘 몰라서, 취업준비로 바빠서 등등의 변명은 더 이상 통하지 않는다. 꼭 이번엔 성공해야지’ 였습니다.\n그랬기 때문에 더욱 부담이 되기도하고 설레기도 했던 시작할 때의 다짐이 아직도 생생하네요.\n프로젝트를 지원할 때, 잘 아는 분야를 할까? 새로운 분야를 할까? 라는 고민을 했었는데 스스로에게 공부도 되고 열심히 하기 위해 접해보지 않은 devops와 관련된 프로젝트를 지원했습니다. 이러한 결정은 얼마지나지 않아 후회로 다가왔습니다.\n기여를 하기도 전에 공부해야 할 내용이 많고, 프로젝트의 기본적인 환경구축에도 많은 시간이 허비되었습니다. 하지만 다른 팀원들과 함께 매일같이 서로의 어려움을 공유하고 도움을 주기위한 적극적인 활동으로 개발환경이 구축되자 너무나 설레는 시간이 다가왔습니다.\n환경이 구축되고 내가 할 수 있는 이슈를 찾는 것도 새로운 즐거움이였습니다. 업무에서 발생하는 오류나 버그들은 언제나 예민하게하고 귀찮은 것이였는데, 아카데미에서는 내가 할 수 있는 미션과 같이 다가왔고, 그 과정은 게임과 같이 즐거웠습니다."}),"\n",(0,l.jsx)(e.p,{children:"어느덧 참가후기를 쓰고 있는 지금, 내가 기여한 내역들이 너무 뿌듯하고 대견한 느낌이 듭니다. 또한 이런 과정을 함께 도와준 동료들과 멘토님에게 감사합니다."}),"\n",(0,l.jsx)(e.p,{children:"앞으로는 argo-workflow 프로젝트를 업무에 적용할 수 있는 방안에 대해 고민해보고, 이 때 발생하는 이슈들에 대해 적극적으로 기여할 수 있는 방향을 고민해보려고 합니다. 또 다른 좋은 프로젝트가 있다면 새로운 프로젝트에도 기여를 하고 싶습니다.\n감사합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-2",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["zel0rd"]}),"\n",(0,l.jsx)(e.h3,{id:"4-김수빈",children:"4. 김수빈"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-3",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인 성과"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"이슈"})," 1개, ",(0,l.jsx)(e.code,{children:"PR"})," 1개 기여"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 준비 과정"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"YouTube에 업로드 된 OSSCA 기본 교육을 확인했습니다. Git, Vim 등 기존에도 많이 사용해보고 개념도 알고 있는 내용이었지만, 평소에 사용하면서 모르고 있었거나, 대충 사용하던 부분들도 많이 알고 이해할 수 있었습니다."}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"ArgoWorkflows-OSS/ArgoWorkflows-OSS"})," 저장소에서 Git 환경 설정 및 Issue와 PR을 연결하고 클로즈하는 예제를 진행했습니다. Argo Workflows는 PR 생성 시에 모든 커밋이 gpg private key로 서명되어 있어야 하고, sign-off 되어 있어야 합니다. 그렇지 않은 경우 GitHub CI에서 failure 하게 됩니다. Argo Workflows에 실제로 기여하기 전, 미리 로컬 Git 환경을 설정하고 모의로 PR을 생성하는 데 큰 도움이 되었습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"Argo Workflows 개발 환경을 설정했습니다. 처음에는 devcontainer를 이용해 설정했고, 이후에 Nix를 이용했습니다. Argo Workflows는 개발 환경에서 React UI, Argo Server, MySQL 등 여러 컴포넌트가 함께 필요해 개발 환경을 구성하기 어려운 편인데, 여러 주차에 걸쳐 개발 환경을 완전히 구성할 수 있었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 진행 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," Nix go build 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11635",children:"https://github.com/argoproj/argo-workflows/pull/11635"})}),"\n",(0,l.jsx)(e.li,{children:"기존 코드 베이스는 Go 1.20을 사용하고 있었으나, Nix 빌드 파일에서는 Go 1.19를 사용하는 문제가 있었습니다. 기존에는 빌드가 문제 없이 되었었지만, Go 1.20에 새로 추가된 문법을 사용하기 시작하면서 Nix 빌드에 문제가 발생했습니다."}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"_module.args"})," 를 이용해 Go 1.20을 기본으로 사용하도록 수정하고, Nix 빌드를 수정했습니다."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," Nix go vendor hash 자동 갱신","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11691",children:"https://github.com/argoproj/argo-workflows/issues/11691"})}),"\n",(0,l.jsx)(e.li,{children:"컨트리뷰션을 준비하는 과정에서 개발 환경을 설정할 때 알게 된 이슈입니다. Nix는 재현 가능한 빌드를 추구하는데, GitHub의 Dependabot이 자동으로 Go module 버전을 올려줄 때 Nix의 의존성 hash 값은 함께 변경하지 않는 문제가 있습니다."}),"\n",(0,l.jsx)(e.li,{children:"이로 인해 종종 개발 환경을 설정할 때 개발자들이 직접 수동으로 Nix의 go vendor hash를 계산해 갱신해야 하는 상태인데, 이를 개선하기 위해 해결 가능한 방법들을 찾아보고 있습니다."}),"\n",(0,l.jsx)(e.li,{children:"해결 방법을 기여자들과 함께 찾기 위해, 기존 PR과 Comment들의 내용을 모아 Issue를 생성했습니다."}),"\n",(0,l.jsx)(e.li,{children:"기존 다른 오픈소스 프로젝트들에서도 해결하지 않고 개발자들이 수동으로 반영하고 있는 상태여서, Argo Workflows에서 기여한 이후에는 다른 프로젝트들에도 기여할 수 있을 것 같습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," ",(0,l.jsx)(e.code,{children:"CHANGELOG.md"})," 스크립트 개선","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11733",children:"https://github.com/argoproj/argo-workflows/pull/11733"})}),"\n",(0,l.jsx)(e.li,{children:"Markdownlint는 프로젝트 내 문서들을 일관된 형식으로 작성될 수 있도록 강제하고, 문서를 더 읽고 수정하기 쉽게 만들어주는 도구입니다."}),"\n",(0,l.jsxs)(e.li,{children:["기존에 Markdownlint를 사용해 프로젝트 Markdown 문서에 대한 린터 설정을 구성했었는데, 스크립트를 이용해 자동으로 생성되는 ",(0,l.jsx)(e.code,{children:"CHANGELOG.md"})," 파일은 린터 룰에 맞지 않아 이를 개선했습니다."]}),"\n",(0,l.jsxs)(e.li,{children:["변경된 스크립트를 통해 새로 생성된 ",(0,l.jsx)(e.code,{children:"CHANGELOG.md"})," 변경 사항은 이 PR에 담겨 있습니다. → ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11773",children:"https://github.com/argoproj/argo-workflows/pull/11773"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," 문서 스타일 개선","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11787",children:"https://github.com/argoproj/argo-workflows/pull/11787"})}),"\n",(0,l.jsx)(e.li,{children:"Markdownlint를 따르지 않는 일부 문서들의 스타일을 개선했고, 자동으로 생성되는 문서들에 대해서는 이후 PR에서 수정하기로 공유했습니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-4",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"프로그램 참가 후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"혼자서 기여하려고 했다면 불가능했을 것 같은데, 멘토 님과 다른 멘티 분들과 함께 모여서 공부하고 기여하면서 저도 기여를 준비하고 기여할 수 있었던 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"Argo Project 생태계와 커뮤니티에 대해 이해하고, Argo Workflows 프로젝트에 대해 전보다 훨씬 깊게 이해하게 되어 좋았습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"향후 기여 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"현재 생성한 Issue에서 기여자들과 해결 방법에 대해 논의하고, 이를 구현할 예정입니다."}),"\n",(0,l.jsx)(e.li,{children:"이후에 Nix 개발 환경을 개선하고, devcontainer로 구성된 개발 환경을 점진적으로 Nix로 이전하는 작업을 진행할 예정입니다."}),"\n",(0,l.jsx)(e.li,{children:"Nix와 관련한 문서가 빈약해, 문서도 개선할 예정입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-3",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["sudosubin"]}),"\n",(0,l.jsx)(e.h3,{id:"5-김학준",children:"5. 김학준"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-4",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"리팩토리"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"fix: Upgrade Go to v1.21 Fixes #11556"}),"[**Merged]**"]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows는 Go언어로 개발되어 있습니다."}),"\n",(0,l.jsx)(e.li,{children:"Go Version을 1.20 → 1.21로 업그레이드 하는 Issue가 발행되어 해결해보자 하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"이슈 해커톤"})," 기간에 해당 이슈를 제시하여 같은 팀원 분들과 함께 이슈 해결 및 PR을 진행했습니다."]}),"\n",(0,l.jsx)(e.li,{children:"결과적으로 첫 PR과 첫 컨트리뷰터 뱃지를 달아볼 수 있는 영광스러운 시간이었습니다."}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"fix: Upgrade Go to v1.21 Fixes #11556 by junkmm \xb7 Pull Request #11601 \xb7 argoproj/argo-workflows(opens in a new tab)"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"소그룹 발표"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Challenges 기간에 Argo Projects를 활용한 CI/CD 구현했던 결과를 주제로 Offline 미팅 시간에 발표하는 시간을 가졌습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["발표하며 제 생각을 정리하고, 서로 대화하며 데브옵스와 Argo Project 생태계를 이해할 수 있는 유익한 시간이었습니다.\n",(0,l.jsx)(d(),{alt:"meet",placeholder:"blur",src:U.Z}),"\n",(0,l.jsx)(e.code,{children:"이슈 해커톤"})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"컨트리뷰션 활동에 진입 장벽과 동기부여를 위해 안다혜님의 의견으로 멘토님 주도하에 이슈해커톤이 진행되었습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"멘토님의 주도하에 성락님과, 문영님, 병선님과 같은 팀이 되었습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이 기간에 제가 제시한 go 1.20 → 1.21 업그레이드 이슈 해결 성과를 달성했습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Argo Workflows에 내장된 Prometheus Metric 값을 추가하는 Issue를 해결해보고자 했으나, 높은 난이도로 인해 중단되었습니다. 하지만 이 과정을 통해 Prometheus는 별도의 Exporter를 설치해야만 한다 라는 제 고정관념이 무너지고 시야가 확장되는 좋은 경험을 했습니다.\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849",children:"plan to add workflow labels to the metric? \xb7 Issue #9849 \xb7 argoproj/argo-workflows(opens in a new tab)"})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["아래 이슈를 해결하고자 하고 있습니다. ",(0,l.jsxs)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:["Compile ",(0,l.jsx)(e.code,{children:"expr"})," in config \xb7 Issue #11609 \xb7 argoproj/argo-workflows(opens in a new tab)"]})]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"왕 초보 특별반 - Container Playground"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows는 쿠버네티스 네이티브 환경에서 기동되는 오픈소스 입니다."}),"\n",(0,l.jsx)(e.li,{children:"멘토님은 쿠버네티스에 대한 지식이 있어야 우리 프로젝트를 접근하는데 있어 도움이 된다고 하시며 쿠버네티스 스터디를 Open 하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["첫 번째 미션은 제시하는 조건에 만족하는 Web Container를 생성하는 것이었습니다.\n",(0,l.jsx)(d(),{alt:"goal",placeholder:"blur",src:L.Z})]}),"\n",(0,l.jsx)(e.li,{children:"평소에 Dockerfile을 생각없이 작성하던 저에 대해 반성하게 됐고, 멀티 스테이징과 빌드 속도와 도커파일 작성 방법에 대한 관계를 배울수 있던 좋은 시간이었습니다."}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-5",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"결론 먼저 말씀드리면 만족중에 대 만족 입니다. 컨트리뷰션 초기 정말 오픈소스 생태계를 잘 알지 못했던 저에 비하면 현재의 저와는 비교할 수 없을 것 같습니다. 대 만족하는 이유는\n첫째, 똑똑한 조원 분들 입니다. 매주 다양한 주제와 사람들 께서 현업에서 사용하는 기술, 관심있는 기술 등 발표를 정말 많이 해 주셨는데, 어디가서 들을 수 없는 명품 강의였고, 정말 많은 도움이 된 시간이었습니다.\n둘째, 든든한 조원 분들 입니다. 아무래도 개발 경험이 적은 저로써 이 컨트리뷰션 기간이 조금 무서웠습니다. 하지만 저희 리더 멘티님인 성락님을 비롯하여 많은 분들이 슬랙에 질문을 올렸을때 적극적으로 알려주신 덕분에 제가 겪은 문제들을 스무스 하게 넘어갈 수 있었습니다.\n셋째, 쾌적한 모임 공간과 든든한지원입니다. 매주 일요일 서초 오픈업 공간에서 모임을 했는데, 신축 건물인지 정말 깔끔하고, 탕비실의 커피와 간식은 그저 빛이였습니다. 또 중간 회식에서는 정말 배터지게 맛있는 양꼬치를 먹을 수 있어서 좋았습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"앞으로의 계획"})}),"\n",(0,l.jsx)(e.p,{children:"올해 컨트리뷰션 활동을 통해 확실히 오픈소스 생태계를 이해할 수 있었습니다. 다만 아쉬운점이 있다면 초반에 무서워서? 소극적으로 활동 했던 것과, 아무래도 소극적일 수 밖에 없었던 제 작고 귀여운 코딩 실력입니다. 저는 컨트리뷰션 활동 기간이 정말 값졌기 때문에, 저의 미흡한 점을 보완해서 다음 해 에도 꼭 참여하고 싶습니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-4",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["junkmm"]}),"\n",(0,l.jsx)(e.h3,{id:"6-박진수",children:"6. 박진수"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-5",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"기능개선"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["A new feature to support Secrets as a type of parameters (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11446",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"1.picture",placeholder:"blur",src:_.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"2.picture",placeholder:"blur",src:H.Z})}),(0,l.jsx)(e.p,{children:"기존의 Argo Workflow는 WorkflowTemplate에 argument(인자)를 전달할 때 직접 인자를 정의할 수도 있고, ConfigMap을 참조하도록 설정할 수도 있었습니다. 하지만 일반적인 kubernetes 생태계를 지원하는 다른 도구들과 달리 Secret을 참조하는 기능은 지원되지 않았습니다."}),(0,l.jsxs)(e.p,{children:["이에 대한 Feature request가 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/5506%EC%97%90%EC%84%9C",children:"https://github.com/argoproj/argo-workflows/issues/5506에서"})," 이루어지기 시작했고, 해당 기능을 구현해 Draft PR을 만들어둔 상태입니다."]}),(0,l.jsx)(e.p,{children:"이 기능은 특히나 Kubernetes에서의 CustomResourceDefinition이라는 인터페이스와 같은 것의 정의를 바꿔야하고, workflow가 생성되어 사이드카를 주입받고 Pod로 생성되는 일련의 라이프사이클을 모두 파악해야했기에 개발하기 쉽지 않은 편이었습니다."}),(0,l.jsx)(e.p,{children:"하지만, 해당 기능을 구현해나가면서 Workflow가 결국 Pod와 container로 변환되어 동작하게 되는 과정을 깊이 있게 파악할 수 있었고, Workflow가 내부적으로 context 및 argument를 templating하는 로직도 많이 파악할 수 있었던 이슈였습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"이슈생성"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["Incorrect creator labels on a resubmitted Workflow (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11414",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"3.picture",placeholder:"blur",src:Y.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"4.picture",placeholder:"blur",src:J.Z})}),(0,l.jsx)(e.p,{children:"Argo Workflow에는 동일한 template을 바탕으로 Workflow를 다시 생성하고 실행하는 Resubmit이라는 기능이 존재합니다. Resubmit된 Workflow의 경우 Workflow 생성 유저 관련 k8s object label이 Resubmit한 유저를 바탕으로 설정되는 것이 아니라 기존 잘못된 값으로 설정되는 버그가 존재했습니다."}),(0,l.jsx)(e.p,{children:"이로 인해 한 Workflow를 실행한 유저와 그 Workflow를 Resubmit한 유저가 다르면 Resubmit을 통해 생성된 Workflow에는 잘못된 Workflow 생성 유저 관련 k8s object label이 붙곤 했습니다."}),(0,l.jsx)(e.p,{children:"이에 대한 이슈를 제기했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"버그수정"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["fix: Apply the creator labels about the user who resubmitted a Workflow (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11415",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"5.picture",placeholder:"blur",src:B.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"6.picture",placeholder:"blur",src:V.Z})}),(0,l.jsx)(e.p,{children:"앞서 생성했던 이슈(버그)를 해결하는 Pull Request를 작성했습니다."}),(0,l.jsx)(e.p,{children:"Resubmit 시에 기존 Workflow 실행자의 정보를 고려하지 않고 Resubmit한 유저 정보만을 바탕으로 올바른 Workflow 생성자 k8s object label을 달도록하여 버그를 수정했습니다."}),(0,l.jsx)(e.p,{children:"변경사항에 대한 예시로 foo라는 유저가 실행한 Workflow를 bar라는 유저가 Resubmit한 경우, 인증되지 않은 유저가 Resubmit한 경우 creator 관련 label이 어떻게 달리는지를 제시했습니다."}),(0,l.jsx)(e.p,{children:"또한 다른 코드에도 많은 영향을 끼친 부분이 존재해 이에 대한 테스트 코드도 작성해 안정성을 높였습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"기능개선"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["feat: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11407",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"7.picture",placeholder:"blur",src:z.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"8.picture",placeholder:"blur",src:X.Z})}),(0,l.jsx)(e.p,{children:"로그인한 유저가 CronWorkflow를 만든 경우 CronWorkflow에는 생성자에 대한 k8s object label이 붙게 됩니다. 하지만 CronWorkflow의 설정을 바탕으로 주기적으로 생성되는 Workflow에는 해당 k8s object label이 붙지 않게 되는 이슈가 존재했습니다."}),(0,l.jsx)(e.p,{children:"따라서 CronWorkflow로 생성되는 Workflow들이 CronWorfklow의 생성자 라벨을 그대로 전파받도록 개선했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"이슈생성"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["Insufficient logging in /oauth2/callback handler when using SSO Authentication (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11369",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"9.picture",placeholder:"blur",src:Q.Z})}),(0,l.jsx)(e.p,{children:"Keycloak이라는 Identity Provider 오픈소스 제품을 이용해 Argo Workflows에 SSO(Single Sign On)으로 인증 기능을 활성화하려했으나 이 과정에서 로그가 부족해 활성화 작업이 크게 지연된 것을 경험했습니다. 이에 해당 기능 활성화 작업에 대한 로깅 강화를 주제로한 이슈로 열었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"기능개선"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["feat: Improve logging in the oauth2 callback handler (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11370",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"10.picture",placeholder:"blur",src:$.Z})}),(0,l.jsxs)(e.p,{children:["위에서 언급한 이슈(",(0,l.jsx)(e.a,{href:"https://www.notion.so/82d2ee40c48e482a8db93123a7b38407?pvs=21",children:"블록 링크"}),")를 해결한 Pull Request입니다. SSO를 위해 OAuth2 Protocol을 이용하는 과정에서 발생하는 에러 케이스별로 에러 로그를 출력하도록 기능을 개선했습니다."]}),(0,l.jsx)(e.p,{children:"또한 Pull Request의 Reviewer가 좀 더 편하게 리뷰할 수 있도록, Pull Request가 설득력을 갖도록, 변경사항을 검증할 수 있는 Verification을 코드로 나타냈습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"공부"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["docs: Add a user named 박진수 (",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/51",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"11.picture",placeholder:"blur",src:ss.Z})}),(0,l.jsx)(e.p,{children:"행사를 시작하면서 멘토님께서 GitHub에과 친해질 수 있도록 만들어주는 레포지토리의 멤버 프로필에 저에 대한 소개를 추가해 Pull Request를 생성해보는 실습을 진행했습니다."})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-6",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"그동안 수많은 오픈소스를 활용해 업무를 하고 취미생활을 하면서도 단순히 사용자로서만 남아있었던 제가 유명 오픈소스의 컨트리뷰터가 될 수 있었던 좋은 기회였습니다."}),"\n",(0,l.jsx)(e.p,{children:"멘토님의 도움으로 Argo Workflow를 통해 오픈소스 컨트리뷰션 활동에 입문할 수 있었고, 컨트리뷰터 간의 실시간 화상 미팅의 두려움도 극복할 수 있었으며, 다른 사람이 작성한 코드도 거부감 없이 읽어보는 습관을 기를 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"저는 지금 Argo Workflow뿐만 아니라 Argo Rollouts, Istio 등 클라우드 네이티브한 환경에서 많이 사랑받고 있는 오픈소스에도 많은 관심을 갖고 있으며 Slack을 통해 컨트리뷰터들과 자주 소통해오고 있습니다."}),"\n",(0,l.jsx)(e.p,{children:"오픈소스 컨트리뷰션을 진행하기 전의 저였다면 이러한 소통 조차도 꺼렸을 것이 분명합니다. 하지만 이제는 이런 소통에 전혀 부담이 없고 앞으로는 Argo Workflow에서 제가 기여했던 것처럼 Argo Rollouts와 Istio에도 많은 기여를 해보고자 합니다!"}),"\n",(0,l.jsx)(e.p,{children:"지난 기간동안 힘써주신 주최측과 멘토님께 감사의 인사를 전합니다. 감사합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-5",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["umi0410"]}),"\n",(0,l.jsx)(e.h3,{id:"7-서청운",children:"7. 서청운"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-6",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인 성과"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"PR"})," 1개 Open"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 준비 과정"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"OSSCA 사무국이 공유해주신 기본 Git 전략에 대한 공유 영상을 확인하고, 놓치고 있는 새로운 부분과 기존의 알고있던 개념을 결합시켜 Git에 대한 이해와 응용도를 높였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["팀에서 진행하는 ",(0,l.jsx)(e.code,{children:"ArgoWorkflows-OSS/ArgoWorkflows-OSS"})," 레포지토리에서 오픈소스 컨트리뷰트를 위해 필수적으로 알아야할 개념(gpg private key)와 issues, PR title 등을 실제로 미션을 수행하며 경험적으로 체득할 수 있도록 했습니다."]}),"\n",(0,l.jsx)(e.li,{children:"devcontainer를 사용해 Argo Workflow의 로컬 개발환경을 직접 구축하고 테스트해보며 실제로 컨트리뷰트를 하기위한 필수조건을 테스트해봤습니다. 여러 라이브러리 종속성에 대한 이식성이 좋은 도구여서 매우 사용하기 편리했습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 진행 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["공식 docs의 fields 예제 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11748",children:"https://github.com/argoproj/argo-workflows/pull/11748"})}),"\n",(0,l.jsxs)(e.li,{children:["기존 공식문서에서 크론워크플로우를 사용하지 않는 문서 예제가 ",(0,l.jsx)(e.code,{children:"CronWorkflowSpec"})," , ",(0,l.jsx)(e.code,{children:"CronWorkflowStatus"})," 필드에 포함되어 있어 필요한 데이터를 찾는 데 혼란을 불러왔었습니다."]}),"\n",(0,l.jsxs)(e.li,{children:["그래서 필요한 자료를 찾기 위해 ",(0,l.jsx)(e.code,{children:"CronWorkflowSpec"})," , ",(0,l.jsx)(e.code,{children:"CronWorkflowStatus"})," 필드의 예제에서는 크론워크플로우를 사용하는 예제만 허용하도록 했습니다."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-7",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"프로그램 참가 후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"오픈소스 생태계를 이렇게 심도있게 알아가고, 이해할 수 있는 모임이 또 있을까 라는 생각이 들 정도로 멘토님과 멘티분들이 훌륭하고 또 정말 열심히 모임을 이끌어 주셨습니다."}),"\n",(0,l.jsx)(e.li,{children:"개인으로서는 아쉬움이 무척 크기도 했습니다. 조금 더 시간을 투자하고 적극적으로 모임에 참여해서 개인의 성장 뿐만 아니라 더 좋은 모임으로 만들 수 있었을 텐데, 여러 외부 요인과 스스로의 게으름 때문에 아쉬움을 많이 남겼던 기간이었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"향후 기여 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"더 이상 오픈소스 컨트리뷰트가 무서운(?) 일이 아니라는 큰 자신감을 얻어서, 이후에도 Argo 생태계를 넘어 CNCF 생태계에도 더욱 관심을 가지고 오픈소스를 탐험할 수 있을 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"처음부터 소스를 다 까보지 않고도 이전 PR 기록, 메인테이너의 도움을 통해 기여를 할 수 있음을 토대로 컨트리뷰트에 대한 심리적인 허들을 넘어 적극적으로 기여를 이어갈 계획입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-6",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["newdeal123"]}),"\n",(0,l.jsx)(e.h3,{id:"8-송혜민",children:"8. 송혜민"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-7",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"컨트리뷰션 활동"})}),"\n"]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Mutex check happens after memoization cache check and lock info missing from UI"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11219",children:"Issue #11219"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11456",children:"PR #11456 - Merge 완료/3.4.10 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"Argo Workflow 의 Synchronization 및 Cache 기능을 동시에 사용할 수 있도록 수정할 수 있었습니다."}),(0,l.jsx)(e.p,{children:"해당 버그는 Argo Workflow 에서 Synchronization 및 Memoize 키워드를 같이 사용할 시 정상적으로 동작하지 않는 현상이었습니다."}),(0,l.jsx)(e.p,{children:"기대 동작은 Mutex Synchronization 이 동작한 이후 캐시가 동작하는 것이지만, Synchronization 가 동작한 뒤 캐시가 작동하지 않고 있었습니다."}),(0,l.jsxs)(e.p,{children:["예를 들어 아래와 같이 ",(0,l.jsx)(e.code,{children:"job-1"})," 과 ",(0,l.jsx)(e.code,{children:"job-2"})," 가 있을 시 ",(0,l.jsx)(e.code,{children:"job-1"})," 이 Synchronization 효과로 인해 먼저 동작을 하고 캐시를 쓰고 완료가 되면, ",(0,l.jsx)(e.code,{children:"job-2"})," 는 ** 동일한 캐시로 인해서 동작하지 않고 Pass 해야 합니다.**"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:se.Z})}),(0,l.jsx)(e.p,{children:"저는 이 과정을 Synchronization 과 Cache 의 순서를 조정하는 것으로 올바르게 수정할 수 있었습니다."}),(0,l.jsxs)(e.p,{children:["어렵지는 않은 수정이었지만, 복잡한 파일 중 하나인 ",(0,l.jsx)(e.code,{children:"operation.go"})," 를 수정했기에 많은 리뷰와 함께 Argo Workflow 의 다양한 기능들을 살펴볼 수 있었던 PR 이라 생각합니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Parent level memoization is broken"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11612",children:"Issue #11612"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11623",children:"PR #11623 - Merge 완료/3.4.11 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"위 수정으로 발생한 새로운 버그 사항으로, Argo Workflow 의 Template 레벨이 아닌 아래 Child 구성 요소에서 Memo 기능을 사용 시 무한 Pending 이 걸리는 버그가 제보되었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sn.Z})}),(0,l.jsx)(e.p,{children:"이전 PR 에서 테스트를 추가했으나 확인하지 못한 Case 가 존재했다는 것을 인지하고, 오류 발생 원인을 분석해서 다시 핫픽스를 반영할 수 있었습니다. 이 예외 사항을 추후에도 발견하기 위한 테스트를 4개 포함하여 PR 을 진행했습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"UI: workflowDrawer's information link is not correctly working"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11494",children:"Issue #11494"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11495",children:"PR #11495 - Merge 완료/3.4.10 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"Argo Workflow 대시보드에서 워크플로우를 펼쳤을 시, Information 아이콘의 링크가 망가진 사항을 수정했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sl.Z})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:""})," 태그 중첩으로 인한 잘못된 이벤트 전파를 방지하는 코드를 추가해 제대로 클릭이 동작하게 만든 내용입니다.\n해당 코드 수정으로 다시 아이콘 클릭 시 올바른 문서로 이동하도록 만들 수 있었습니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Search by name for WorkflowTemplates in UI"}),(0,l.jsx)(e.code,{children:"기능개선"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684 - Merge 완료/3.4.10 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"다른 2명의 참가자 분들과 공동으로 개발하여 PR 을 진행한 내용입니다.\nArgo Workflow 에는 이름의 패턴을 통해 각 템플릿을 기능하는 유용한 기능이 빠져 있었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sr.Z})}),(0,l.jsxs)(e.p,{children:["이 기능을 추가로 제공하여 사용자가 더 이상 Yaml 의 라벨 뿐만이 아닌 이름으로도 Template 을 검색하도록 개발했습니다.\n",(0,l.jsx)(e.code,{children:"특히 정확한 이름이 아닌 LIKE 검색이라는 것이 앞으로도 유용할 것 같습니다."}),"\n이후에도 다른 페이지에 대해서 비슷한 수정을 통해 검색과 페이지네이션 기능을 확장할 예정이라 더욱 의미있는 PR 이었던 것 같습니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Add more readable Argo CLI installation guide into github documentation"}),(0,l.jsx)(e.code,{children:"문서기여"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11750",children:"Issue #11750"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11751",children:"PR #11751 - Merge 완료"})]}),(0,l.jsx)(e.p,{children:"Argo Workflows 에서 사용하는 커맨드라인 인터페이스인 Argo CLI 에 대한 문서 기여입니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:si.Z})}),(0,l.jsx)(e.p,{children:"현재 Argo CLI github 문서에는 인스톨에 대한 과정이 빠져 있어서, 첫 사용자가 Argo CLI 를 설치할 방법을 찾기가 어려웠습니다.\n기존에는 Release Note 로 직접 찾아 들어가거나 Quick Start 페이지로 반드시 들어가야 했는데, Argo CLI 페이지에 기존 Usage 이외에 Installation 항목을 추가하여 사용자 편의성을 높이도록 수정했습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Workflow templating is skipped when whitespace is added to template parameters"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11767",children:"Issue #11767"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11781",children:"PR #11781 - Merge 완료"})]}),(0,l.jsxs)(e.p,{children:["Argo Workflow 에서 workflow template 작성 시 들어가는 ",(0,l.jsx)(e.code,{children:"{{parameter}}"})," 형태의 placeholder 가 ",(0,l.jsx)(e.code,{children:"{{ parameter }}"})," 와 같이 앞 뒤로 공백이 있을 경우 유효성 검사가 되지 않는 현상이었습니다.\n내부 유효성 검사 코드에서 parameter 에 대해서 앞, 뒤의 공백을 자르는 trim 을 하지 않고 있는 것이 원인으로, 이 부분에 trim 을 추가하여 공백을 제거해 해결했습니다.\n이 기여로 인해 기존 placeholder 내용이 유효성 검사를 무시해버리는 현상도 바로 잡을 수 있었습니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"모임 개발 활동"})}),"\n"]}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Argo Workflow OSS 공통 Repo 에 PR 올려보기"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/22",children:"PR #22 - Merge 완료"})}),(0,l.jsx)(e.p,{children:"Argo Workflow PR 전 여러 사람이 기여하기 위한 사전 연습을 진행했습니다. 새로운 문서 및 기존 문서를 다른 참가자들과 동시에 수정하여 올려서 Git 커맨드 및 Rebase 의 소중함에 대해서 배울 수 있었습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Dockerfile 로 웹서버 만들어보기"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/6",children:"PR #6 - Merge 완료"})}),(0,l.jsx)(e.p,{children:"로컬 8080 서버로 통신하여 localhost:8080 으로 접근 가능한 Dockerfile 을 하나 작성하고 서버를 띄우는 연습이었습니다.\n간단한게 Flask 로 파이썬 서버를 작성하고 Dockerfile 내 환경 설정, 서버 구동, 포트 연결을 통해서 Docker 커맨드로 외부에서도 서버에 접속 가능하도록 만들었습니다."}),(0,l.jsx)(e.hr,{})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-8",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["참가후기","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"이전에도 오픈소스 컨트리뷰션 아카데미를 참여했었지만, 이번 아카데미의 프로그램과 멤버, 내용 모두가 특히 만족스러웠습니다."}),"\n",(0,l.jsx)(e.li,{children:"단기간에 소스 코드를 파악하고 기여를 시작하는 것이 쉽지 않은데, 작은 내용이나마 기여를 시작할 수 있었다는 것이 놀라운 경험이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"멘토님의 집중적인 케어와 다른 참가자 분들의 열정이 정말 큰 도움이 되었다는 것을 깊게 느낄 수 있었습니다."}),"\n",(0,l.jsx)(e.li,{children:"혼자 시작했다면 금방 포기하고 잊어버렸을 내용이 다른 사람과 함께 진행하는 것만으로도 이렇게 달라질 수 있다는 것이 대단한 경험이었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["앞으로의 계획","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"앞으로도 Argo Workflow 에 대한 컨트리뷰션을 이어나갈 생각이며, 다른 오픈소스 기여를 시작할 수도 있을 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"특히, 이제는 관심 있는 오픈소스에 대해 접근해서 시작하는 방법을 배웠기 때문에 열정만 있다면 조금 더 수월하게 진행할 수 있을 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"다른 사람에게도 오픈 소스 기여에 대한 재미를 적극 전파하며, 자신 있게 추천할 예정입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-7",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["shmruin"]}),"\n",(0,l.jsx)(e.h3,{id:"9-안다혜",children:"9. 안다혜"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-8",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"문서 수정"})," 공식 문서의 ",(0,l.jsx)(e.a,{href:"https://argoproj.github.io/argo-workflows/running-locally/",children:"running-locally"})," 부분이 Dev-container와 Makefile을 처음 사용하는 사람들에게 직관적이지 않고, 깨진 링크들이 있어 pr ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11405",children:"#11405"}),"를 올리고 공식 문서를 수정하는 데 기여하였습니다."]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"이슈 기여"})," ",(0,l.jsx)(e.code,{children:"미완성"})," 이지만 Argo-workflows 의 워크플로우나, 워크플로우 내의 Pod 내에서 Secret 정보가 echo 등의 명령어로 노출될 수 있는 이슈 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/8685",children:"#8685"})," 가 있어 이를 해결해보고자 했습니다."]}),(0,l.jsxs)(e.p,{children:["4일 동안 하루에 3시간 정도, 총 12시간 정도를 이 이슈에 투자했으나 아직 해결하진 못하였습니다. (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/commit/35866a599de80c02a950c52e800e69fc894d5b80",children:"중간 커밋"}),")"]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["총 11개 파일에 걸쳐 Argo-workflows 실행 시 주입할 수 있는 환경변수인 ",(0,l.jsx)(e.code,{children:"ARGO_HIDE_SECRETS"})," 을 추가하고 기본적으로 해당 옵션이 ",(0,l.jsx)(e.code,{children:"true"})," 로 작동하게 하였습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"위 환경변수를 command line에서 입력받거나, Argo-workflows 를 실행할 당시에 설정으로 추가할 수 있도록 하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["만약 ",(0,l.jsx)(e.code,{children:"ARGO_HIDE_SECRETS=false"}),' 로 설정할 경우, "You are running with logging include secrets. Be careful." 라는 로그가 찍히도록 하였습니다.']}),"\n",(0,l.jsxs)(e.li,{children:["workflow, pod의 로그에서 Secret에 해당하는 정보가 포함될 경우, SecretValue를 마스킹 할 수 있도록 코드를 수정하였습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"테스트 코드를 작성하여 위 기능이 목적한 대로 동작하는지 검증하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["하지만 위 기능이 목적한 대로 작동하지 않았기에, 로그가 찍히는 과정을 탐색하기 시작하였습니다. Go 언어에서 사용하는 ",(0,l.jsx)(e.a,{href:"https://github.com/sirupsen/logrus",children:"logrus"})," 라이브러리는 ",(0,l.jsx)(e.a,{href:"https://pkg.go.dev/io",children:"io"})," 패키지의 io.Writer 를 사용한다는 것을 알게 되었습니다."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"과제 수행"})," Argo-workflows 팀은 멘토님이 OSS-Argo-workflows 레포지토리를 생성하고 여러 과제를 내주셨습니다."]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"실제 Argo-workflows 레포에서 pr을 올릴 때 지켜야 하는 원칙 (presigned commit, gpg check) 을 지키며 pr을 올리고, git conflict 를 해결하는 방법을 과제를 통해 배워나갔습니다."}),"\n",(0,l.jsxs)(e.li,{children:["실제 Argo-workflows 레포에서 pr을 올리기 위해, 코드를 수정한 후 Argo-workflows가 제대로 작동하는지 확인하려면 local 환경에서 Dev Container로 Argo-workflows를 동작시켜야 합니다. 저희 팀은 이 과정을 직접 수행해보는 과제를 받았고, 그 과정에서 수행에 어려움을 겪는 멤버들을 서로 도와주었습니다. 저는 블로그 글에 해당 방법을 수행하는 법을 정리하여 팀원들에게 공유하였습니다. ",(0,l.jsx)(e.a,{href:"https://aimb.tistory.com/317",children:"blog"})]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-9",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"오픈소스 컨트리뷰톤에 참여하면서 멋진 멘토님과 팀원들을 만났습니다. 저희는 매주 오프라인으로 만나며 그간 기여했던 이슈에 대해 공유하고, 업무적으로 도움이 되는 발표들을 매주 돌아가면서 진행하였습니다. 또한 막바지에는 ‘이슈 해커톤’을 만들어, 조를 나누어 이슈를 집중적으로 해결하는 자리를 만들었습니다. 그 결과 Argo-workflows 팀 자체에서 4건이 넘는 pr이 머지되었으며, 저도 한 이슈를 잡고 집중적으로 시간을 내 오픈소스를 깊숙히 파볼 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"Go 언어로 개발을 해보는 커리어를 염두에 두고 있었기 때문에, 프로덕션 레벨의 Go 코드를 보고 수정해보는 경험을 해볼 수 있어 정말 값진 경험이었습니다. 이렇게 열심히 사시는 분들과 같은 집단에 속할 수 있을까, 생각해보게 될 정도입니다. Masters가 끝나더라도 저는 위에서 해결하려던 이슈를 끝까지 파볼 작정이며, 개발 pr을 하나 더 올려보고자 합니다."}),"\n",(0,l.jsx)(e.p,{children:"그리고 기회가 된다면 2024년 오픈소스 컨트리뷰톤에도 참가해보고 싶습니다."}),"\n",(0,l.jsx)(e.p,{children:"좋은 기회와 장을 마련해주셔서 감사합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-8",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["da-head0"]}),"\n",(0,l.jsx)(e.h3,{id:"10-안지완",children:"10. 안지완"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-9",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"1. 오픈소스 첫 기여"})}),(0,l.jsxs)(e.p,{children:["처음으로 ArgoWorkflows에 문서를 통한 기여를 했습니다. 공식 사이트에 이미지인지 비디오인지 혼동을 줄 여지가 있는 부분을 고쳐, 유저들이 확실히 동영상임을 인지하도록 수정했습니다.\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11755",children:"docs: modify demo image in intermediate-inputs.md #11755"})]}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. 다른 멤버의 활동을 보며 오픈소스 기여법 터득"})}),(0,l.jsx)(e.p,{children:"이번 오픈소스 컨트리뷰선 아카데미를 통해 오픈소스 기여를 하는 방법과 이슈를 찾는 요령에 대해서 알게 되었습니다. 요약하면 다음과 같습니다."}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"주요 로직이 아닌 아주 자잘한 버그 이슈, 또는 UI 부분에서도 생각보다 이슈가 엄청 많다."}),"\n",(0,l.jsx)(e.li,{children:"해당 오픈소스의 전문적인 지식, 또는 다른 분야 (ex. 프로트) 종사자여도, 충분히 해당 오픈소스에 기여할 수 있는 이슈들이 많다. (ex. UI 이슈)"}),"\n",(0,l.jsx)(e.li,{children:"기여를 하고 싶을 때는, 해당 이슈에 먼저 직접 이 이슈를 해결하고 싶다는 코멘트를 단 후, 작업을 시작한다."}),"\n",(0,l.jsx)(e.li,{children:"이 부분이 좀 신기했는데, Argo Workflow의 경우는 기여를 할 때 담당자가 배정된다는 점이 좀 신기했다. 아마 모르는 점? 또는 생소한 부분이 느껴질 때 담당자를 배정하는 것 같다."}),"\n",(0,l.jsx)(e.li,{children:"다양한 사람들이 많다. 정말 까칠하게 딱 한 줄 적으시는 분도 있고, 굉장히 친절하게 코멘트를 달아주시는 분도 있다."}),"\n"]}),(0,l.jsx)(e.p,{children:"다른 회원분들의 이슈 해커톤을 보며 이슈에 직접 기여하는 방법을 알게 되었습니다. 특히 다른 회원분의 이슈 중 “Pagination” 이슈를 매우 흥미롭게 봤습니다. 제가 argo workflow를 사용할 때는 눈치를 채지 못했는데, 페이지네이션이 일관성이 없다는 걸 캐치하시고 이슈를 만들어 기여를 하시는 것에서, 저렇게 자칫 지나쳐 갈 수도 있는 곳에도 충분히 기여가 가능하구나 라는 걸 깨달았습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"3. 개발 컨테이너 구축"})}),(0,l.jsx)(e.p,{children:"개인적으로 활동을 한 건 devcontainer를 직접 띄워 개발 환경을 세팅했습니다. 사실, 그 과정에서 무수한 오류가 발생했는데, 다른 분들께서 직접 도와주시고 골머리를 앓아가며 마침내 해결한 것을 보고, 뭔가 실무에서도 버그가 발생하면 다른 개발자분들이 오셔서 같이 머리를 쥐어짜내실 것 같은 모습이 상상이 갔습니다."}),(0,l.jsx)(e.p,{children:"멘토님께서 의존성 문제 해결 및 후에 다른 사람이 제 프로젝트에 이슈를 만들때, 동일한 환경에서 작업하는 것을 보장하기 위해 개발 컨테이너를 사용한다는 것을 알게 되고, 현재 제가 진행하고 있는 다른 프로젝트 (디스코드 봇 관련 프로젝트) 에서도 개발 컨테이너를 활용하여 개발을 해야될 것 같다고 생각했습니다."}),(0,l.jsx)(e.p,{children:"중간 보고서 이후에는 조금 마음가짐을 바꿔 위축감을 느끼는 것 보다는, 다른 현직자 분들이 실무에서는 어떤 식으로 서비스를 운영하시는지 그런 것들을 엿듣는 기회를 잡고자 했습니다. 실제로 멘티분들께서 다양한 주제로 발표를 하셨으며 회사 내에서 이루어지는 부하테스트, ebpf에 대한 설명 등 흥미로운 주제들을 들을 수 있었습니다. 학교를 다니면서 듣기 힘든 아주 귀중한 발표였던 것 같습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"4. GPG Sign을 이용한 Verified Commit 방법 숙달 및 팀 깃허브 소개글 업로드"})}),(0,l.jsx)(e.p,{children:"그동안은 별도의 GPG Key없이 커밋을 해왔는데, 멤버 소개글을 업로드 하는 과정에서 DCO봇과 GPG 확인해서 계속 막혀, Verified 커밋을 생성하는 방법을 터득하고 팀 깃허브 레포에 소개글을 업로드했습니다. 그 과정에서 커밋을 할 때마다 자꾸 멈춰 애를 먹는 도중 같은 팀원의 도움을 받아 해결했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/49",children:"docs: 안지완 프로필 업데이트"})})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-10",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"사실, 중간보고서 쓰기 전까지 제 수준에 비해 이 활동이 너무 수준이 높고 다른 분들이 너무 잘하셔서 스스로 위축된 느낌이 있었으나, 멘토님께서 개별적으로 상담해주시고 잘 격려해주신 덕에 그 이후로 정기모임에 더 열심히 참여하고자 했습니다."}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflow에서 수많은 이슈를 보며, 만만한 것이 있으면 한번 기여를 해볼까 하며 찾아봤는데, 너무 복잡하고 특히나 Go 언어를 잘 모르는 터라 손을 댈 수가 없었습니다. 대신, 직접 기여는 몰라도 다른 분들의 기여를 보며 오픈소스라는 세계에 입문하게 된 것 같았습니다."}),"\n",(0,l.jsx)(e.p,{children:"가장 기억에 남은 다른 분의 기여는 “페이지네이션”이었습니다. Argo Workflow의 어떤 부분은 페이지네이션이 되어있고, 어떤 부분은 되어있지 않으며, 또 어떤 부분은 제목은 나와 있지 않은, 한마디로 UI 내의 일관성 깨짐 문제를 발견하셨고, 이를 해결하고자 이슈 해커톤에서 팀원을 구해 기여하시는 모습이 인상깊었습니다."}),"\n",(0,l.jsx)(e.p,{children:"뭔가 제가 기여할 부분을 찾을 때는 로직 관련 이슈를 찾으려 했으나, 너무 어렵고 이게 대체 어떻게 돌아가는지 파악이 안됐는데, 저렇게 기여를 할 수 있구나…라는 생각이 들어 생각보다 기여에 그렇게 큰 겁을 먹지 않아도 된다는 생각이 들었습니다."}),"\n",(0,l.jsx)(e.p,{children:"멘토님을 포함한 다른 모든 분이 현직자이시며 정말 실력이 대단하신 만큼, 저도 모임에 가며 많은 것을 알아갔습니다. 워크플로우가 실무 내에서는 어떻게 쓰이고 있는지, 특히 제가 요즘 공부하고 있는, 정말 만능처럼 보이는 Airflow가 왜 실무 내에서는 그닥 그렇게 많이 쓰이고 있지는 않은지에 대한 이유 등 이론과 실무의 차이들을 볼 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"솔직히 오픈소스 컨트리뷰션에 참가한 만큼, 저도 이슈에 하나 정도는 기여하고 싶은 욕심이 있습니다. 남은 기간이 별로 안남은 만큼, 활동이 끝나기 전까지 아주 자잘한 이슈 하나 정도라도 기여하는 것이 우선 제 계획이며, 이제 개강이 기다리고 있는데, 개강을 해도 정기모임에 나가서 배울 수 있는 것은 최대한 배우는 시간을 가지고 싶습니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-9",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["synoti21"]}),"\n",(0,l.jsx)(e.h3,{id:"11-유윤우",children:"11. 유윤우"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-10",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"1. 왕초보반 dockerfile 만들어보기"}),"\n",(0,l.jsx)(d(),{alt:"task1",placeholder:"blur",src:so.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"나만의 웹 서비스를 만들고 도커파일을 통해 이미지를 빌드하고 컨테이너를 실행해보는 실습 진행"}),"\n",(0,l.jsx)(e.li,{children:"각자 원하는 프레임워크와 언어를 통해 서비스를 구축, 저는 Nest.js를 사용했습니다."}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. Nest.js 프레임워크 공부"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/yunwoo-yu/nest-board-app",children:"Nest.js 학습한 레포지토리"})}),"\n",(0,l.jsx)(e.li,{children:"프론트 엔드밖에 몰랐기에 간단한 API 서비스를 만들기 위해 빠르게 학습"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"3. dockerfile 생성 후 PR"}),"\n",(0,l.jsx)(d(),{alt:"task2",placeholder:"blur",src:sc.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"도커파일을 생성하여 image를 빌드해 서비스 정상작동까지 확인하고 PR을 올렸지만 github action의 빌드 테스트 실패"}),"\n",(0,l.jsx)(e.li,{children:"--production 옵션을 제거하면 테스트에 통과하지만 image 최적화가 되지 않는 문제가 발생. 멘토님께 조언 요청"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"task3",placeholder:"blur",src:sh.Z})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"멘토님의 피드백을 기반으로 문제해결 시작"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"4. 트러블 슈팅"}),"\n",(0,l.jsx)(d(),{alt:"task4-1",placeholder:"blur",src:sd.Z}),"\n",(0,l.jsx)(d(),{alt:"task4-2",placeholder:"blur",src:st.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"dokerfile로 이미지 생성시에 크기를 줄이기 위해 node_modules를 production 환경만 설치하려고 했지만 github action을 통과하지 못함"}),"\n",(0,l.jsx)(e.li,{children:"수많은 삽질끝에 nest-cli라는 모듈이 nest build시에 필요한데 devdependency안에 들어가 있던걸 변경하고 나니 해결됐다. (멘토님이 힌트를 주셨지만 못알아듣고 삽질한건 비밀)"}),"\n",(0,l.jsx)(e.li,{children:"로컬에서 빌드가 문제없이 되어서 더 헷갈렸는데 이유는 내 맥북에 글로벌로 nest-cli가 설치되어 있었다.."}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"5. 오픈소스 컨트리뷰터 활동"}),"\n",(0,l.jsx)(e.strong,{children:"[UI: The position sticky on the workflow toolbar is not working]"})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"workflows-list의 checkbox 선택 시 나오는 toolbar 위치가 상단에 고정 되어 있지 않던 버그를 해결했다."}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11442",children:"이슈 내용 보러가기"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11444",children:"PR 내용 보러가기"})}),"\n"]}),(0,l.jsxs)(e.p,{children:["[before]\n",(0,l.jsx)(d(),{alt:"before1",placeholder:"blur",src:sa.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"체크박스를 선택하고 스크롤 시 상단 툴바가 보이지 않는다."}),"\n",(0,l.jsxs)(e.li,{children:["기존에 있는 ",(0,l.jsx)(e.code,{children:"position : sticky"}),"가 적용되지 않는 문제를 ",(0,l.jsx)(e.code,{children:"position : fixed"}),"로 변경해 해결했다."]}),"\n"]}),(0,l.jsxs)(e.p,{children:["[after]\n",(0,l.jsx)(d(),{alt:"after1",placeholder:"blur",src:sx.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"체크박스 선택 후 스크롤 시에 상단에 툴바를 고정하여 별도의 스크롤 없이 바로 해당 리스트에 대한 이벤트를 실행할 수 있다."}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[UI - show history about completed runs in each cron workflow]"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["의정님이 찾은 좋은 개선 사항을 함께 진행 ",(0,l.jsx)(e.code,{children:"cron-workflows-detail"})," 컴포넌트에서 해당 워크플로우의 히스토리를 볼 수 있게 리스트를 추가하는 이슈"]}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"이슈 내용 보러가기"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"PR 내용 보러가기"})}),"\n"]}),(0,l.jsxs)(e.p,{children:["[before]\n",(0,l.jsx)(d(),{alt:"before2",placeholder:"blur",src:sj.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["기존 ",(0,l.jsx)(e.code,{children:"cron-workflows-detail"})," 페이지에는 아무것도 없었지만"]}),"\n"]}),(0,l.jsxs)(e.p,{children:["[after]\n",(0,l.jsx)(d(),{alt:"after2-1",placeholder:"blur",src:sp.Z}),"\n",(0,l.jsx)(d(),{alt:"after2-2",placeholder:"blur",src:su.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["해당하는 ",(0,l.jsx)(e.code,{children:"cron-workflows"}),"에 히스토리 ",(0,l.jsx)(e.code,{children:"workflows"}),"와 히스토리가 없을 경우에 예시도 추가해줬다."]}),"\n",(0,l.jsx)(e.li,{children:"해당 PR은 아직 확인중인 상태"}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-11",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"너무 좋은 경험이였습니다."}),"\n",(0,l.jsx)(e.p,{children:"아쉽게 취업을 하게되면서 바빠지고 서버와 데브옵스쪽 지식이 부족해 많은 컨트리뷰터 활동이나 오프라인 모임에 참여하지 못한 아쉬움도 많이 남았습니다."}),"\n",(0,l.jsx)(e.p,{children:"그래도 포기하지않고 프론트엔드 쪽으로 더 많은 컨트리뷰터도 진행해보고 서버 쪽 공부도 진행해서 argoWorkflow에도 더 많은 기여를 해보도록 노력해보겠습니다!"}),"\n",(0,l.jsx)(e.p,{children:"좋은 활동 만들어 주셔서 감사하고 왕초보여도 하나씩 단계를 밟아가며 성장할 수 있게 도와주신 멘토님 리드멘티 님들 감사합니다 \uD83D\uDC4D"}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-10",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["yunwoo-yu"]}),"\n",(0,l.jsx)(e.h3,{id:"12-이병곤",children:"12. 이병곤"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-11",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"발대식 참여"}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"K8s 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Operator 개념 학습"}),"\n",(0,l.jsx)(e.li,{children:"Helm 학습"}),"\n",(0,l.jsx)(e.li,{children:"CNI 개념 학습"}),"\n",(0,l.jsx)(e.li,{children:"Service Mesh 개념 학습"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Argo Workflows 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["기본적인 사용법 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://argoproj.github.io/argo-workflows/workflow-concepts/",children:"https://argoproj.github.io/argo-workflows/workflow-concepts/"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.youtube.com/watch?v=kxl6wYd5i2g",children:"https://www.youtube.com/watch?v=kxl6wYd5i2g"})}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["주변 기술 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"DevContainer 학습"}),"\n",(0,l.jsx)(e.li,{children:"Nix 학습"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://nixos.org/manual/nixos/stable/",children:"https://nixos.org/manual/nixos/stable/"})}),"\n",(0,l.jsx)(e.li,{children:"MinIO 학습"}),"\n",(0,l.jsx)(e.li,{children:"KeyCloak 학습"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Argo Workflows 컨트리뷰션 ",(0,l.jsx)(e.code,{children:"버그수정"})]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["DevContainer 오작동 관련 이슈작성 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11439",children:"https://github.com/argoproj/argo-workflows/issues/11439"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"컨테이너 재시작 시 /etc/hosts 엔트리 지워지는 문제"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["DevContainer 오작동 해결 PR 작성 및 머지 완료 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11440",children:"https://github.com/argoproj/argo-workflows/pull/11440"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"devcontainer.json의 runArgs에 —add-host 옵션 추가하여 해결"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Argo Workflows 주변 기술 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"학습한 내용 토대로 NixOS 설치 및 사용"}),"\n",(0,l.jsx)(e.li,{children:"Argo CD, Argo Events, Argo Rollout 에 대해 조사"}),"\n",(0,l.jsxs)(e.li,{children:["Keycloak 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows에서는 Keycloak 연동을 지원하고 있음, 이에 궁금증이 생겨 Keycloak에 대해 조사"}),"\n",(0,l.jsx)(e.li,{children:"OAuth2와 OIDC 차이점에 대해 학습"}),"\n",(0,l.jsxs)(e.li,{children:["Keycloak 개념에 대해 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Role"}),"\n",(0,l.jsx)(e.li,{children:"Ream"}),"\n",(0,l.jsx)(e.li,{children:"Client"}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"Keycloak 설정 방법에 대해 학습"}),"\n",(0,l.jsx)(e.li,{children:"Keycloak API 및 연동 방법에 대해 학습"}),"\n",(0,l.jsxs)(e.li,{children:["Keycloak 공식 문서 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.keycloak.org/docs/latest/securing_apps/index.html",children:"https://www.keycloak.org/docs/latest/securing_apps/index.html"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html",children:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"Keycloak 직접 설치 및 사용 실습"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-12",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"이번 컨트리뷰션 아카데미를 통해 오픈소스에 기여하는 것 뿐만 아니라 새로운 기술에 대해 학습하게 되는 동기부여가 되서 좋았습니다.\n직장 일이 바쁜 와중에 참가해서 쉽지는 않았지만 꼭 올해 컨트리뷰션에서만 Argo Workflows에 대해 기여하는 것이 아니라 향후 컨트리뷰션에서도 몇년간 기여해보는 것을 목표로 길게 보고 있습니다.\n앞으로의 계획은 Argo Workflows뿐만 아니라 다른 Argo Projects를 직접 구축해보고 제 개인 토이 프로젝트에도 적용해보는 것이 목표이고 K8s에 대해서도 더 많은 공부를 하는 것이 계획입니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-11",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["binkoni"]}),"\n",(0,l.jsx)(e.h3,{id:"13-이의주",children:"13. 이의주"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-12",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),"\n",(0,l.jsx)(e.strong,{children:"1. Git 사용법 & Commit & PR 규칙 숙지"})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"컨트리 뷰션을 하기 위해 엄격한 Commit 과 Pull Request를 보내기 위한 기초적인 Git 사용법 숙지 및 Mission 수행"}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["공식 Argo Workflow 프로젝트에서도 컨트리뷰션 하고 싶은 Issue에 대해 ",(0,l.jsx)(e.strong,{children:"Issue Template"})," 를 이용하고 PR 을 날리는 방식을 사용하고 있어 도움이 되었고 Issue Template 의 존재도 알게된 계기가 되었음."]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"향후 컨트리뷰션 부분에 꼭 필요한 요소들을 간접적으로 체험할 수 있는 기회"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://flank.github.io/flank/pr_titles/",children:"PR 의 네이밍 컨벤션"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/apps/dco",children:"DCO 봇 Check"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg",children:"GPG Commit"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.conventionalcommits.org/en/v1.0.0/",children:"Commit Message 컨벤션"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword",children:"이슈와 PR을 연결"})}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Issue 생성 - 멤버 프로필 업데이트 - PR - Review - Merge 의 과정"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"menberprofile1",placeholder:"blur",src:sg.Z})}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. 왕초보 특별반 참여 (Mentor 가 생성한 초보자들을 위한 과정)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"왕초보 특별반 미션을 위한 Repo(container-playground)"})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Docker 혹은 Kubernetes 에 익숙하지 않은 인원 혹은 처음인 인원에 도움을 주는데 목적\n",(0,l.jsx)(d(),{alt:"class1",placeholder:"blur",src:sk.Z})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"멘토가 제시한 과제를 수행하면서 Docker Image 최적화의 필요성에 대해 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"From 절 부터 Layer(층)별로 어떤 패키지, Static file 들을 쌓아가는 과정이기 때문에 Docker 이미지가 무거워져 성능 향상에 악영향을 미칠 수 있기 때문에 최적화는 필수임을 깨달음."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Mission"}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"❗️목표❗️"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"과제 통과를 위해서 반드시 아래 사항을 준수해 주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• 디렉터리 및 파일 배치"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 나만의 서비스를 반드시 본인 github 계정 디렉터리를 생성하고, 그 아래 작성해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 본인 디렉터리의 최상단에는 반드시 `Dockerfile` 이 위치해야 합니다.(이 조건을 달성하지 못하면 CI가 실패합니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 본인 디렉터리 아래에 한해서, `Dockerfile`의 위치를 제외한 나머지 파일들은 자유롭게 작성해도 됩니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 단, 본인 디렉터리 최상단에서 `docker build -t [이미지명] .` 명령을 수행 했을때 성공적으로 이미지가 빌드 되어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• 빌드 된 이미지의 동작"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 나만의 웹서비스는 반드시 8080포트에서 동작해야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 빌드 된 이미지는 별도의 파라미터 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 으로 실행 했을 때 문제 없이 서비스 되도록 만들어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• 웹서비스 개발언어 및 서비스 구조"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[본인 github계정]"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"❗️ 참고사항❗️"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"•도커의 개념과 Dockerfile을 작성하기 위해 아래 문서를 참고 하면 좋아요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [Dockerfile 작성 공식 문서](https://docs.docker.com/engine/reference/builder/)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [왕초보를 위한 도커 사용법](https://mysetting.io/slides/xxj85vnvey) (Docker Toolbox관련 내용은 deprecate된 내용)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"PR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)```"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})})]})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"기존에 Python 기반의 Django 프레임워크를 다뤄본 경험이 있어 Django REST API를 생성하는 Docker FIle을 작성."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["PR을 날렸지만, ",(0,l.jsx)(e.strong,{children:"보안이슈"})," 혹은 ",(0,l.jsx)(e.strong,{children:"불필요한 패키지 import 구문"})," 의 오류를 지적받음."]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"review1",placeholder:"blur",src:sm.Z}),"\n",(0,l.jsx)(d(),{alt:"review1",placeholder:"blur",src:sw.Z})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Django 프로젝트의 ",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"http://settings.py",children:"settings.py"})})," 코드에서는 ",(0,l.jsx)(e.strong,{children:"SECRET_KEY 가 노출"})," 된다는 것을 처음 알았으며 어떻게 이러한 보안 이슈를 해결할 수 있을까에 대해 고민해보는 시간을 가질 수 있었음."]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Secret key 가 담긴 .json 파일을 생성하고 ",(0,l.jsx)(e.a,{href:"http://settings.py",children:"settings.py"})," 에서 json 파일을 참조하는 방향으로 진행하였다."]}),"\n",(0,l.jsxs)(e.li,{children:["secret.json 파일은 Commit 에 올리지 못하므로 ",(0,l.jsx)(e.strong,{children:".gitignore"})," 를 통해 json 파일을 무시하는 방법을 알게되었으며, dbsqlite3 같은 어떤 명령어 수행 후에 생성되는 불필요한 파일들도 무시할 수 있었음."]}),"\n",(0,l.jsx)(e.li,{children:"로컬에서 개발한 결과물을 Git 프로젝트에 올리기 위해서는 여러 고려사항이 필요하다는 것을 깨달은 경험이었음."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["몇가지 Review를 통과하고 PR이 ",(0,l.jsx)(e.strong,{children:"Merge"})," 될 수 있었음."]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"3. Argo Workflow Contributor"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Argo Workflow 를 이것저것 살펴보던 도중, ",(0,l.jsx)(e.strong,{children:"Argo Workflow - Contact - Help"})," 필드에서 ",(0,l.jsx)(e.strong,{children:"Deprecated"})," 된 Argo Workflow Slack 채널을 보게되었음.\n사소한 ",(0,l.jsx)(e.strong,{children:"UI Issue"})," 라고 생각했지만, UI가 어떤 언어로 보여주며, 어떤 방식으로 개발되었는지 확인할 수 있는 기회라고 생각하여 Issue 를 올리고 PR을 제출."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sf.Z})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["생성한 ",(0,l.jsx)(e.strong,{children:"Issue"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11615",children:"UI: non-existent Slack Workspace link on help page Issue"})})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue1",placeholder:"blur",src:sb.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이슈를 생성하니 Argo 프로젝트의 Maintainer 분이 금방 코멘트를 남겨주셨음."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"임의로 CNCF Argo Channel 링크로 Fix 하려 하였으나, 메인테이너분이 다른 링크로 Update 해달라는 코멘트를 받음."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["생성한 ",(0,l.jsx)(e.strong,{children:"PR"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11627",children:"fix: deprecated Link(Help-Contact) Issue"})})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue2",placeholder:"blur",src:sv.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflow 는 React 기반으로 UI가 구성되어 있었고, 컴포넌트별로 디렉토리가 정렬되어 있어 쉽게 코드를 분석할 수 있었음."}),"\n",(0,l.jsxs)(e.li,{children:["Issue 가 있던 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/blob/e46202a4c00f5c685a02eca9392ddfc1305ac9a0/ui/src/app/help/components/help.tsx#L28C12-L28C12",children:"Code 부분"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["실수로 Commit 중에 Signed-off 옵션을 생략해서 DCO 봇 TEST에 통과 못했지만, GIt 에서 이전 커밋을 되돌리거나(",(0,l.jsx)(e.strong,{children:"Rebase"}),"),\n여러 불필요한 커밋을 하나로 합치는(",(0,l.jsx)(e.strong,{children:"Squash"}),") 기능을 알게되었고 이전 커밋을 돌려 ",(0,l.jsx)(e.code,{children:'git commit -S -s -m "Commit Message"'})," 커밋하였음."]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["‘",(0,l.jsx)(e.strong,{children:"LGTM"}),"’ 코멘트가 무슨뜻인가 찾아보았는데 구글에서는 LGTM이라는 태그를 달아 의사를 표현하는데 ",(0,l.jsx)(e.strong,{children:"Looks Good To Me"}),". 즉, 좋아 보인다는 뜻이라고 하여 뿌듯한 경험이었음."]}),"\n",(0,l.jsx)(e.li,{children:"버그를 찾아내거나 UI를 수정하는 등의 과정도 중요하지만, 가장 중요한 것은 Argo Workflow 생태계가 정한 규칙대로 컨트리뷰션을 수행하는 과정도 중요하다고 생각한다."}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"4. Argo Workflow Hackerton 참여 (Argo workflow - OSSCA 팀내에서 개최한 해커톤)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Pull Request(Merged) :"})," ",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"feat: Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Issue :"})," ",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해커톤 활동 기간"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"1차 해커톤 (해커톤 C조) : 23.08.16 - 23.08.20"}),"\n",(0,l.jsxs)(e.li,{children:["2차 해커톤 (해커톤 C조) : 23.08.20 - 23.08.27\n",(0,l.jsx)(d(),{alt:"hack1",placeholder:"blur",src:sy.Z}),"\n",(0,l.jsx)(d(),{alt:"hack2",placeholder:"blur",src:sD.Z})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"클러스터에 많은 수의 템플릿이 있는 경우 이름으로 검색하는 것이 좋지만, 검색기능이 없어 모든 템플릿을 스크롤하는 것은 항상 불편하다는 이슈"}),"\n",(0,l.jsx)(e.li,{children:"Argo Workflow UI 에서 워크플로우 템플릿의 결과를 이름별로 필터링하는 기능이 필요하다고 생각되어서 조끼리 회의한 결과로 이슈를 채택."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"역할"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Front-End 담당","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo workflow Template UI 의 검색 필드(Bar) 생성"}),"\n",(0,l.jsx)(e.li,{children:".get 로직을 분석하여 Name Pattern(Like 검색)을 어디로 넘겨주는지 분석"}),"\n",(0,l.jsx)(e.li,{children:"workflow-template 컴포넌트 디렉토리의 workflow-template-filter.tsx, workflow-template-list.tsx 수정"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"회의 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"회의는 Slack 해커톤 채널을 통해 조끼리 매일 의견과 정보를 공유"}),"\n",(0,l.jsx)(e.li,{children:"1차 논의 내용"}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"1. name 검색 기능 (backend)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 추가(LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 추가(LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 추가(LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"2. name 검색 기능 (frontend)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 ui 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 검색 사이드 바 추가 (name, label)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 ui 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"3. 페이지네이션 (frontend)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 기준 pagination"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • pagination 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • pagination 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"4. 테스트 코드 작성"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - name 검색 (LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 어떤 테스트 코드 작성해야하는지 더 분석 필요"})})]})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["2차 논의 내용","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"1차 오프라인 회의"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"hack3",placeholder:"blur",src:sC.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"1. 공동 커밋 방법"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • https://github.com/ArgoWorkflows-OSS/argo-workflows 레파지토리를 로컬에 클론받는다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 해당 레파지토리에 우리 팀이 작업할 브랜치를 생성한다. (`master` vs `release-3.4.10`)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 해당 레파지토리의 해당 브랜치에서 각자 담당한 기능을 작업한다. (PR올리기 위한 커밋 규칙을 잘 지켜서 커밋한다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 모두의 작업이 완료되면 3명중 1명이 PR 템플릿에 맞게 PR을 날리기"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 3명 모두가 컨트리뷰터가 될 수 있음"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"2. 해커톤이고 정해진 기간이 있기 때문에 일단 workflow-template, cluster-workflow, cron-workflow 중 먼저 메인이라고 생각되는 workflow-template name filter 를 먼저 구현해보고 PR을 날려 메인테이너가 Merge 해주면 다음으로 넘어가기로 결정"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 파트별 임무"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 백엔드"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server.go"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 이름 필터링 및 페이지네이션 재계산"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 프론트 :"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workfflow-template-filter.tsx"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name 검색 UI 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name 인자 수신 및 필터링"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template-list.tsx"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name state 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • userEffect list 에 name 전달"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template.tsx, Utils.tsx"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name 인자 전달"})})]})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"3차 논의 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"2차 오프라인 회의"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"hack4",placeholder:"blur",src:sN.Z})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 1. 오프라인 미팅 회의 내용"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • namespace 없는 경우도 필터 시 포함해야 할 것 같다는 의견. (namespace 없애자고 말 할 근거 부족 - 타 사이트(쿠버네티스 대시보드, 오픈시프트, 아르고씨디 등)들도 namespace 없는 경우 제공)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • continue에서 사용하고 있는 로직을 가져와 적용가능한지와 커스텀한 결과에서도 continue를 그대로 유지할 수 있는지에 대한 생각"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 수요일 밤까지 continue 로직 분석 후, continue를 사용하여 페이지네이션이 불가능 하다고 결론이 날 경우 이슈 코멘트에 질문 업로드"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 프론트단 페이지네이션(데이터 리로드 안됨, argocd에서 사용중인 방식) vs 서버단 페이지네이션(매번 전체 리스트 조회 후 페이지네이션, 부하 괜찮을지)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 서버사이드 캐싱 구현할 경우 저장할 곳이 있는지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 2. 페이지 넘길때마다 매번 네임스페이스, 라벨만 적용해서 k8s 전체검색 하는걸로 결정"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 3. offset 기반 페이지네이션 방법**에서 로직 추가로 구현"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 안됐던 부분"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • next page 버튼 클릭 후 필터링 검색했을 경우, 있는 검색 결과더라도 아무 데이터도 나오지 않는다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • next page 버튼 클릭 후 페이지네이션 갯수 늘리면, 검색결과가 제대로 보이지 않는다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 변경된 부분"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • continue 값을 서버에서 갱신해주다보니, 페이지 갯수를 늘리거나/필터링을 걸었을 때 서버에 이미 세팅된 continue값을 기준으로 페이지네이션을 해서 문제 존재,"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" continue 값을 프론트에서 넘겨주도록 변경하는 방식을 채택(페이지 갯수 늘리거나/필터링을 걸었을 때 continue를 다시 0으로 세팅)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 4. 페이지네이션 테스트"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server_test.go 통과"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • (workflow template 14개 등록)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • UI workflow template 첫 페이지 정상"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow template 페이지 limit 5, 10, 50 일 때 정상"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow template 페이지 1 페이지에서 workflow template 추가 후 2페이지 이동"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow template 페이지 1 페이지에서 workflow template 삭제 후 2페이지 이동"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 위 내용을 `name pattern` 필터링 검색으로 테스트"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name pattern 없이 검색 후 name pattern 추가하여 재검색"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name pattern 포함 검색 후 name pattern 삭제 후 재검색"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 5. PR 생성"})})]})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Like 필터(Name Pattern) 구현"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"예) sp로 시작하는 workflow-template 검색가능"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"filter1",placeholder:"blur",src:sA.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"결과"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"filter2",placeholder:"blur",src:sW.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"구현은 성공이였으며, 이후에는 이전에 논의했던 cluster-template, cron-template 컴포넌트들을 수정할 예정"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"5. 컨트리뷰션 활동 외 학습"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Google Kubernetes Study Jam 교육 수료"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://www.cloudskillsboost.google/public_profiles/7f855d64-3f2e-432a-9763-fde644b6af4b",children:"Badge"})})}),"\n",(0,l.jsx)(e.li,{children:"Architecting with Google Kubernetes Engine: Foundations(Earned 7월 18, 2023 EDT)"}),"\n",(0,l.jsx)(e.li,{children:"Architecting with Google Kubernetes Engine: Workloads(Earned 7월 26, 2023 EDT)"}),"\n",(0,l.jsx)(e.li,{children:"Architecting with Google Kubernetes Engine: Production(Earned 8월 4, 2023 EDT)"}),"\n",(0,l.jsxs)(e.li,{children:["정리한 내용은 개인 블로그(velog)에 기록\n",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@euijoo3233/series/GCP",children:"euijoo's Velog GCP Series"})})]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-13",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"참가후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"아카데미 이전에는 Argo CD에 대한 지식만 가졌지만, 이후에는 Argo Workflow 프로젝트에 대해 조사하고 분석하며 강력한 기능들을 어떻게 활용하면 좋을지 생각해볼 수 있는 레벨까지 도달할 수 있었음."}),"\n",(0,l.jsx)(e.li,{children:"처음 컨트리뷰션을 진행하면서 이슈를 생성하고 메인테이너들과 소통하며 부탁받은 사항에 대해 수정하고 PR을 생성하는 방식으로 진행하니 금방 코멘트가 달렸고 Merge 되는 성과를 달성."}),"\n",(0,l.jsx)(e.li,{children:"사소한 이슈일 수도 있지만, 기여하고자 하는 부분에대해 전체적인 분석이 필요하다고 느낀 경험이었음."}),"\n",(0,l.jsx)(e.li,{children:"이 뿐만이 아니라, 팀 내에서 자체적으로 이슈 해커톤을 진행하면서 UI 즉, 프론트 부분만이 아니라 백엔드 부분의 로직을 분석하며 Argo workflow가 내부에서 어떻게 상호작용하는지 분석할 수 있는 기회였음."}),"\n",(0,l.jsx)(e.li,{children:"우리조는 몸체가 큰 이슈여서 이에 맞춰 온라인 뿐만 아니라 오프라인 회의도 병행하며 진행한 결과 목표에 도달할 수 있었고, 두명의 인원은 현업에 종사하는 분들이여서 어려운 부분에 대해서는 친절히 설명해주셔서 유익한 경험이었음."}),"\n",(0,l.jsx)(e.li,{children:"계속해서 해커톤 팀원 혹은 전체 팀원들과 함께 소통하고 싶은 소망이 있음."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"앞으로의 계획"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"아직 OSSCA 기간이 끝나지 않았기 때문에 지속적으로 이슈를 탐색(Cluster-workflow-template, Cron-workflow 등)하거나, Argo Workflow 문서의 오타나 번역 오류를 발견하고 지속적으로 PR을 제출할 생각임"}),"\n",(0,l.jsx)(e.li,{children:"또한, OSSCA 기간이 끝난 이후에는 지금까지 정리해왔던 내용을 포트폴리오화 할 예정."}),"\n",(0,l.jsx)(e.li,{children:"토이프로젝트로 현재 진행중인 Argo Workflow를 활용한Data ETL 작업을 완료해볼 예정임."}),"\n",(0,l.jsx)(e.li,{children:"만약, 취업이 된다면 Argo Workflow의 많은 기능들을 현업에 도입하여 많은 인사이트를 창출하고 싶은 소망이 있음."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-12",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["Leeeuijooo"]}),"\n",(0,l.jsx)(e.h3,{id:"14-전의정",children:"14. 전의정"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-13",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ Contribution 관련 블로그 기록"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/series/2023-OSSCA",children:"시리즈 | 2023 OSSCA - ddubi.log"})}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ 다양한 과제 수행"})}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Github에서 issue/commit/PR 미션 수행"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 요약]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"mission1",placeholder:"blur",src:sS.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["멤버 프로필 업데이트 이슈를 선택하고 해당 repo를 나의 repo에 fork한 후 나의 repo에서 ",(0,l.jsx)(e.code,{children:"users.md"})," 와 ",(0,l.jsx)(e.code,{children:"[이름].md"}),"를 ",(0,l.jsx)(e.code,{children:"docs/user"}),"아래에 추가한다. 그 후 이슈를 연결해서 PR을 올리고 commit 하는 과제"]}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/19",children:"docs : 전의정 프로필 업데이트 by juijeong8324 \xb7 Pull Request #19 \xb7 ArgoWorkflows-OSS/ArgoWorkflows-OSS"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-2",children:"Github에서 issue/commit/PR"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Running Locally"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 요약]"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows를 local 환경에서 실행시키는 과제"}),"\n",(0,l.jsx)(e.li,{children:"Windows 환경에서 wsl2를 설치한 후 devcontainer cli를 이용하여 argo workflows 실행"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-3",children:"Argo Workflows 로컬에서 실행하기"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-4",children:"Argo Workflows 로컬에서 실행하기 - 재도전"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-5",children:"Argo Workflows 로컬에서 실행하기 - 파이널"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-6",children:"Argo Workflows 로컬에서 실행하기 - 최종 정리"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"3",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"왕초보 특별반 - 나만의 서비스 컨테이너 이미지 제작"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"mission2",placeholder:"blur",src:sP.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 요약]"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"왕초보 특별반은 Argo-worfklows 팀 내에서 컨테이너, 쿠버네티스, argo에 대해 잘 모르고 있는 뉴비들(It's me...)을 위한 특별반이다."}),"\n",(0,l.jsx)(e.li,{children:"나만의 웹서비스를 제작하고 이를 컨테이너화 할 수 있는 Dockerfile을 작성하는 과제"}),"\n",(0,l.jsx)(e.li,{children:"Dockerfile, docker, image, container와 관련된 개념을 이해하고 있어야 함"}),"\n",(0,l.jsx)(e.li,{children:"본인은 node.js, express 환경에서 웹서버 구축 후 dockerfile 작성"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/tree/main/juijeong8324",children:"과제 관련 코드"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-7",children:"왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/Docker-dockerfile",children:"[Docker] Dockerfile 기본 명령어에 대해 알아보자"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ 오프라인 참석"})}),(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.th,{align:"left",children:"날짜"}),(0,l.jsx)(e.th,{align:"left",children:"활동요약"})]})}),(0,l.jsxs)(e.tbody,{children:[(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.07.15"}),(0,l.jsxs)(e.td,{align:"left",children:["- 자기소개 ",(0,l.jsx)("br",{})," - (세미나) Argo workflows에 대한 소개 및 멘토님의 적용 사례"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.07.30"}),(0,l.jsxs)(e.td,{align:"left",children:["- 금주의 이슈 탐색 공유 ",(0,l.jsx)("br",{})," - 본인은 로컬 실행 문제 해결 중임을 언급 ",(0,l.jsx)("br",{})," - (세미나) 혜민님의 WebRtc, 수녕님의 keyclock과 argo worfklows 연동"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.08.13"}),(0,l.jsxs)(e.td,{align:"left",children:["- 왕초보 특별반 과제 피드백 받음 ",(0,l.jsx)("br",{})," - 금주의 이슈 탐색 공유 ",(0,l.jsx)("br",{})," - (세미나)멘토님의 컨테이너 역사와 원리 특강"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.08.20"}),(0,l.jsxs)(e.td,{align:"left",children:["- 금주의 이슈 탐색 공유 ",(0,l.jsx)("br",{})," - 본인은 Issue #11131에 대해 공유 ",(0,l.jsx)("br",{})," - (세미나) 다혜님의 ‘개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC’"]})]})]})]}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ Issue 탐색 및 Issue 생성"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11131",children:(0,l.jsx)(e.strong,{children:"Issue #11131"})})," ",(0,l.jsx)(e.code,{children:"버그수정"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[이슈 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:["workflow input parameter 안의 ",(0,l.jsx)(e.code,{children:'"'}),"가 escape 되지 않아 ",(0,l.jsx)(e.code,{children:"workflow.parameter.json"}),"으로 참조할 때 에러 발생"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsx)(e.p,{children:"Argo workflows 상의 문제가 아닌 파이썬 환경의 문제이기 때문에 해당 이슈는 기각"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/Argo-Issue11131",children:"Blog : Argo Workflows - Issue #11131"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:(0,l.jsx)(e.strong,{children:"Issue #11706"})})," ",(0,l.jsx)(e.code,{children:"UI 개선"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[이슈 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"issue 11706",placeholder:"blur",src:sR.Z}),"\ncron workflow 탭에서 각 workflow의 history를 확인할 수 있는 UI를 추가했으면 좋겠다는 이슈"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-11",children:"Blog : Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"PR #11811"})," Closes"]}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ PR open & merge"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11732",children:(0,l.jsx)(e.strong,{children:"PR #11732"})})," ",(0,l.jsx)(e.code,{children:"문서기여"})," ",(0,l.jsx)(e.code,{children:"PR Merge"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[PR 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:["Argo Workflows 공식문서에서 ",(0,l.jsx)(e.strong,{children:"Artifact Visualization"}),"에 존재하는 이미지가 유뷰트 영상 링크임을 잘 보여줄 수 있게 이미지를 수정하는 PR"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"pr1",placeholder:"blur",src:sF.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-13",children:"Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"result1_1",placeholder:"blur",src:sI.Z}),"\n위와 같이 이미지 가운데에 유튜브 재생 버튼을 추가한 이미지로 대체"]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"result1-2",placeholder:"blur",src:sM.Z}),"\nmerge 완료"]}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:(0,l.jsx)(e.strong,{children:"PR #11811"})})," ",(0,l.jsx)(e.code,{children:"UI개선"})," ",(0,l.jsx)(e.code,{children:"PR Open"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[PR 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"Issue #11706"})," 을 해결하고자 한 PR"]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"pr2",placeholder:"blur",src:sO.Z}),"\ncron workflows page에서 특정 cron-workflow를 클릭했을 때 실행된 cron-workflow를 확인할 수 있게 수정"]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"pr2_1",placeholder:"blur",src:sZ.Z}),"\n실행된 cron-workflow를 찾을 수 없는 경우 위와 같은 안내 사항을 표시"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsx)(e.p,{children:"Merge 완료"}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-14",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"사실 DevOps, 인프라 분야가 크게 와 닿지 않고 많이 생소한 분야였는데 Argo Workflows 프로젝트를 통해서 해당 분야에 대해 이전보다 좀 더 친숙해진 느낌을 받습니다."}),"\n",(0,l.jsx)(e.li,{children:"Docker, Container 등의 개념들을 이론적으로만 접하다가 직접 실습을 통해 익히고, 또 해당 개념들 이외에 새롭게 알게 된 것들(wsl의 존재..!)이 생기고 본인이 스스로 잘 모르고 지나쳤던 개념들(리눅스의 접근 권한, 네트워크 )도 다시 돌아보게 된 계기가 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"또한 처음으로 이슈를 생성해보는 성장을 하게 되었습니다. 이슈를 작성하는데 막연한 두려움을 갖고 있었는데 직접 작성하면서 해당 두려움을 부수게 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"그리고 기여를 할 수 있는 여러 방법이 있는데 내가 기여할 수 있는 부분을 하나씩 시도하는 것이 중요하다고 느꼈습니다. 처음에는 개인적인 욕심+해결하면서 배운다는 생각으로 인해 내가 잘 공감하지 못하는 이슈들 위주로 찾았는데, 이슈의 난이도와 상관없이 내가 직접 공감하는 이슈를 해결하면서 해당 레포에 대해 이해해야 함을 많이 깨달았던 시간이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"앞으로도 오픈소스 기여하는데에 즐길 수 있겠다는 기대를 갖게 됩니다!"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"계획"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 1단계"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": Argo Workflows에 대해서 적응하고 직접 알아가는 시간 / 간단한 기여"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": Repo의 TODO를 통해 문서 기여"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": UI 위주 개선"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 2단계"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": template,backend 위주 기여"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 3단계"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": 해결 하면 좋은 이슈 작성 후 기여"})})]})}),"\n",(0,l.jsx)(e.p,{children:"오픈소스 컨트리뷰션이 끝나도 멘토님께서도 정기적으로 모임을 계속 유지할 계획이시고 스스로도 이번 학기에는 Argo Workflows 레포에 적어도 한 달에 1개의 이슈라도 기여하겠다는 목표를 갖고 있습니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-13",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["juijeong8324"]}),"\n",(0,l.jsx)(e.h3,{id:"15-정성락",children:"15. 정성락"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-14",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"git/github 사용법 익히기"}),"\n",(0,l.jsx)(e.strong,{children:"issue"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"pr"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"요약"}),": opensource 생태계에서 code 형상 관리 핵심인 git/github와 친해지기 위한 작업",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용"}),":",(0,l.jsx)(e.br,{}),"\n","opensource의 상당수들은 git과 github를 이용해 협업을 하고 있습니다.",(0,l.jsx)(e.br,{}),"\n","그렇기에 opensource에 기여하기 위해서는 필연적으로 git/github와 친해져야합니다.",(0,l.jsx)(e.br,{}),"\n","git/github를 사용 issue 발행, commit 규칙 준수, pr 생성등 다양한것들을 직접해보는 활동이었습니다."]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"2",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"feat: logging for client-side throttling"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"issue"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11387",children:"#11387"}),", ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11402",children:"#11402"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"pr"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11437",children:"#11437"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"요약"}),": user가 특정 옵션을 잘못 설정한 경우 더 빠르게 파악 할 수 있도록 수정 ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용:"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.code,{children:"kubernetes"}),"와의 통신을 위해 ",(0,l.jsx)(e.code,{children:"client-go"}),"라는 라이브러리를 사용합니다. ",(0,l.jsx)(e.br,{}),"\n","해당 라이브러리에서는 ",(0,l.jsx)(e.code,{children:"request limit"}),"을 위해 ",(0,l.jsx)(e.code,{children:"--qps"}),", ",(0,l.jsx)(e.code,{children:"—burst"}),"옵션을 제공합니다. ",(0,l.jsx)(e.br,{}),"\n","이 옵션을 매우 낮게 설정한 경우 ",(0,l.jsx)(e.code,{children:"throttling"}),"이 발생하게 됩니다. ",(0,l.jsx)(e.br,{}),"\n","그렇기에 사용자에게 좀 더 빠르게 알려주기 위해 별도의 ",(0,l.jsx)(e.code,{children:"log level"})," 을 부여하게 되었습니다. ",(0,l.jsx)(e.br,{}),"\n","해당 이슈를 해결하는 과정에서 ",(0,l.jsx)(e.code,{children:"client-go"}),"에 대해 많이 학습하게 되었습니다. ",(0,l.jsx)(e.br,{}),"\n","특히 제일 유익했던 부분은 ",(0,l.jsx)(e.code,{children:"RoundTrip"}),"이었습니다. ",(0,l.jsx)(e.br,{}),"\n","golang에서 제공하는 ",(0,l.jsx)(e.code,{children:"http request interface"}),"를 지키는 모든 객체에 대해 ",(0,l.jsx)(e.code,{children:"RoundTrip"})," 을 이용해 미들웨어를 추가 할 수 있다는것을 배웠을땐 정말 충격이었습니다."]}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"3",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"go 1.21 upgrade"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"issue"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11556",children:"#11566"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"pr"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"#11601"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"요약"}),": golang 1.21 ver release에 따른 version upgrade 진행 ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용:"}),"\n리드멘티로서 이슈를 제가 해결하는것보단 아직 기여하지 못한 팀원이 시도해보면 좋을거라고 판단했습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue-report1",placeholder:"blur",src:sG.Z})}),"\n",(0,l.jsx)(e.p,{children:"해당 이슈를 팀원에게 공유했고, 팀원이 성공적으로 이슈를 해결 할 수 있도록 서포트 하게 되었습니다.\n주 1회 정기적인 모임에서 해당 이슈의 접근 방법을 공유하였습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue-report2",placeholder:"blur",src:sT.Z})}),"\n",(0,l.jsx)(e.p,{children:"평일의 경우엔 slack 채널에서 따로 질문을 받고 답변하는 식으로 모든 팀원이 PR을 제출하는 경험을 얻을 수 있도록 했습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue-report3",placeholder:"blur",src:sK.Z})}),"\n",(0,l.jsx)(e.p,{children:"팀원도 PR을 Merge하는 아주 소중한 경험을 얻게 되었습니다."}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"4",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Debugging 설정"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"요약:"})," 팀원의 argo-workflow debugging setting ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용:"})," ",(0,l.jsx)(e.br,{}),"\n","golang으로 개발을 처음하는 팀원을 위해 debugging 환경 설정에 어려움이 있었고, 이를 같이 해결하기위해 노력했습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"debug-1",placeholder:"blur",src:sE.Z})}),"\n",(0,l.jsx)(e.p,{children:"이 과정에서 저 역시 kubernetes와 밀접한 app의 debugging 설정을 잘하지 못한다는것을 깨닫게 되었고,\n해당 부분에 대해 여러 사람들에게 도움을 받아야겠다는 생각을 하게 되었습니다."}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-15",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"13주간의 ossa 참가는 정말이나 즐거운 경험이었습니다.\n3번의 지원 끝에 좋아하는 커뮤니티인 CNCF, 좋아하는 언어인 Golang으로 만들어진 프로젝트에 참여한다는게 정말 행복했습니다."}),"\n",(0,l.jsx)(e.li,{children:"ossca를 통해 CNCF 산하의 argo-workflow에 참여하면서 작더라도 CNCF의 생태계에 기여 할 수 있다는 것 자체가 저에게는 매우 행복한 시간이었습니다.\n특히 argo-workflow에서 운영하는 제도인 mentoring을 통해, maintainer와 빠르게 의사소통 할 수 있는 점은 beginner에겐 특히나 좋은 경험이라고 생각했습니다."}),"\n",(0,l.jsx)(e.li,{children:"argo-workflow의 mentoring 시스템을 통한 피드백으로 빠르게 PR 제출 과 merge를 통해 자신감과 좋은 경험을 얻었고 리드 멘티로서 모든 팀원에게 공유를 하고 싶었습니다.\n오픈소스 기여를 처음 접하는 팀원을 도와주면서 내가 당연히 여기던 부분이 처음 접하는 사람들에겐 얼마나 큰 진입 장벽인지 깨닫게 해주었고, beginner를 어떻게 더 안정적으로 생태계로 유입 시킬 수 있을지 고민을 하는 계기를 얻게 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"오픈소스 기여 활동 뿐만 아니라, Developer, DevOps, SRE 직무를 수행하는 팀원과 각각 직무를 수행하면서 사용하는 다양한 기술, 경험 공유를 통해 시야가 더 넓어지게 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"내년에도 기회가 된다면 꼭 ossa에 참가해 다양한 사람들과 오픈소스 기여 활동을 이어나가고 싶습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["이번 argo-workflow 프로젝트에 참여하면서 argo 진영의 프로젝트들에 많은 관심을 가지게 되었습니다.\n프로젝트에 참여하면서 개발자로서 부족한점을 확인 할 수 있었고 이를 개선할 생각입니다.\nossca가 종료 되더라도 CNCF 산하 오픈소스에 대한 기여는 계속 이어 나갈 생각입니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"argo-workflow"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"부족한 점"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"kubernetes operator에 대한 이해가 부족"}),"\n",(0,l.jsx)(e.li,{children:"frontend 지식에 대한 부재"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"추후 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"argo-workflow의 ui가 다른 argo project에 비해 많이 아쉬운데, 사용자의 피드백을 기반으로 개선을 시도해볼 생각입니다."}),"\n",(0,l.jsx)(e.li,{children:"area/artifact와 관련해서 더 다양한 스토리지를 사용할 수 있게 확장을 해보고 싶습니다."}),"\n",(0,l.jsx)(e.li,{children:"area/plugin과 관련해 현재 sidecar 형태로만 지원하는데, 외부에서 코드로 구현한 plugin을 더 쉽게 확장 가능하도록 구현할 생각입니다."}),"\n",(0,l.jsx)(e.li,{children:"document에서 beginner에게 난해한 부분을 고민해보며 개선을 진행하고 싶습니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인적 성장"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"부족한 점"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"여러 회사의 멤버들과 대화를 하면서 스스로가 생각하기에 서비스를 개발하고 안정적으로 유지하는 관점이 부족"}),"\n",(0,l.jsx)(e.li,{children:"지식 전달을 위한 의사소통에 어려움."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"추후 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"전달하고자 하는 지식을 어떻게 정리하고 말해야 하는지 연구 할 생각입니다."}),"\n",(0,l.jsx)(e.li,{children:"많은 사람들과 대화하며 생각을 공유하고 타성에 젖지 않게 노력 할 생각입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-14",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["Jack-R-lantern"]}),"\n",(0,l.jsx)(e.h3,{id:"16-채문영",children:"16. 채문영"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-15",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"다양한 과제 수행"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Github Issue/Commit/PR 미션 수행","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"대형 오픈소스에 컨트리뷰트하기 위한 깃허브 사용 방법 숙지"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44"})}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Argo Workflow Running Locally","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflow를 Local 환경에서 실행시키는 과제"}),"\n",(0,l.jsx)(e.li,{children:"Argo Workflow의 구조, DevContainer, 컨테이너 기반 애플리케이션, Makefile 구조 이해"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["나만의 서비스 컨테이너 이미지 제작","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Docker File 명령어, 레이어 구조, 최적화, 캐싱 등 성능 개선"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23"})}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"이슈 분석"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["매트릭 이슈 분석","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Github Reaction이 많은 이슈로 많은 사용자들이 개선을 필요로 하는 이슈 분석","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"매트릭 Label의 추가하여, 모니터링 편의성 증대"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["이슈 분석 결과, 해당 내용을 개발했을 때 또 다른 문제를 야기할 수 있다는 것을 발견","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"매트릭 Label을 추가할 경우, 많은 양의 메트릭이 수집되어 기존 사용자들에게 많은 양의 메트릭 트래픽이 유입되어 성능 문제가 생길 수 있다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["우회하여 해결할 수 있는 방법을 제시하고 소통함","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"커스텀 매트릭을 활용할 경우 이슈에서 요구했던 모니터링이 가능함을 확인하여, 우회하여 해결할 수 있는 방법 제시"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337",children:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["추후 개선을 위해 남겨놓은 주석에 모호한 부분이 있어 문의","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745",children:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"이슈 해커톤으로 이슈 분석"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"컨트리뷰트"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["(리팩토링) 잘못된 함수 이름, 변수명 등 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"다른 개발자에게 혼란을 야기할 수 있는 부분을 수정했음"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11604",children:"https://github.com/argoproj/argo-workflows/pull/11604"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11633#event-10138490619",children:"https://github.com/argoproj/argo-workflows/pull/11633"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11687",children:"https://github.com/argoproj/argo-workflows/pull/11687"})}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-16",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"대형 오픈소스 커뮤니티에 기여하고 싶었으나, 막막함이 컸다. 이번 아카데미를 통해 직접 기여할 수 있어 좋았다. 기여 경험이 많은 멘티님이 기여할 수 있도록 단계별로 안내해주고,\n도전할 수 있게끔 유도해주어서 가능했다. 다른 개발자와 기술 세미나를 하고 기술 교류를 하며, 상호 성장할 수 있었다. ArgoWorkflow는 큰 규모의 프로젝트이기 때문에 혼자 분석하면\n어려운 부분이 많은데, 다른 개발자와 의견을 나누어 좀 더 빠르게 문제를 해결할 수 있었다. ArgoWorkflow 프로젝트를 어느 정도 이해했고, 작은 컨트리뷰트 경험을 통해 자신감이\n생겼기 때문에 다음 기여는 더 쉽게 할 수 있으리라 기대된다. 이번 프로그램이 끝난 후에도 ArgoWorkflow에 관심이 많은 다른 멘티들과 서로 협업하며 더 큰 규모의 기여를 할 계획이다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-15",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["moonyoungCHAE"]}),"\n",(0,l.jsx)(e.h3,{id:"17-최수녕",children:"17. 최수녕"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-16",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11344",children:"Issue #11344"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11662",children:"PR #11662"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsxs)(e.p,{children:["이 이슈를 이해하기 위해서는 먼저 ",(0,l.jsx)(e.a,{href:"https://argoproj.github.io/argo-workflows/default-workflow-specs",children:"Default Workflows"}),"가 무엇인지를 알아야 했습니다."]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"argo workflows controller configmap"}),"에 ",(0,l.jsx)(e.code,{children:"workflowDefaults"})," 라는 필드는 넣어 워크플로에 대한 기본값을 설정할 수 있으며, 워크플로에 이미 해당 필드값이 있을 경우에는 워크플로 값이 우선된다는 것을 알게되었습니다."]}),(0,l.jsxs)(e.p,{children:["예를 들어 ",(0,l.jsx)(e.code,{children:"configmap"}),"을 다음과 같이 설정한 뒤에 ",(0,l.jsx)(e.code,{children:"Workflows"}),"를 생성하면"]}),(0,l.jsx)(e.pre,{"data-language":"yaml","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"yaml","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"# This file describes the config settings available in the workflow controller configmap"})}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"v1"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"ConfigMap"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"name"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflow-controller-configmap"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"data"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"workflowDefaults"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" metadata:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" annotations:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" argo: workflows"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" labels:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" foo: bar"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" spec:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" ttlStrategy:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" secondsAfterSuccess: 5"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" parallelism: 3"})})]})}),(0,l.jsxs)(e.p,{children:["자동으로 ",(0,l.jsx)(e.code,{children:"workflowDefaults"})," 필드에 설정해준 대로 Workflows가 아래와 같이 생성됩니다."]}),(0,l.jsx)(e.pre,{"data-language":"yaml","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"yaml","data-theme":"default",children:[(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"argoproj.io/v1alpha1"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Workflow"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"generateName"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"gc-ttl-"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"annotations"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"argo"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflows"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"labels"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"foo"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"bar"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"spec"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"ttlStrategy"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"secondsAfterSuccess"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"# Time to live after workflow is successful"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"parallelism"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"})]})]})}),(0,l.jsxs)(e.p,{children:["해당 이슈는 ",(0,l.jsx)(e.code,{children:"workflowDefaults"}),"에 ",(0,l.jsx)(e.code,{children:"volumeClaimTemplates"})," 값을 넣으면, ",(0,l.jsx)(e.code,{children:"CronWorflows/Workflows"})," 생성 시 에러가 발생한다는 이슈였습니다."]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"does not contain declared merge key: name"})," 라는 에러메세지가 발생하는 것을 확인했습니다."]}),(0,l.jsxs)(e.p,{children:["코드를 확인해보니 ",(0,l.jsx)(e.code,{children:"StrategicMergePatch"})," 함수에서 에러가 발생했고 이는 쿠버네티스의 ",(0,l.jsx)(e.code,{children:"patch"})," 전략과 관계가 있었습니다."]}),(0,l.jsx)(e.pre,{"data-language":"go","data-theme":"default",children:(0,l.jsx)(e.code,{"data-language":"go","data-theme":"default",children:(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"VolumeClaimTemplates []apiv1.PersistentVolumeClaim "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"volumeClaimTemplates,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,opt,name=volumeClaimTemplates"`'})]})})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Workflows"}),"에서 정의되어있는 타입인 ",(0,l.jsx)(e.code,{children:"VolumeClaimTemplates"}),"는 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"로 name을 사용하도록 정의되어있었습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 아래 ",(0,l.jsx)(e.code,{children:"PersistentVolumeClaim"}),"타입을 확인해보면 ",(0,l.jsx)(e.code,{children:"name"}),"은 존재하지 않습니다. 즉, 구조체에 정의되어있지 않은 값을 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"로 정의해두어서 발생하는 문제였습니다."]}),(0,l.jsx)(e.pre,{"data-language":"go","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"go","data-theme":"default",children:[(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"PersistentVolumeClaim"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"struct"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.TypeMeta "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:",inline"`'})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Standard object's metadata."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.ObjectMeta "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`'})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:" "}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// spec defines the desired characteristics of a volume requested by a pod author."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Spec PersistentVolumeClaimSpec "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`'})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:" "}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// status represents the current information/status of a persistent volume claim."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Read-only."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Status PersistentVolumeClaimStatus "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`'})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"VolumeClaimTemplates"}),"에서 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"를 제거하도록 해당 이슈를 수정하였습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 ",(0,l.jsx)(e.code,{children:"VolumeClaimTemplates"}),"에 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"가 붙은 이유는 Volume과 같은 컨벤션을 사용하고 있어서 였습니다."]}),(0,l.jsx)(e.p,{children:"해당 이슈는 이처럼 정책과 관련되어있기 때문에 더 많은 의논이 필요한 상황입니다."}),(0,l.jsx)(e.p,{children:"ArgoWorkflows 프로젝트에 처음으로 올린 PR이었고 꽤나 많은 사람들이 불편해하고 있는 이슈의 원인을 찾아낼 수 있어서 기뻤습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. Search by name for WorkflowTemplates in UI"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsx)(e.p,{children:"이번 이슈는 3명으로 팀을 짜서 작업을 진행했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"HackertonC",placeholder:"blur",src:sq.Z})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"WorkflowTemplates"}),"는 '이름'을 기준으로 검색하는 기능이 존재하지 않아 특정 ",(0,l.jsx)(e.code,{children:"WorkflowTemplates"}),"을 찾기 위해서는 ",(0,l.jsx)(e.code,{children:"label"}),"을 기준으로만 찾을 수 있었습니다."]}),(0,l.jsx)(e.p,{children:"그래서 많은 사용자들은 불편함을 느끼고 있었으며 '이름'을 기준으로 찾을 수 있는 기능을 제공해줬으면 좋겠다는 '기능 개선' 관련 이슈였습니다."}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"namePattern",placeholder:"blur",src:sU.Z})}),(0,l.jsxs)(e.p,{children:["쿠버네티스 API를 통해 조회된 ",(0,l.jsx)(e.code,{children:"WorkflowTemplates"}),"의 결과를 '이름'을 기준으로 필터링하는 로직을 추가적으로 넣어 해당 기능을 구현하였습니다."]}),(0,l.jsx)(e.p,{children:"그러나 한가지 이슈가 존재했습니다."}),(0,l.jsx)(e.p,{children:"기존 페이지네이션은 쿠버네티스 자체 continue 값을 이용해 구현되어있어서 쿠버네티스 결과를 이처럼 커스텀하게 조작할 경우 쿠버네티스 페이지네이션을 사용할 수 없었습니다."}),(0,l.jsxs)(e.p,{children:["이를 어떻게 해결해야 할까 고민이 많았지만 쿠버네티스의 ",(0,l.jsx)(e.code,{children:"resourceVersion"}),"을 이용하여 커서 페이지네이션을 하도록 구현하는 로직을 적용함으로써 해당 문제를 해결하였습니다."]}),(0,l.jsx)(e.p,{children:"혼자가 아니라 여럿이 의논하며 할 수 있어서 너무 재미있었습니다."}),(0,l.jsx)(e.p,{children:"또한 ArgoWorkflows 프로젝트에 정말 필요한 기능을 제공했다고 생각하여 기분이 좋았습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"3. A problem that is not initialized when changing the number of page limits"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11702",children:"Issue #11702"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11703",children:"PR #11703"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Search by name for WorkflowTemplates in UI"})," 이슈를 해결하면서 새로운 페이지네이션 버그를 발견하였습니다."]}),(0,l.jsxs)(e.p,{children:["페이지 갯수를 변경할 때 페이지네이션을 위해 사용하는 ",(0,l.jsx)(e.code,{children:"continue"})," 값을 UI에서 초기화 시켜주지 않아서 데이터가 제대로 보이지 않는 문제였습니다."]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsxs)(e.p,{children:["UI 코드에서 페이지 갯수 변경이 감지될 때 ",(0,l.jsx)(e.code,{children:"offset"}),"을 초기화 하도록 간단하게 로직을 수정하여 문제를 해결할 수 있었습니다."]}),(0,l.jsx)(e.p,{children:"단 한줄의 코드 수정이었으나 이 한 줄로 인해 꽤나 불편함을 주었던 문제를 해결할 수 있었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"4. Pagination may not work correctly for archived workflows"})}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11715",children:"Issue #11715"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11761",children:"PR #11761"})]}),(0,l.jsx)(e.p,{children:"Maintainer @terrytangyuan 님께서 직접 Slack으로 연락을 주신 이슈입니다."}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"Slack",placeholder:"blur",src:sL.Z}),"\n",(0,l.jsx)(d(),{alt:"Github",placeholder:"blur",src:s_.Z})]}),(0,l.jsx)(e.p,{children:"좋아하는 연예인에게 연락받은 기분이라 너무 기분이 좋아서 날아갈 뻔 했습니다. 기쁘고 들뜨는 마음을 누르고 이슈를 분석해보았습니다."}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Workflows"}),"와 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 이전에는 다른 페이지로 분리되어있었지만 ",(0,l.jsx)(e.code,{children:"master"})," 버전부터 ",(0,l.jsx)(e.code,{children:"Workflows"}),"와 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"를 하나의 페이지로 합치고 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 존재한다면 같이 보여주도록 로직이 수정되었습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 ",(0,l.jsx)(e.code,{children:"Workflows"}),"와 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 하나로 합쳐지면서 페이지네이션에서 문제가 발생했습니다."]}),(0,l.jsxs)(e.p,{children:["두 개의 리소스는 서로 전혀 다른 페이지네이션을 사용하도 있었습니다. ",(0,l.jsx)(e.code,{children:"Workflows"}),"는 쿠버네티스 자체 페이지네이션인 ",(0,l.jsx)(e.code,{children:"continue"}),"값을 사용하고 있었고, ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"는 자체적으로 데이터베이스를 사용하기 때문에 데이터베이스를 이용하여 ",(0,l.jsx)(e.code,{children:"offset"})," 방식으로 페이지네이션을 하고 있었습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"에 ",(0,l.jsx)(e.code,{children:"Workflows"}),"에서 사용하는 ",(0,l.jsx)(e.code,{children:"continue"}),"값을 그대로 전달하면서 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 아예 조회되지 않는 문제가 발생했습니다."]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Search by name for WorkflowTemplates in UI"})," 이슈를 해결하면서 구현했던 페이지네이션 로직을 참고하여 해당 이슈를 해결할 수 있었습니다."]}),(0,l.jsx)(e.p,{children:"두 리소스는 다른 방법의 페이지네이션을 사용할 수 밖에 없기 때문에 두 개의 리소스를 합치기 전에 페이지네이션을 사용하는 것이 아닌, 일단 전체 리소스를 조회하여 두 리소스를 합친 후에 마지막으로 페이지네이션 로직을 적용하는 방법을 사용하였습니다."}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 조회되지 않는 문제를 해결할 수 있었으나 페이지를 변경할 때마다 전체 리스트를 가져와 합치기까지 하는 것이 성능상 걱정이 되는 부분이라 성능 테스트를 할 수 있는 방법을 고민해볼 생각입니다."]}),(0,l.jsx)(e.p,{children:"성능테스트를 해본 뒤 아니다싶으면 프론트에서 페이지네이션을 하는 방식으로 변경해볼 생각입니다."}),(0,l.jsx)(e.p,{children:"크리티컬한 이슈를 해결할 수 있어서 너무 좋았고 ArgoWorkflows 프로젝트에 컨트리뷰터로써 제대로 기여를 하고 있다는 생각이 들어 뿌듯하고 재밌었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"5. Relocation of Commit Guidelines Information in the Documentation"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11700",children:"Issue #11700"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11701",children:"PR #11701"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsx)(e.p,{children:"ArgoWorkflows 프로젝트에는 컨트리뷰션을 시도하는 개발자들을 위한 리드미 문서가 있습니다."}),(0,l.jsx)(e.p,{children:"하지만 그곳에는 커밋에 관한 가이드라인이 따로 언급되어있지 않습니다."}),(0,l.jsx)(e.p,{children:"GeunSam2 멘토님께서 본인이 처음 기여를 시도하려고 했을 때 커밋에 대한 가이드라인을 찾는데 너무 오래 걸려서 불편했다고 말해주셨습니다."}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"ContributingDocs",placeholder:"blur",src:sH.Z})}),(0,l.jsx)(e.p,{children:"이 불편사항을 들은 후 컨트리뷰션 리드미에 커밋에 대한 가이드라인의 링크를 걸어주도록 수정함으로써 ArgoWorkflows에 기여하고자 하는 개발자들이 편하게 기여할 수 있도록 하였습니다."}),(0,l.jsx)(e.p,{children:"이 PR에서는 메인테이너가 코드 제안을 해주었는데 코드 제안 기능을 처음 접해보아서 흥미롭고 재밌었습니다."})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-17",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"이번년도에 가장 잘 한 일이 무엇인지 묻는다면, 아무 망설임도 없이 ArgoWorkflows 프로젝트 컨트리뷰션 활동에 참여한 것이라고 이야기 할 것입니다."}),"\n",(0,l.jsx)(e.p,{children:"같은 분야에 있는 다양한 개발자들을 만나서 서로 공감대를 형성하며 이야기하는 것이 너무 좋았고 다양한 회사에 대한 이야기를 듣는것이 참 재밌었습니다."}),"\n",(0,l.jsx)(e.p,{children:"매주 모임마다 그저 모각코를 하는 것이 아니라 멘티들과 멘토님이 매번 좋은 세미나를 진행해주셔서 매주 일요일이 참 즐겁고 시간이 빨리갔습니다."}),"\n",(0,l.jsx)(e.p,{children:"또한 너무 능력있는 멘토님을 만나 평소에 주니어 개발자로서 고민되었던 부분, 앞으로의 방향성, 개발자로서 잘 공부하는 방법에 대한 조언들을 들을 수 있어서 행복했습니다."}),"\n",(0,l.jsx)(e.p,{children:"평소 컨트리뷰션에 도전해보고싶었지만, 이런 큰 프로젝트에 어떻게 기여를 하나 두려워서 시도하지 않았던 부분들을 이렇게 좋은 멘티들과 멘토님과 같이 부딪혀보니 두려움이 사라졌습니다."}),"\n",(0,l.jsx)(e.p,{children:"많은 PR을 올려보면서 메인테이너들과 소통하는 것도 너무 재미있었고 실제 나의 코드가 반영되는 것을 지켜보는게 정말 뿌듯했습니다."}),"\n",(0,l.jsx)(e.p,{children:"이번 경험으로 인해 ArgoWorkflows 뿐만 아니라 다른 프로젝트에도 충분히 기여할 수 있겠다는 자신감이 생겼습니다."}),"\n",(0,l.jsx)(e.p,{children:"이 기간이 끝난다고 컨트리뷰션을 멈출 생각은 없습니다. 앞으로도 ArgoWorkflows를 꾸준히 보면서 기여하고 싶은 부분에 기여할 생각입니다. 또한 ArgoWorkflows 뿐만 아니라 회사에서 사용하는 Kubernetes나 Argo CD 프로젝트에도 기여해보고 싶어서 도전해볼 생각입니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-16",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["sunyeongchoi"]})]})}e.default=(0,r.j)(sJ)}},function(s){s.O(0,[376,762,674,774,888,179],function(){return s(s.s=6210)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/reports/fianlReportKo-b575864cfc3418c6.js b/_next/static/chunks/pages/2023/activites/reports/fianlReportKo-b575864cfc3418c6.js deleted file mode 100644 index 5b7f5c5e..00000000 --- a/_next/static/chunks/pages/2023/activites/reports/fianlReportKo-b575864cfc3418c6.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[437],{6210:function(s,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/reports/fianlReportKo",function(){return n(1942)}])},1942:function(s,e,n){"use strict";n.r(e);var l=n(5893),r=n(2673),i=n(4984),o=n(979);n(9966);var c=n(1151),h=n(5675),d=n.n(h),t=n(4987),a=n(8008),x=n(3917),j=n(2154),p=n(94),u=n(480),g=n(5514),k=n(4381),m=n(8904),w=n(7727),f=n(525),b=n(8189),v=n(3434),y=n(1916),D=n(5245),C=n(4877),N=n(2583),A=n(3441),W=n(7367),S=n(6428),P=n(2107),R=n(4004),F=n(1022),I=n(7799),O=n(3880),M=n(2942),Z=n(8010),G=n(9937),T=n(9501),K=n(8050),E=n(2648),q=n(6213),U=n(513),L=n(8556),_=n(9772),H=n(7163),Y=n(2562),J=n(252),V=n(2359),B=n(628),z=n(9569),X=n(7430),Q=n(8801),$=n(1352),ss=n(2424),se=n(534),sn=n(4788),sl=n(3523),sr=n(8083),si=n(178),so=n(6455),sc=n(8240),sh=n(1057),sd=n(310),st=n(6359),sa=n(9),sx=n(6838),sj=n(1802),sp=n(5739),su=n(5531),sg=n(1931),sk=n(6406),sm=n(9417),sw=n(9083),sf=n(301),sb=n(4817),sv=n(6288),sy=n(7574),sD=n(9376),sC=n(8578),sN=n(8973),sA=n(7132),sW=n(2431),sS=n(9797),sP=n(7682),sR=n(207),sF=n(5357),sI=n(4405),sO=n(5655),sM=n(4005),sZ=n(7149),sG=n(7041),sT=n(5309),sK=n(8456),sE=n(101),sq=n(7725),sU=n(1015),sL=n(4012),s_=n(2482),sH=n(3782),sY=n(555);let sJ={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,c.ah)(),s.components);return e?(0,l.jsx)(e,{...s,children:(0,l.jsx)(sV,{...s})}):sV(s)},pageOpts:{filePath:"pages/2023/activites/reports/fianlReportKo.mdx",route:"/2023/activites/reports/fianlReportKo",headings:[{depth:2,value:"TL;TR",id:"tltr"},{depth:2,value:"☑️ 팀 소개",id:"️-팀-소개"},{depth:2,value:"☑️ ArgoWorkflows 소개",id:"️-argoworkflows-소개"},{depth:2,value:"☑️ 주요 성과",id:"️-주요-성과"},{depth:3,value:"UI/UX 개선",id:"uiux-개선"},{depth:3,value:"핵심 기능 개선",id:"핵심-기능-개선"},{depth:3,value:"메인테이너 그룹과의 긴밀한 소통",id:"메인테이너-그룹과의-긴밀한-소통"},{depth:2,value:"☑️ 컨트리뷰션 아카데미 진행 과정과 활동 내역",id:"️-컨트리뷰션-아카데미-진행-과정과-활동-내역"},{depth:3,value:"GIT알못에서 오픈소스 컨트리뷰터가 될 때 까지",id:"git알못에서-오픈소스-컨트리뷰터가-될-때-까지"},{depth:3,value:"GIT 사용 연습을 위한 REPO 생성 및 기여 활동 진행",id:"git-사용-연습을-위한-repo-생성-및-기여-활동-진행"},{depth:3,value:"컨테이너 기초 특별반 운영",id:"컨테이너-기초-특별반-운영"},{depth:3,value:"팀내 이슈 해커톤 개최 및 진행",id:"팀내-이슈-해커톤-개최-및-진행"},{depth:3,value:"Argo Workflows 컨트리뷰터 / 커뮤니티 정기 미팅 참여",id:"argo-workflows-컨트리뷰터--커뮤니티-정기-미팅-참여"},{depth:3,value:"Argo Workflows OSS 팀 페이지 생성 및 운영",id:"argo-workflows-oss-팀-페이지-생성-및-운영"},{depth:3,value:"매주 최소 1회 이상 오프라인 모임활동 진행",id:"매주-최소-1회-이상-오프라인-모임활동-진행"},{depth:2,value:"☑️ 참가자 기여 내용 상세",id:"️-참가자-기여-내용-상세"},{depth:3,value:"0. 염근철(멘토)",id:"0-염근철멘토"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기"},{depth:3,value:"1. 강병선",id:"1-강병선"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-1"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약"},{depth:3,value:"2. 강시온",id:"2-강시온"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-1"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-2"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-1"},{depth:3,value:"3. 권영길",id:"3-권영길"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-2"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-3"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-2"},{depth:3,value:"4. 김수빈",id:"4-김수빈"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-3"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-4"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-3"},{depth:3,value:"5. 김학준",id:"5-김학준"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-4"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-5"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-4"},{depth:3,value:"6. 박진수",id:"6-박진수"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-5"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-6"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-5"},{depth:3,value:"7. 서청운",id:"7-서청운"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-6"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-7"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-6"},{depth:3,value:"8. 송혜민",id:"8-송혜민"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-7"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-8"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-7"},{depth:3,value:"9. 안다혜",id:"9-안다혜"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-8"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-9"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-8"},{depth:3,value:"10. 안지완",id:"10-안지완"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-9"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-10"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-9"},{depth:3,value:"11. 유윤우",id:"11-유윤우"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-10"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-11"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-10"},{depth:3,value:"12. 이병곤",id:"12-이병곤"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-11"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-12"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-11"},{depth:3,value:"13. 이의주",id:"13-이의주"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-12"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-13"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-12"},{depth:3,value:"14. 전의정",id:"14-전의정"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-13"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-14"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-13"},{depth:3,value:"15. 정성락",id:"15-정성락"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-14"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-15"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-14"},{depth:3,value:"16. 채문영",id:"16-채문영"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-15"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-16"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-15"},{depth:3,value:"17. 최수녕",id:"17-최수녕"},{depth:4,value:"\uD83C\uDF3F 개인 성과 보고",id:"-개인-성과-보고-16"},{depth:4,value:"\uD83C\uDF35 참가 후기",id:"-참가-후기-17"},{depth:4,value:"\uD83C\uDF35 기여 요약",id:"-기여-요약-16"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Fianlreportko"},pageNextRoute:"/2023/activites/reports/fianlReportKo",nextraLayout:i.ZP,themeConfig:o.Z};function sV(s){let e=Object.assign({h2:"h2",p:"p",a:"a",strong:"strong",h3:"h3",blockquote:"blockquote",ul:"ul",li:"li",code:"code",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",em:"em",pre:"pre",span:"span",hr:"hr",h4:"h4",details:"details",summary:"summary",ol:"ol",br:"br"},(0,c.ah)(),s.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(e.h2,{id:"tltr",children:"TL;TR"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"#contribute-info",children:"기여 내용 전체 보러가기"})}),"\n",(0,l.jsx)(e.h2,{id:"️-팀-소개",children:"☑️ 팀 소개"}),"\n",(0,l.jsx)(e.p,{children:"ArgoWorkflows OSS 2023팀은 1명의 멘토와, 17명의 멘티의 구성으로 총 18명이 한 팀으로 활동하였습니다."}),"\n",(0,l.jsxs)(e.p,{children:["오픈소스에 대한 진입장벽을 느끼는 ",(0,l.jsx)(e.strong,{children:"주니어 개발자들과 선배 개발자가 함께 힘을 모아 컨트리뷰션"}),"을 하는 멋진 행사인\n",(0,l.jsx)(e.a,{href:"https://www.contribution.ac/2023-ossca",children:"오픈소스 컨트리뷰션 아카데미"}),"의 도움으로 팀이 구성되었으며, ",(0,l.jsx)(e.strong,{children:"2023년 07월 ~ 10월까지 약 4개월 간"})," 활동하였습니다."]}),"\n",(0,l.jsx)(e.p,{children:"Git 사용법이 익숙하지 않았던 걸음마 단계부터 시작해서, 어엿한 오픈소스 컨트리뷰터가 될 때까지 저희팀이 이룬 성과를 공유합니다."}),"\n",(0,l.jsx)(e.h2,{id:"️-argoworkflows-소개",children:"☑️ ArgoWorkflows 소개"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"argoDag",placeholder:"blur",src:t.Z})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Argo Workflows"}),"는 컨테이너를 기반으로 한 워크플로우 엔진으로, 병렬 작업을 쿠버네티스에서 실행할 수 있는 오픈소스 프로젝트입니다.\n각 워크플로우 단계가 컨테이너로 정의되며, 여러 단계의 워크플로우를 일련의 작업으로 모델링하거나, 작업 간의 종속성을 DAG (Directed Acyclic Graph)를 사용하여 실행할 수 있습니다."]}),"\n",(0,l.jsxs)(e.p,{children:["즉, Argo Workflows를 사용하면 ",(0,l.jsx)(e.strong,{children:"간단한 워크플로 형태의 작업"})," 부터, ",(0,l.jsx)(e.strong,{children:"머신러닝"})," 또는 ",(0,l.jsx)(e.strong,{children:"데이터 처리를 위한 복잡한 작업 까지"})," ",(0,l.jsx)(e.strong,{children:"쿠버네티스"}),"에서 더 빠르고 쉽게 수행할 수 있게 됩니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"argo_0",placeholder:"blur",src:a.Z})}),"\n",(0,l.jsxs)(e.p,{children:["Argo Workflows는 ",(0,l.jsx)(e.strong,{children:"Cloud Native Computing Foundation"})," (CNCF)에서 ",(0,l.jsx)(e.strong,{children:"졸업에 성공한 프로젝트"}),"입니다."]}),"\n",(0,l.jsxs)(e.p,{children:["졸업 프로젝트가 되기 위해선 엄격한 표준을 충족하기 위해 CNCF가 실시하는 ",(0,l.jsx)(e.strong,{children:"모든 테스트를 통과"}),"해야 합니다.\n즉, 졸업 프로젝트로 인정 받았다는 것은 Argo가 명확한 거버넌스 및 커미터 프로세스, 건전한 성장, 보안 및 컴플라이언스 준수에 대한 ",(0,l.jsx)(e.strong,{children:"최고 수준을 충족"}),"한다는 것을 의미합니다.\n그 엄격한 기준으로 인해 CNCF에 등록된 프로젝트 중 졸업에 성공한 프로젝트는 ",(0,l.jsx)(e.strong,{children:"약 13%에 불과"}),"합니다."]}),"\n",(0,l.jsxs)(e.p,{children:["실제로 Argo 프로젝트가 졸업 프로젝트로 인정 받기까지 약 5년이라는 기간동안 ",(0,l.jsx)(e.strong,{children:"7000명이 넘는 컨트리뷰터"}),"와 ",(0,l.jsx)(e.strong,{children:"11000개가 넘는 PR"}),", ",(0,l.jsx)(e.strong,{children:"37만이 넘는 컨트리뷰션"}),"이 필요했습니다."]}),"\n",(0,l.jsxs)(e.p,{children:["뿐만 아니라, Argo 프로젝트는 현재에도 ",(0,l.jsx)(e.strong,{children:"2300여개의 회사"}),"들이 코드에 기여하고 있고 ",(0,l.jsx)(e.strong,{children:"8300여명이 코드"}),"에 컨트리뷰트 하고 있는 ",(0,l.jsx)(e.strong,{children:"매우 활발하고 최신화된 오픈소스"}),"입니다."]}),"\n",(0,l.jsxs)(e.p,{children:["이로 인해 Argo Workflows는 클라우드 네이티브 커뮤니티에서 ",(0,l.jsx)(e.strong,{children:"가장 대표적인 워크플로우 엔진"}),"으로 인정받고 있습니다."]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"전 세계적으로 수 많은 기업들"}),"이 ",(0,l.jsx)(e.strong,{children:"공식적으로"})," Argo Workflows를 도입해 사용하고 있습니다.\n이는 Argo Workflows가 큰 규모의 기업에서도 실제 작업 부하의 문제를 해결 할 수 있다는 강력한 증거입니다."]}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows를 사용하는 대표적인 기업들은 다음과 같습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"companys",placeholder:"blur",src:x.Z})}),"\n",(0,l.jsxs)(e.p,{children:["… 외 200개가 넘는 ",(0,l.jsx)(e.strong,{children:"글로벌 기업"}),"들"]}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows와 비슷한 도구로는 Apache Airflow, Tekton, Prefect 등이 있습니다."}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows는 Kubernetes-native 엔진으로, 컨테이너 기반 워크플로우를 쉽게 조정하고 자원을 관리할 수 있습니다.\n이는 비슷한 도구인 Apache Airflow와 비교했을 때 주요한 차이점 중 하나로, Apache Airflow는 독립 실행 애플리케이션이며, Kubernetes의 기능을 본질적으로 활용하지 않습니다.\n따라서 Airflow는 자원 관리와 확장성이 Argo Workflows보다 더 어려울 수 있습니다."}),"\n",(0,l.jsxs)(e.p,{children:["또한, Argo Workflows는 각 워크플로우 단계를 독립적인 컨테이너로 실행하기 때문에, 데이터 파이프라인 뿐만 아니라 CI/CD와 같은 다양한 작업을 수행할 수 있습니다.\n이는 Docker와 Kubernetes의 강력함을 활용하여 가능한 것이며, 이를 통해 ",(0,l.jsx)(e.strong,{children:"제한 없이 어떤 것이든 실행"}),"할 수 있습니다."]}),"\n",(0,l.jsx)(e.h2,{id:"️-주요-성과",children:"☑️ 주요 성과"}),"\n",(0,l.jsx)(e.h3,{id:"uiux-개선",children:"UI/UX 개선"}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflows 프로젝트는 기여의 메인 키워드를 UI/UX개선으로 지정하고 따로 프로젝트 페이지를 운영하며 이슈들을 트레킹 할 정도로 해당 주제에 적극적인 기여를 진행하고 있습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"uiux_0.png",placeholder:"blur",src:j.Z})}),"\n",(0,l.jsx)(e.p,{children:"저희 팀도 이러한 프로젝트의 목표를 따라 많은 UI 개선들을 수행했습니다."}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"주요 개선 항목"}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"workflows 검색 기능"}),"\n",(0,l.jsx)(e.li,{children:"cronworkflows의 요약 view 개선"}),"\n",(0,l.jsx)(e.li,{children:"DataPciker의 개선"}),"\n",(0,l.jsx)(e.li,{children:"workflows control패널의 sticky 옵션"}),"\n",(0,l.jsx)(e.li,{children:"workflows 목록의 label 강조 효과"}),"\n",(0,l.jsx)(e.li,{children:"외 다양한 버그 개선"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"uiux_1.png",placeholder:"blur",src:p.Z})}),"\n",(0,l.jsx)(e.h3,{id:"핵심-기능-개선",children:"핵심 기능 개선"}),"\n",(0,l.jsxs)(e.p,{children:["컨트리뷰션 경험이 쌓이기 시작하면서 프로젝트에 대한 멤버들의 이해도가 올라가고, 자신감이 붙으면서 UI/UX에 관한 개선 뿐 아니라, ",(0,l.jsx)(e.strong,{children:"워크플로우 엔진의 코어한 기능에 대한 기여"}),"들도 점차 할 수 있게 었습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://blog.argoproj.io/whats-new-in-argo-workflows-v3-5-f260e8603ca6",children:"What’s new in Argo Workflows v3.5"})}),"\n",(0,l.jsxs)(e.p,{children:["워크플로우 엔진의 핵심 로직은 ",(0,l.jsx)(e.strong,{children:"쿠버네티스의 CRD로 설치되어 쿠버네티스 클러스터의 동작과 성능에도 크게 영향을 주는 만큼 구현 수준이 높고"}),",\n각종 테스트 및 메인테이너들과의 정책에 관한 논의에도 적극적으로 참여할 수 있어야 기여가 가능한 만큼 ",(0,l.jsx)(e.strong,{children:"컨트리뷰션 난이도도 굉장히 높은 기여"}),"에 속합니다."]}),"\n",(0,l.jsxs)(e.p,{children:["쉽지 않은 과정들이었지만, 저희 팀은 ",(0,l.jsx)(e.strong,{children:"Argo Workflows 3.5버전의 릴리즈에 핵심적인 기여"}),"들을 해내는데 성공하며,\n",(0,l.jsx)(e.code,{children:"Template Spec"}),", ",(0,l.jsx)(e.code,{children:"Authentication"}),", ",(0,l.jsx)(e.code,{children:"Controller"})," 등의 매우 중요한 기능에 대한 기여를 ",(0,l.jsx)(e.strong,{children:"Argo 공식 블로그에서 언급"}),"되며 기록을 남기기도 하였습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"core_0",placeholder:"blur",src:u.Z})}),"\n",(0,l.jsxs)(e.p,{children:["Argo Workflows의 3.5버전 릴리즈 이후에도, 계속하여 컨트리뷰터들의 ",(0,l.jsx)(e.code,{children:"DX개선"}),"을 위한 CI및 테스트 환경, Nix, ",(0,l.jsx)(e.code,{children:"Controller"}),", ",(0,l.jsx)(e.code,{children:"Template"})," 스펙의 새로운 피쳐 개발, Go Lang 버전 업데이트 등의 높은 난이도의 컨트리뷰션등을 이어나가고 있으며, 다음 릴리즈 배포에는 더욱 많은 기여로 Argo Workflows가 더욱 훌륭한 툴로 거듭나는데 의미있는 성과를 보태는 중입니다."]}),"\n",(0,l.jsx)(e.h3,{id:"메인테이너-그룹과의-긴밀한-소통",children:"메인테이너 그룹과의 긴밀한 소통"}),"\n",(0,l.jsx)(e.p,{children:"저희 팀은 운이 매우 좋았습니다. Argo Workflows 프로젝트가 올해 5월에 Yuan Tang이라는 새로운 리더를 맞이하면서 프로젝트 전체의 컨트리뷰션 호흡이 매우 빨라졌다는 점입니다."}),"\n",(0,l.jsx)(e.p,{children:"보통 이런 대형 프로젝트에서는 리뷰에 상당히 오랜 시간이 걸려서 많은 컨트리뷰션을 해내기 어렵다고 생각하고 시작했었는데,\n능력있는 프로젝트 헤드와 그 팀원들 덕분에 이번 대회에 참가한 ArgoWorkflows 팀원들 모두 굉장히 많은 것들을 배우고 경험하며 짧은 시간 내에 많은 기여를 통해 성장할 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"maintainer.png",placeholder:"blur",src:g.Z})}),"\n",(0,l.jsxs)(e.p,{children:["기여를 이어나가다 보니, 워크플로우 엔진의 핵심적인 기능들에 대한 기여에 가까워질 수록, PR 페이지를 넘어서 ",(0,l.jsx)(e.strong,{children:"CNCF슬랙을 통해 메인테이너 분들과 긴밀하게 소통"}),"하고 의견을 나눌 수 있는 상황들도 생겨났습니다."]}),"\n",(0,l.jsx)(e.p,{children:"논의를 통해서 이슈를 해결하기 위해 프로젝트에서 로직을 처리하기 위한 정책을 결정하기도 하고, 연관된 다른 이슈를 할당받아 진행하는 경험을 하는 등, 오픈소스 프로젝트의 진정한 일원이 되어가는 소중한 경험을 해볼 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"프로젝트 기간동안 저희 팀이 기여한 작업물들을 소개합니다."}),"\n",(0,l.jsx)(sY.Z,{contributers:["GeunSam2","qudtjs0753","umi0410","newdeal123","binkoni","Leeeuijooo","sudosubin","junkmm","shmruin","da-head0","synoti21","Jack-R-lantern","Yaminyam","zel0rd","yunwoo-yu","juijeong8324","moonyoungCHAE","sunyeongchoi"]}),"\n",(0,l.jsx)(e.h2,{id:"️-컨트리뷰션-아카데미-진행-과정과-활동-내역",children:"☑️ 컨트리뷰션 아카데미 진행 과정과 활동 내역"}),"\n",(0,l.jsx)(e.h3,{id:"git알못에서-오픈소스-컨트리뷰터가-될-때-까지",children:"GIT알못에서 오픈소스 컨트리뷰터가 될 때 까지"}),"\n",(0,l.jsx)(e.p,{children:"저희 팀은 마스터즈 단계 참가자 17명 중에서, 12명은 GIT을 통한 제대로 된 협업/코드리뷰 경험이 없는 멤버들로 구성이 되어 있었습니다."}),"\n",(0,l.jsxs)(e.p,{children:["쿠버네티스를 엔진으로 삼고 동작하는 CRD인 만큼 쿠버네티스에 대한 높은 이해도가 필요한 프로젝트인데, ",(0,l.jsx)(e.strong,{children:"쿠버네티스를 제대로 써본 경험이 있는 멤버는 고작 4명에 불과"})," 했습니다."]}),"\n",(0,l.jsx)(e.p,{children:"처음에는 어떻게 시작해야할지 감도 안잡히고 막막했던 상황이었지만, 멘토와 함께 하는 GIT 연습 및 컨테이너, 쿠버네티스에 익숙해지기 위한 연습용 REPO에서의 다양한 과제 수행 및 스터디의 결과로 하나 둘씩 Argo Workflows라는 툴에 익숙해지기 시작했습니다."}),"\n",(0,l.jsxs)(e.p,{children:["그러한 결과, ",(0,l.jsx)(e.strong,{children:"현재 보고서를 쓰는 시점에는 마스터즈 단계 참가자 17명 전원 PR을 생성해 보는 즐거운 경험"}),"을 해 볼 수 있었습니다."]}),"\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.th,{align:"center",children:(0,l.jsx)(d(),{alt:"chart1",placeholder:"blur",src:k.Z})})})}),(0,l.jsx)(e.tbody,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.td,{align:"center",children:(0,l.jsx)(e.em,{children:"컨트리뷰션 활동 요약"})})})})]}),"\n",(0,l.jsx)(e.p,{children:"또한, 처음에는 툴에 익숙해고 배경 지식을 습득하는데 바빠 적극적으로 하지 못했던 컨트리뷰션 활동도 시간이 갈수록 가속도가 붙어서 9월에는 첫주차만에 지난달 한달 동안 기여한 PR에 가까운 갯수를 따라가게 될 정도로 멤버들의 실력이 빠르게 성장하고 있습니다."}),"\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.th,{align:"center",children:(0,l.jsx)(d(),{alt:"chart2",placeholder:"blur",src:m.Z})})})}),(0,l.jsx)(e.tbody,{children:(0,l.jsx)(e.tr,{children:(0,l.jsx)(e.td,{align:"center",children:(0,l.jsx)(e.em,{children:"월별 활동 그래프"})})})})]}),"\n",(0,l.jsx)(e.p,{children:"저희 팀이 지금의 기여활동을 해내기까지 수행한 다양한 활동들을 소개합니다."}),"\n",(0,l.jsx)(e.h3,{id:"git-사용-연습을-위한-repo-생성-및-기여-활동-진행",children:"GIT 사용 연습을 위한 REPO 생성 및 기여 활동 진행"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsxs)(e.p,{children:["REPO주소 : ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io"})]}),"\n"]}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성."}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity1",placeholder:"blur",src:w.Z})}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 목표 상세"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 아래 두개 파일을 수정/추가 해서 유저 정보를 업데이트 하는 PR을 생성해요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/users.md`"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/[이름].md`"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" PR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)"})})]})}),"\n",(0,l.jsx)(e.h3,{id:"컨테이너-기초-특별반-운영",children:"컨테이너 기초 특별반 운영"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsxs)(e.p,{children:["페이지 주소 : ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"https://github.com/ArgoWorkflows-OSS/container-playground"})]}),"\n"]}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"목표 : 본인만의 서비스를 만들고, 컨테이너화 하는 CI를 구성하기"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity2",placeholder:"blur",src:f.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity3",placeholder:"blur",src:b.Z})}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 목표 상세"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 과제 통과를 위해서 반드시 아래 사항을 준수해 주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 디렉터리 및 파일 배치"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 개인 서비스를 개발할 때 꼭 본인의 GitHub 계정 디렉터리를 생성하고 그 아래에 코드를 작성하세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 본인 디렉터리 내 최상위에는 반드시 `Dockerfile`이 위치해야 합니다. (이 조건을 만족하지 않으면 CI가 실패할 수 있습니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 본인 디렉터리 아래에서 `Dockerfile`의 위치를 제외한 다른 파일은 자유롭게 작성할 수 있습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 다만, 본인 디렉터리 최상위에서 `docker build -t [이미지명] .` 명령을 실행했을 때 이미지가 성공적으로 빌드되어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 빌드된 이미지의 동작"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 개인 웹 서비스는 반드시 8080 포트에서 동작해야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 빌드된 이미지는 별도의 매개변수 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 명령을 실행했을 때 문제 없이 서비스되도록 만들어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 웹 서비스 개발 언어 및 서비스 구조"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[본인 github계정]"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)"})})]})}),"\n",(0,l.jsx)(e.h3,{id:"팀내-이슈-해커톤-개최-및-진행",children:"팀내 이슈 해커톤 개최 및 진행"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈를 지정하여 조별로 한 이슈를 기간 내에 해결하기 위한 팀내 해커톤"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity4",placeholder:"blur",src:v.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity5",placeholder:"blur",src:y.Z})}),"\n",(0,l.jsx)(e.h3,{id:"argo-workflows-컨트리뷰터--커뮤니티-정기-미팅-참여",children:"Argo Workflows 컨트리뷰터 / 커뮤니티 정기 미팅 참여"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"Argo Workflows 공식 컨트리뷰터/커뮤니티 미팅 참여 오픈소스 컨트리뷰톤 소개"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity6",placeholder:"blur",src:D.Z})}),"\n",(0,l.jsx)(e.h3,{id:"argo-workflows-oss-팀-페이지-생성-및-운영",children:"Argo Workflows OSS 팀 페이지 생성 및 운영"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsxs)(e.p,{children:["페이지 주소 : ",(0,l.jsx)(e.a,{href:"https://argoworkflows-oss.github.io/",children:"https://argoworkflows-oss.github.io/"})]}),"\n"]}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"제작 프레임워크 : nextra"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity7",placeholder:"blur",src:C.Z})}),"\n",(0,l.jsx)(e.h3,{id:"매주-최소-1회-이상-오프라인-모임활동-진행",children:"매주 최소 1회 이상 오프라인 모임활동 진행"}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"정기 모임 활동"})}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"매주 일요일 정기 오프라인 모임 날짜로 선정하여 정기적인 모임활동을 진행했습니다."}),"\n",(0,l.jsx)(e.li,{children:"모임활동을 통해 해결할 이슈 탐색과 본인의 이슈 해결 경험에 대한 공유 및 진행 중 발생한 오류에 대한 논의 등 다양한 소통 활동을 진행했습니다."}),"\n",(0,l.jsxs)(e.li,{children:["오프라인 정기 모임에 대한 자세한 정보는 ",(0,l.jsx)(e.a,{href:"https://argoworkflows-oss.github.io/",children:"여기"})," 링크를 통해 확인하실 수 있습니다."]}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity8",placeholder:"blur",src:N.Z})}),"\n",(0,l.jsx)(e.hr,{}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"관심 주제 발표 활동"})}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"오프라인 모임활동 시간 중 본인의 관심사에 대해 자유주제로 발표를 진행했습니다."}),"\n",(0,l.jsxs)(e.li,{children:["관심 주제 발표 주제 및 발표자","\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.th,{align:"center",children:"순서"}),(0,l.jsx)(e.th,{children:"제목"}),(0,l.jsx)(e.th,{align:"center",children:"발표자"}),(0,l.jsx)(e.th,{align:"center",children:"발표일"})]})}),(0,l.jsxs)(e.tbody,{children:[(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"1"}),(0,l.jsx)(e.td,{children:"당근마켓에서 Argo Workflows 도입한 사례"}),(0,l.jsx)(e.td,{align:"center",children:"염근철"}),(0,l.jsx)(e.td,{align:"center",children:"7월 15일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"2"}),(0,l.jsx)(e.td,{children:"실시간 통신을 위한 WebRtc의 개념 및 활용사례"}),(0,l.jsx)(e.td,{align:"center",children:"송혜민"}),(0,l.jsx)(e.td,{align:"center",children:"7월 30일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"3"}),(0,l.jsx)(e.td,{children:"Argo Workflows와 Keyclock 연동방법"}),(0,l.jsx)(e.td,{align:"center",children:"최수녕"}),(0,l.jsx)(e.td,{align:"center",children:"7월 30일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"4"}),(0,l.jsx)(e.td,{children:"Argo Project로 CI/CD 구현하기"}),(0,l.jsx)(e.td,{align:"center",children:"김학준"}),(0,l.jsx)(e.td,{align:"center",children:"8월 6일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"5"}),(0,l.jsx)(e.td,{children:"eBPF의 개념, 필터 개발 방법, 활용사례 발표"}),(0,l.jsx)(e.td,{align:"center",children:"정성락"}),(0,l.jsx)(e.td,{align:"center",children:"8월 6일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"6"}),(0,l.jsx)(e.td,{children:"컨테이너의 역사와 도커 없이 컨테이너 만들기"}),(0,l.jsx)(e.td,{align:"center",children:"염근철"}),(0,l.jsx)(e.td,{align:"center",children:"8월 13일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"7"}),(0,l.jsx)(e.td,{children:"개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표"}),(0,l.jsx)(e.td,{align:"center",children:"안다혜"}),(0,l.jsx)(e.td,{align:"center",children:"8월 20일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"8"}),(0,l.jsx)(e.td,{children:"컨테이너 생태계에 관한 고찰"}),(0,l.jsx)(e.td,{align:"center",children:"염근철"}),(0,l.jsx)(e.td,{align:"center",children:"8월 27일"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"center",children:"9"}),(0,l.jsx)(e.td,{children:"Github Actions 쿠버네티스에서 self-hosted로 설치&운영하기"}),(0,l.jsx)(e.td,{align:"center",children:"서청운"}),(0,l.jsx)(e.td,{align:"center",children:"9월 2일"})]})]})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity9",placeholder:"blur",src:A.Z})}),"\n",(0,l.jsx)(e.hr,{}),"\n",(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"모각코"})}),"\n"]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"비정기적으로 모여서 각자 코딩하는 모각코 진행했습니다."}),"\n",(0,l.jsx)(e.li,{children:"ArgoWorkflow의 구조나 이슈 분석하는 등 기술 교류를 진행했습니다."}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"activity10",placeholder:"blur",src:W.Z})}),"\n",(0,l.jsx)(e.h2,{id:"️-참가자-기여-내용-상세",children:"☑️ 참가자 기여 내용 상세"}),"\n",(0,l.jsxs)(e.h3,{id:"0-염근철멘토",children:["0. ",(0,l.jsx)(e.a,{href:"https://www.linkedin.com/in/geunsam2/",children:"염근철"}),"(멘토)"]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"작년, 그리고 올해 ArgoWorkflows라는 프로젝트를 만나면서 정말 많은 것을 느끼고 배웠습니다."}),"\n",(0,l.jsx)(e.p,{children:"이번 행사에서 멘토로 참여했지만, 오히려 제가 더 많은것을 배우고 얻어가는 것 같습니다."}),"\n",(0,l.jsx)(e.p,{children:"함께 행사에 참가해서 마지막까지 최선을 다해주신 멘티 여러분들께도 진심으로 감사드리고, 앞으로도 오픈소스 활동을 함께 이어나가는 동료가 되었으면 좋겠습니다."}),"\n",(0,l.jsx)(e.p,{children:"행사 기간동안 오픈소스 생태계의 문화에 대해서도 다시한번 생각할 수 있는 시간이 되었고, CI 환경이나 알고있다고 생각하고 넘어갔었던 다양한 Git활용 기법들을 다시한번 공부할 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"ArgoWorkflows라는 프로젝트에 더 큰 애정이 생겼고, 앞으로 어떤 기회들이 있을지 모르겠지만, 더 다양한 분야에 대해서 기여해 보고 싶다는 생각입니다."}),"\n",(0,l.jsx)(e.h3,{id:"1-강병선",children:"1. 강병선"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인 성과"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"문서기여"})," ",(0,l.jsx)(e.code,{children:"#11762"})," ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11762#event-10327741834",children:"Remove helm installation guide and Add helm documentation link"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"MinIO 설정을 위해 helm 설치를 해야하는데, mac에 관련된 설정만 나와 있어 helm 공식문서에 접근할 수 있도록 수정하였습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"문서기여"})," ",(0,l.jsx)(e.code,{children:"#11735"})," ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11735#event-10365473861",children:"Add installation option descrption"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"managed namespace 옵션에 대한 상세한 설명을 추가해보았습니다."}),"\n",(0,l.jsxs)(e.li,{children:["여기서 Kubernetes의 ",(0,l.jsx)(e.a,{href:"https://kubernetes.io/docs/contribute/style/style-guide/#use-simple-and-direct-language",children:"Documentation 컨벤션"}),"이 존재한다는 것을 메인테이너분께 배웠습니다."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 준비 과정 및 활동"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Github 기초 익히기","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["멘토님께서 과제로 본인의 프로필을 업데이트 하는 과제를 주셨습니다. GPG와 DCO봇의 개념을 익혀보며 github에 더 친숙해지는 시간을 가졌습니다.\n",(0,l.jsx)(d(),{alt:"왕초보",placeholder:"blur",src:S.Z})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Docker 왕초보 특별반","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Dockerfile을 사용해서 도커 이미지를 만드는 활동을 했습니다. 멘토님께서 정리하신 자료를 읽고 개념을 익혔습니다.\n추가적으로 이미지를 만들 때 실행 시 필요한 기능만 넣도록 ",(0,l.jsx)(e.a,{href:"https://www.notion.so/Dockerfile-65f85f55b1b647ebb85617da9747db58?pvs=21",children:"multi stage build"}),"를 적용해보았습니다.\n",(0,l.jsx)(d(),{alt:"dockerfile_pull_request",placeholder:"blur",src:P.Z}),"\n",(0,l.jsx)(d(),{alt:"multi-staging-build",placeholder:"blur",src:R.Z})]}),"\n",(0,l.jsxs)(e.li,{children:["실습 이후 멘토님께서 ",(0,l.jsx)(e.a,{href:"https://ykarma1996.tistory.com/192",children:"Overlay FS"}),"에 대해 하나하나 보여주시면서 이미지가 어떻게 만들어지는지 보여주셨습니다. 이건 정말 알찼습니다.."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["쿠버네티스 기초 공부","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["컨트리뷰션 이전에 쿠버네티스의 기초를 공부하는 시간을 가졌습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.notion.so/bf8924a756b34bacb82d7051a05f1168?pvs=21",children:"개인 공부자료"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Argo workflows","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["template을 만들어보며 ",(0,l.jsx)(e.a,{href:"https://www.notion.so/e4d8e9e18f154a2181135b3e1b6b2d45?v=599976df8f114b5bb48943bdeef08360&pvs=4",children:"스스로 공부하는 시간을 가졌습니다"}),"."]}),"\n",(0,l.jsxs)(e.li,{children:["학준 멘티님이 ",(0,l.jsx)(e.a,{href:"https://junkmm.tistory.com/28",children:"GCP에서 ArgoCD와 Argo Workflows를 활용해 배포하는 파이프라인"}),"을 알려주셨습니다."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["OSS 모임 활동 참여","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"멘토님과 멘티분들께서 다양한 주제로 발표하는 시간을 가졌습니다. 컨트리뷰션 이외에 실무에서 어떤 문제들을 고민하는지, 그리고 문제들을 어떻게 해결했는지 들을 수 있는 좋은 시간이었습니다"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["해커톤 참여","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["성락 멘티님이 많은 도움을 주셨습니다. 괜찮다고 생각하는 이슈들을 공유해주시고 항상 도전할 것을 권해주셨습니다.\n",(0,l.jsx)(d(),{alt:"hackImage",placeholder:"blur",src:F.Z})]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"#11609"})," ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:"Compile expr in config"})," 이슈를 추천해주셔서 도전해보았습니다."]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.a,{href:"https://www.notion.so/491f51f4142244ca875708c5556c58a2?pvs=21",children:"Golang을 스스로 공부해보고"})," Issue를 분석하는 시간을 가졌습니다."]}),"\n",(0,l.jsx)(e.li,{children:"golang에 좀 더 친숙해질 수 있는 시간이 되었습니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-1",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"참가후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"주니어 개발자인 저에게 이 활동은 단순히 컨트리뷰션을 위한 것이 아니라 아니라 개발자들이 무엇을 고민하는지, 어떻게 성장하는지 확인할 수 있는 소중한 시간이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"도움을 너무 많이 받아서 항상 감사합니다. 너무 좋은 분들 만나뵈서 행복한 시간이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"컨테이너와 친해지는 첫 걸음을 뗀 것 같아 기쁩니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"앞으로의 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"개발에서 사용하는 모든 오픈소스에 관심을 가지고 기여할 수 있도록 하겠습니다."}),"\n",(0,l.jsx)(e.li,{children:"Argo workflows를 실제 프로젝트에 적용해보고 더 기여할 방안들을 찾아가겠습니다!"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["qudtjs0753"]}),"\n",(0,l.jsx)(e.h3,{id:"2-강시온",children:"2. 강시온"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-1",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Issue 1개, PR 3개"}),"\n",(0,l.jsxs)(e.li,{children:["GitHub Actions log 가독성 향상을 위한 이름 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11670",children:"https://github.com/argoproj/argo-workflows/pull/11670"})}),"\n",(0,l.jsx)(e.li,{children:"publish-release에서 진행하는 step중 Run actions/cache@v3를 총 세번 수행하는데 각자 하는 역할이 다른데 같은 이름으로 표기되어 있어 같은 작업이 세번 이루어지는 것처럼 느껴 질 수 있는 부분을 각자 역할에 맞는 이름으로 수정"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["GitHub Actions 필요없는 캐시 로직 삭제","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11754",children:"https://github.com/argoproj/argo-workflows/pull/11754"})}),"\n",(0,l.jsx)(e.li,{children:"setup-go actions에서 cache option을 false로 주지않는 이상 default로 caching을 해주기때문에 중복되는 캐시때문에 발생하던 오류를 수정"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Deprecated 된 NodeJS 16 버전을 사용하는 checkout@v3를 모두 checkout@v4로 업그레이드","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11782",children:"https://github.com/argoproj/argo-workflows/pull/11782"})}),"\n",(0,l.jsx)(e.li,{children:"NodeJS 가 곧 보안지원이 종료되므로 최신버전을 사용하는 actions을 사용하도록 수정"}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-2",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"작년의 경험이 너무좋아 올해도 참가하게 되었는데 올해는 작년과 다른 느낌으로 또 너무 좋은 경험을 했습니다.\n다들 열정적인 팀원들과 활발한 프로젝트 덕분에 텐션이 떨어지지 않고 프로젝트에 관심을 가질 수 있었던것 같고, 해당 프로젝트 뿐만 아니라 관련된 이야기 까지 나눌 수 있는 동료가 생긴것 같아 너무 행복합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-1",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["Yaminyam"]}),"\n",(0,l.jsx)(e.h3,{id:"3-권영길",children:"3. 권영길"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-2",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:"[프로젝트 기여 항목]"}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," Argo Workflow Datepicker 개선 ",(0,l.jsx)(e.em,{children:"(완료)"})]}),"\n",(0,l.jsx)(e.p,{children:"workflow 목록 페이지의 filter 기능 중 하나인 datepick의 ui를 개선"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"1.UI.png",placeholder:"blur",src:I.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"2.UI.png",placeholder:"blur",src:O.Z})}),"\n",(0,l.jsx)(e.p,{children:"이슈링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11476",children:"UI: Datepicker Style Malfunction Issue \xb7 Issue #11476 \xb7 argoproj/argo-workflows"})}),"\n",(0,l.jsx)(e.p,{children:"PR링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11480",children:"fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd \xb7 Pull Request #11480 \xb7 argoproj/argo-workflows"})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," ",(0,l.jsx)(e.em,{children:"Cron workflow의 State filter 초기값 설정(완료)"})]}),"\n",(0,l.jsx)(e.p,{children:"cron workflow의 status filter가 초기값과 상관없이 랜더링 되는 버그 수정"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"3.UI.png",placeholder:"blur",src:M.Z})}),"\n",(0,l.jsx)(e.p,{children:"이슈링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11685",children:"ui: Cron workflow initial filter value \xb7 Issue #11685 \xb7 argoproj/argo-workflows"})}),"\n",(0,l.jsx)(e.p,{children:"PR링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11686",children:"https://github.com/argoproj/argo-workflows/pull/11686"})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," ",(0,l.jsx)(e.em,{children:"초기 페이지에서 발생하는 webpack 관련 warning 제거하기 (진행중)"})]}),"\n",(0,l.jsx)(e.p,{children:"argo workflow ui 로드시 발생하는 웹팩 워닝을 제거하기"}),"\n",(0,l.jsx)(e.p,{children:"현재 관련 라이브러리들의 의존성 및 기능을 테스트 하는 중"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"4.UI.png",placeholder:"blur",src:Z.Z})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," ",(0,l.jsx)(e.em,{children:"로그인 페이지 개선 (진행중)"})]}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflow의 기존 로그인 페이지를 Argo CD와 같은 형태고 개선하는 이슈"}),"\n",(0,l.jsx)(e.p,{children:"현재 workflow에서 제공하는 로그인 기능을 분석하고, 이후 새로운 설계 및 디자인을 적용할 예정"}),"\n",(0,l.jsx)(e.p,{children:"이슈링크"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/10816",children:"Similar login page to Argo CD \xb7 Issue #10816 \xb7 argoproj/argo-workflows"})}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[프로젝트 활동 내역]"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"7.8 발대식(프로젝트 소개 및 자기소개)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["발대식 진행\n",(0,l.jsx)(d(),{alt:"5.meet.png",placeholder:"blur",src:G.Z})]}),"\n",(0,l.jsx)(e.li,{children:"별명을 이용한 자기소개 시간"}),"\n",(0,l.jsx)(e.li,{children:"프로젝트에 대한 대략적인 소개"}),"\n",(0,l.jsxs)(e.li,{children:["모임활동 규칙을 위한 다수결 투표","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["다음 모임 활동은 발대식 참석자들의 다수결에 따라 정기 일정과 다르게 ",(0,l.jsx)(e.strong,{children:"토요일(07/15) 오후 1시"}),"부터 진행하기로 했습니다. 계획된 활동 주제는:"]}),"\n",(0,l.jsxs)(e.li,{children:["다음 한 주간 진행할 ",(0,l.jsx)(e.strong,{children:"공통 활동"}),"에 대한 리뷰 또는 이야기 나누는 시간"]}),"\n",(0,l.jsx)(e.li,{children:"서로 관심 있는 주제에 대한 소통 시간"}),"\n",(0,l.jsx)(e.li,{children:"멘티 여러분들의 진행도에 따라 개발 환경 설정도 진행해 볼 수 있습니다. (Optional)"}),"\n",(0,l.jsx)(e.li,{children:"(공통 활동 내용은 내일 일과 시간 내로 정리해서 공유드릴 것입니다.)"}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"7.15 1차 모임 (개발환경 설정 및 workflow 기능 소개)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Open Up에서 1차 모임 진행"}),"\n",(0,l.jsx)(e.li,{children:"개발 환경 설정 (dev-container)"}),"\n",(0,l.jsxs)(e.li,{children:["플레이그라운드 미션 (DCO 봇 체크 통과, GPG를 이용한 커밋, 커밋 메시지 컨벤션)","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"실제 오픈소스 프로젝트에 바로 도전하기 전에 플레이그라운드를 생성했습니다. 첫 목표는 이 플레이그라운드의 프로젝트에 외부인의 입장에서 이슈/PR/커밋 등을 수행하는 것입니다. 간단하지만 처음 경험하는 입장에서는 생각하지 못한 관문이 존재할 수 있으니 집중해 주세요. 첫 이슈를 일찍 해결하면 추가로 지시할 사항을 전달해 드릴 것입니다. ㅎㅎ"}),"\n",(0,l.jsxs)(e.li,{children:["저장소: ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS"})]}),"\n",(0,l.jsx)(e.li,{children:"목표 : 이슈 템플릿의 멤버 프로필 업데이트 이슈를 선택하고, 이슈 내용에 따라 첫 PR을 생성해요."}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"7.23 2차 모임(관심있는 이슈사항 공유)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"성수에 모여서 2차 모임 진행(무신사 장소제공 - 안다혜 멘티 지원)"}),"\n",(0,l.jsxs)(e.li,{children:["관심있는 이슈에 대해 소개하고, 서로의 문제 공유하기\n",(0,l.jsx)(d(),{alt:"6.meet.png",placeholder:"blur",src:T.Z})]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"8.6 4차 모임"})}),(0,l.jsx)(e.p,{children:"발표활동"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"argo event와 workflow, cd연동"}),"\n",(0,l.jsx)(e.li,{children:"eBpf"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"7.meet.png",placeholder:"blur",src:K.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"8.13 5차 모임"})}),(0,l.jsx)(e.p,{children:"발표활동"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"webRTC"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"8.meet.png",placeholder:"blur",src:E.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"8.20 6차 모임"})}),(0,l.jsx)(e.p,{children:"발표활동"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"9.meet.png",placeholder:"blur",src:q.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[프로젝트 활동 내용]"})}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"[기여를 위한 학습]"}),"\n",(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["쿠버네티스 아키텍처 강의 - ",(0,l.jsx)(e.a,{href:"https://www.youtube.com/watch?v=Iue9TC13vPQ",children:"YouTube 링크"})]}),"\n",(0,l.jsxs)(e.li,{children:["쿠버네티스 리소스 강의 - ",(0,l.jsx)(e.a,{href:"https://www.youtube.com/watch?v=6n5obRKsCRQ&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c",children:"YouTube 링크"})]}),"\n",(0,l.jsxs)(e.li,{children:["Go Playground - ",(0,l.jsx)(e.a,{href:"https://go.dev/play/",children:"https://go.dev/play/"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"배운점 및 느낀점"}),"\n",(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsx)(e.li,{children:"프로젝트에 기여하기 위해선 해당 분야의 도메인 지식이 중요하다는 것을 깨달았습니다.\n단순히 웹서비스에 기여하고자 하였지만, 쿠버네티스에 대한 지식부족으로 환경셋팅하는 것부터 쉽지 않았습니다."}),"\n",(0,l.jsx)(e.li,{children:"큰 오픈소스 프로젝트에선 DCO/GPG 같은 것을 사용한다는 것을 배웠고, 오픈소스 프로젝트가 어떻게 관리되고 운영되는지 배워볼 수 있었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.strong,{children:"이슈 및 PR내역"})}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-3",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"우선 ‘오픈소스 컨트리뷰션’이라고 하면 여러가지 감정이 교차하는 일이였습니다.\n다른 개발자들과 함께 오픈소스에 기여하고, 이를 통해 공유/협업하는 오픈소스의 문화를 경험한다는 것은 개발자에게 큰 기쁨이자 보람이라고 생각합니다.\n하지만 이전에도 여러차례 컨트리뷰톤을 할 때 겪었던 막연함과 두려움은 또 다시 도전하는 것을 주저하게 하는 커다란 벽이였습니다."}),"\n",(0,l.jsx)(e.p,{children:"이번 3번째 참가를 결심하게 되었을 때 다짐했던 것이 ‘이전에는 학생이라, 잘 몰라서, 취업준비로 바빠서 등등의 변명은 더 이상 통하지 않는다. 꼭 이번엔 성공해야지’ 였습니다.\n그랬기 때문에 더욱 부담이 되기도하고 설레기도 했던 시작할 때의 다짐이 아직도 생생하네요.\n프로젝트를 지원할 때, 잘 아는 분야를 할까? 새로운 분야를 할까? 라는 고민을 했었는데 스스로에게 공부도 되고 열심히 하기 위해 접해보지 않은 devops와 관련된 프로젝트를 지원했습니다. 이러한 결정은 얼마지나지 않아 후회로 다가왔습니다.\n기여를 하기도 전에 공부해야 할 내용이 많고, 프로젝트의 기본적인 환경구축에도 많은 시간이 허비되었습니다. 하지만 다른 팀원들과 함께 매일같이 서로의 어려움을 공유하고 도움을 주기위한 적극적인 활동으로 개발환경이 구축되자 너무나 설레는 시간이 다가왔습니다.\n환경이 구축되고 내가 할 수 있는 이슈를 찾는 것도 새로운 즐거움이였습니다. 업무에서 발생하는 오류나 버그들은 언제나 예민하게하고 귀찮은 것이였는데, 아카데미에서는 내가 할 수 있는 미션과 같이 다가왔고, 그 과정은 게임과 같이 즐거웠습니다."}),"\n",(0,l.jsx)(e.p,{children:"어느덧 참가후기를 쓰고 있는 지금, 내가 기여한 내역들이 너무 뿌듯하고 대견한 느낌이 듭니다. 또한 이런 과정을 함께 도와준 동료들과 멘토님에게 감사합니다."}),"\n",(0,l.jsx)(e.p,{children:"앞으로는 argo-workflow 프로젝트를 업무에 적용할 수 있는 방안에 대해 고민해보고, 이 때 발생하는 이슈들에 대해 적극적으로 기여할 수 있는 방향을 고민해보려고 합니다. 또 다른 좋은 프로젝트가 있다면 새로운 프로젝트에도 기여를 하고 싶습니다.\n감사합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-2",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["zel0rd"]}),"\n",(0,l.jsx)(e.h3,{id:"4-김수빈",children:"4. 김수빈"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-3",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인 성과"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"이슈"})," 1개, ",(0,l.jsx)(e.code,{children:"PR"})," 1개 기여"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 준비 과정"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"YouTube에 업로드 된 OSSCA 기본 교육을 확인했습니다. Git, Vim 등 기존에도 많이 사용해보고 개념도 알고 있는 내용이었지만, 평소에 사용하면서 모르고 있었거나, 대충 사용하던 부분들도 많이 알고 이해할 수 있었습니다."}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"ArgoWorkflows-OSS/ArgoWorkflows-OSS"})," 저장소에서 Git 환경 설정 및 Issue와 PR을 연결하고 클로즈하는 예제를 진행했습니다. Argo Workflows는 PR 생성 시에 모든 커밋이 gpg private key로 서명되어 있어야 하고, sign-off 되어 있어야 합니다. 그렇지 않은 경우 GitHub CI에서 failure 하게 됩니다. Argo Workflows에 실제로 기여하기 전, 미리 로컬 Git 환경을 설정하고 모의로 PR을 생성하는 데 큰 도움이 되었습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"Argo Workflows 개발 환경을 설정했습니다. 처음에는 devcontainer를 이용해 설정했고, 이후에 Nix를 이용했습니다. Argo Workflows는 개발 환경에서 React UI, Argo Server, MySQL 등 여러 컴포넌트가 함께 필요해 개발 환경을 구성하기 어려운 편인데, 여러 주차에 걸쳐 개발 환경을 완전히 구성할 수 있었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 진행 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"버그수정"})," Nix go build 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11635",children:"https://github.com/argoproj/argo-workflows/pull/11635"})}),"\n",(0,l.jsx)(e.li,{children:"기존 코드 베이스는 Go 1.20을 사용하고 있었으나, Nix 빌드 파일에서는 Go 1.19를 사용하는 문제가 있었습니다. 기존에는 빌드가 문제 없이 되었었지만, Go 1.20에 새로 추가된 문법을 사용하기 시작하면서 Nix 빌드에 문제가 발생했습니다."}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"_module.args"})," 를 이용해 Go 1.20을 기본으로 사용하도록 수정하고, Nix 빌드를 수정했습니다."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," Nix go vendor hash 자동 갱신","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11691",children:"https://github.com/argoproj/argo-workflows/issues/11691"})}),"\n",(0,l.jsx)(e.li,{children:"컨트리뷰션을 준비하는 과정에서 개발 환경을 설정할 때 알게 된 이슈입니다. Nix는 재현 가능한 빌드를 추구하는데, GitHub의 Dependabot이 자동으로 Go module 버전을 올려줄 때 Nix의 의존성 hash 값은 함께 변경하지 않는 문제가 있습니다."}),"\n",(0,l.jsx)(e.li,{children:"이로 인해 종종 개발 환경을 설정할 때 개발자들이 직접 수동으로 Nix의 go vendor hash를 계산해 갱신해야 하는 상태인데, 이를 개선하기 위해 해결 가능한 방법들을 찾아보고 있습니다."}),"\n",(0,l.jsx)(e.li,{children:"해결 방법을 기여자들과 함께 찾기 위해, 기존 PR과 Comment들의 내용을 모아 Issue를 생성했습니다."}),"\n",(0,l.jsx)(e.li,{children:"기존 다른 오픈소스 프로젝트들에서도 해결하지 않고 개발자들이 수동으로 반영하고 있는 상태여서, Argo Workflows에서 기여한 이후에는 다른 프로젝트들에도 기여할 수 있을 것 같습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," ",(0,l.jsx)(e.code,{children:"CHANGELOG.md"})," 스크립트 개선","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11733",children:"https://github.com/argoproj/argo-workflows/pull/11733"})}),"\n",(0,l.jsx)(e.li,{children:"Markdownlint는 프로젝트 내 문서들을 일관된 형식으로 작성될 수 있도록 강제하고, 문서를 더 읽고 수정하기 쉽게 만들어주는 도구입니다."}),"\n",(0,l.jsxs)(e.li,{children:["기존에 Markdownlint를 사용해 프로젝트 Markdown 문서에 대한 린터 설정을 구성했었는데, 스크립트를 이용해 자동으로 생성되는 ",(0,l.jsx)(e.code,{children:"CHANGELOG.md"})," 파일은 린터 룰에 맞지 않아 이를 개선했습니다."]}),"\n",(0,l.jsxs)(e.li,{children:["변경된 스크립트를 통해 새로 생성된 ",(0,l.jsx)(e.code,{children:"CHANGELOG.md"})," 변경 사항은 이 PR에 담겨 있습니다. → ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11773",children:"https://github.com/argoproj/argo-workflows/pull/11773"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"기능개선"})," 문서 스타일 개선","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11787",children:"https://github.com/argoproj/argo-workflows/pull/11787"})}),"\n",(0,l.jsx)(e.li,{children:"Markdownlint를 따르지 않는 일부 문서들의 스타일을 개선했고, 자동으로 생성되는 문서들에 대해서는 이후 PR에서 수정하기로 공유했습니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-4",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"프로그램 참가 후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"혼자서 기여하려고 했다면 불가능했을 것 같은데, 멘토 님과 다른 멘티 분들과 함께 모여서 공부하고 기여하면서 저도 기여를 준비하고 기여할 수 있었던 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"Argo Project 생태계와 커뮤니티에 대해 이해하고, Argo Workflows 프로젝트에 대해 전보다 훨씬 깊게 이해하게 되어 좋았습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"향후 기여 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"현재 생성한 Issue에서 기여자들과 해결 방법에 대해 논의하고, 이를 구현할 예정입니다."}),"\n",(0,l.jsx)(e.li,{children:"이후에 Nix 개발 환경을 개선하고, devcontainer로 구성된 개발 환경을 점진적으로 Nix로 이전하는 작업을 진행할 예정입니다."}),"\n",(0,l.jsx)(e.li,{children:"Nix와 관련한 문서가 빈약해, 문서도 개선할 예정입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-3",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["sudosubin"]}),"\n",(0,l.jsx)(e.h3,{id:"5-김학준",children:"5. 김학준"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-4",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"리팩토리"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"fix: Upgrade Go to v1.21 Fixes #11556"}),"[**Merged]**"]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows는 Go언어로 개발되어 있습니다."}),"\n",(0,l.jsx)(e.li,{children:"Go Version을 1.20 → 1.21로 업그레이드 하는 Issue가 발행되어 해결해보자 하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"이슈 해커톤"})," 기간에 해당 이슈를 제시하여 같은 팀원 분들과 함께 이슈 해결 및 PR을 진행했습니다."]}),"\n",(0,l.jsx)(e.li,{children:"결과적으로 첫 PR과 첫 컨트리뷰터 뱃지를 달아볼 수 있는 영광스러운 시간이었습니다."}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"fix: Upgrade Go to v1.21 Fixes #11556 by junkmm \xb7 Pull Request #11601 \xb7 argoproj/argo-workflows(opens in a new tab)"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"소그룹 발표"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Challenges 기간에 Argo Projects를 활용한 CI/CD 구현했던 결과를 주제로 Offline 미팅 시간에 발표하는 시간을 가졌습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["발표하며 제 생각을 정리하고, 서로 대화하며 데브옵스와 Argo Project 생태계를 이해할 수 있는 유익한 시간이었습니다.\n",(0,l.jsx)(d(),{alt:"meet",placeholder:"blur",src:U.Z}),"\n",(0,l.jsx)(e.code,{children:"이슈 해커톤"})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"컨트리뷰션 활동에 진입 장벽과 동기부여를 위해 안다혜님의 의견으로 멘토님 주도하에 이슈해커톤이 진행되었습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"멘토님의 주도하에 성락님과, 문영님, 병선님과 같은 팀이 되었습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이 기간에 제가 제시한 go 1.20 → 1.21 업그레이드 이슈 해결 성과를 달성했습니다."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Argo Workflows에 내장된 Prometheus Metric 값을 추가하는 Issue를 해결해보고자 했으나, 높은 난이도로 인해 중단되었습니다. 하지만 이 과정을 통해 Prometheus는 별도의 Exporter를 설치해야만 한다 라는 제 고정관념이 무너지고 시야가 확장되는 좋은 경험을 했습니다.\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849",children:"plan to add workflow labels to the metric? \xb7 Issue #9849 \xb7 argoproj/argo-workflows(opens in a new tab)"})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["아래 이슈를 해결하고자 하고 있습니다. ",(0,l.jsxs)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:["Compile ",(0,l.jsx)(e.code,{children:"expr"})," in config \xb7 Issue #11609 \xb7 argoproj/argo-workflows(opens in a new tab)"]})]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"왕 초보 특별반 - Container Playground"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows는 쿠버네티스 네이티브 환경에서 기동되는 오픈소스 입니다."}),"\n",(0,l.jsx)(e.li,{children:"멘토님은 쿠버네티스에 대한 지식이 있어야 우리 프로젝트를 접근하는데 있어 도움이 된다고 하시며 쿠버네티스 스터디를 Open 하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["첫 번째 미션은 제시하는 조건에 만족하는 Web Container를 생성하는 것이었습니다.\n",(0,l.jsx)(d(),{alt:"goal",placeholder:"blur",src:L.Z})]}),"\n",(0,l.jsx)(e.li,{children:"평소에 Dockerfile을 생각없이 작성하던 저에 대해 반성하게 됐고, 멀티 스테이징과 빌드 속도와 도커파일 작성 방법에 대한 관계를 배울수 있던 좋은 시간이었습니다."}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-5",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"결론 먼저 말씀드리면 만족중에 대 만족 입니다. 컨트리뷰션 초기 정말 오픈소스 생태계를 잘 알지 못했던 저에 비하면 현재의 저와는 비교할 수 없을 것 같습니다. 대 만족하는 이유는\n첫째, 똑똑한 조원 분들 입니다. 매주 다양한 주제와 사람들 께서 현업에서 사용하는 기술, 관심있는 기술 등 발표를 정말 많이 해 주셨는데, 어디가서 들을 수 없는 명품 강의였고, 정말 많은 도움이 된 시간이었습니다.\n둘째, 든든한 조원 분들 입니다. 아무래도 개발 경험이 적은 저로써 이 컨트리뷰션 기간이 조금 무서웠습니다. 하지만 저희 리더 멘티님인 성락님을 비롯하여 많은 분들이 슬랙에 질문을 올렸을때 적극적으로 알려주신 덕분에 제가 겪은 문제들을 스무스 하게 넘어갈 수 있었습니다.\n셋째, 쾌적한 모임 공간과 든든한지원입니다. 매주 일요일 서초 오픈업 공간에서 모임을 했는데, 신축 건물인지 정말 깔끔하고, 탕비실의 커피와 간식은 그저 빛이였습니다. 또 중간 회식에서는 정말 배터지게 맛있는 양꼬치를 먹을 수 있어서 좋았습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"앞으로의 계획"})}),"\n",(0,l.jsx)(e.p,{children:"올해 컨트리뷰션 활동을 통해 확실히 오픈소스 생태계를 이해할 수 있었습니다. 다만 아쉬운점이 있다면 초반에 무서워서? 소극적으로 활동 했던 것과, 아무래도 소극적일 수 밖에 없었던 제 작고 귀여운 코딩 실력입니다. 저는 컨트리뷰션 활동 기간이 정말 값졌기 때문에, 저의 미흡한 점을 보완해서 다음 해 에도 꼭 참여하고 싶습니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-4",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["junkmm"]}),"\n",(0,l.jsx)(e.h3,{id:"6-박진수",children:"6. 박진수"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-5",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"기능개선"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["A new feature to support Secrets as a type of parameters (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11446",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"1.picture",placeholder:"blur",src:_.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"2.picture",placeholder:"blur",src:H.Z})}),(0,l.jsx)(e.p,{children:"기존의 Argo Workflow는 WorkflowTemplate에 argument(인자)를 전달할 때 직접 인자를 정의할 수도 있고, ConfigMap을 참조하도록 설정할 수도 있었습니다. 하지만 일반적인 kubernetes 생태계를 지원하는 다른 도구들과 달리 Secret을 참조하는 기능은 지원되지 않았습니다."}),(0,l.jsxs)(e.p,{children:["이에 대한 Feature request가 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/5506%EC%97%90%EC%84%9C",children:"https://github.com/argoproj/argo-workflows/issues/5506에서"})," 이루어지기 시작했고, 해당 기능을 구현해 Draft PR을 만들어둔 상태입니다."]}),(0,l.jsx)(e.p,{children:"이 기능은 특히나 Kubernetes에서의 CustomResourceDefinition이라는 인터페이스와 같은 것의 정의를 바꿔야하고, workflow가 생성되어 사이드카를 주입받고 Pod로 생성되는 일련의 라이프사이클을 모두 파악해야했기에 개발하기 쉽지 않은 편이었습니다."}),(0,l.jsx)(e.p,{children:"하지만, 해당 기능을 구현해나가면서 Workflow가 결국 Pod와 container로 변환되어 동작하게 되는 과정을 깊이 있게 파악할 수 있었고, Workflow가 내부적으로 context 및 argument를 templating하는 로직도 많이 파악할 수 있었던 이슈였습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"이슈생성"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["Incorrect creator labels on a resubmitted Workflow (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11414",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"3.picture",placeholder:"blur",src:Y.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"4.picture",placeholder:"blur",src:J.Z})}),(0,l.jsx)(e.p,{children:"Argo Workflow에는 동일한 template을 바탕으로 Workflow를 다시 생성하고 실행하는 Resubmit이라는 기능이 존재합니다. Resubmit된 Workflow의 경우 Workflow 생성 유저 관련 k8s object label이 Resubmit한 유저를 바탕으로 설정되는 것이 아니라 기존 잘못된 값으로 설정되는 버그가 존재했습니다."}),(0,l.jsx)(e.p,{children:"이로 인해 한 Workflow를 실행한 유저와 그 Workflow를 Resubmit한 유저가 다르면 Resubmit을 통해 생성된 Workflow에는 잘못된 Workflow 생성 유저 관련 k8s object label이 붙곤 했습니다."}),(0,l.jsx)(e.p,{children:"이에 대한 이슈를 제기했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"버그수정"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["fix: Apply the creator labels about the user who resubmitted a Workflow (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11415",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"5.picture",placeholder:"blur",src:V.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"6.picture",placeholder:"blur",src:B.Z})}),(0,l.jsx)(e.p,{children:"앞서 생성했던 이슈(버그)를 해결하는 Pull Request를 작성했습니다."}),(0,l.jsx)(e.p,{children:"Resubmit 시에 기존 Workflow 실행자의 정보를 고려하지 않고 Resubmit한 유저 정보만을 바탕으로 올바른 Workflow 생성자 k8s object label을 달도록하여 버그를 수정했습니다."}),(0,l.jsx)(e.p,{children:"변경사항에 대한 예시로 foo라는 유저가 실행한 Workflow를 bar라는 유저가 Resubmit한 경우, 인증되지 않은 유저가 Resubmit한 경우 creator 관련 label이 어떻게 달리는지를 제시했습니다."}),(0,l.jsx)(e.p,{children:"또한 다른 코드에도 많은 영향을 끼친 부분이 존재해 이에 대한 테스트 코드도 작성해 안정성을 높였습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"기능개선"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["feat: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11407",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"7.picture",placeholder:"blur",src:z.Z})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"8.picture",placeholder:"blur",src:X.Z})}),(0,l.jsx)(e.p,{children:"로그인한 유저가 CronWorkflow를 만든 경우 CronWorkflow에는 생성자에 대한 k8s object label이 붙게 됩니다. 하지만 CronWorkflow의 설정을 바탕으로 주기적으로 생성되는 Workflow에는 해당 k8s object label이 붙지 않게 되는 이슈가 존재했습니다."}),(0,l.jsx)(e.p,{children:"따라서 CronWorkflow로 생성되는 Workflow들이 CronWorfklow의 생성자 라벨을 그대로 전파받도록 개선했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"이슈생성"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["Insufficient logging in /oauth2/callback handler when using SSO Authentication (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11369",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"9.picture",placeholder:"blur",src:Q.Z})}),(0,l.jsx)(e.p,{children:"Keycloak이라는 Identity Provider 오픈소스 제품을 이용해 Argo Workflows에 SSO(Single Sign On)으로 인증 기능을 활성화하려했으나 이 과정에서 로그가 부족해 활성화 작업이 크게 지연된 것을 경험했습니다. 이에 해당 기능 활성화 작업에 대한 로깅 강화를 주제로한 이슈로 열었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"기능개선"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["feat: Improve logging in the oauth2 callback handler (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11370",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"10.picture",placeholder:"blur",src:$.Z})}),(0,l.jsxs)(e.p,{children:["위에서 언급한 이슈(",(0,l.jsx)(e.a,{href:"https://www.notion.so/82d2ee40c48e482a8db93123a7b38407?pvs=21",children:"블록 링크"}),")를 해결한 Pull Request입니다. SSO를 위해 OAuth2 Protocol을 이용하는 과정에서 발생하는 에러 케이스별로 에러 로그를 출력하도록 기능을 개선했습니다."]}),(0,l.jsx)(e.p,{children:"또한 Pull Request의 Reviewer가 좀 더 편하게 리뷰할 수 있도록, Pull Request가 설득력을 갖도록, 변경사항을 검증할 수 있는 Verification을 코드로 나타냈습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.code,{children:"공부"})}),(0,l.jsx)(e.p,{children:(0,l.jsxs)(e.strong,{children:["docs: Add a user named 박진수 (",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/51",children:"링크"}),")"]})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"11.picture",placeholder:"blur",src:ss.Z})}),(0,l.jsx)(e.p,{children:"행사를 시작하면서 멘토님께서 GitHub에과 친해질 수 있도록 만들어주는 레포지토리의 멤버 프로필에 저에 대한 소개를 추가해 Pull Request를 생성해보는 실습을 진행했습니다."})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-6",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"그동안 수많은 오픈소스를 활용해 업무를 하고 취미생활을 하면서도 단순히 사용자로서만 남아있었던 제가 유명 오픈소스의 컨트리뷰터가 될 수 있었던 좋은 기회였습니다."}),"\n",(0,l.jsx)(e.p,{children:"멘토님의 도움으로 Argo Workflow를 통해 오픈소스 컨트리뷰션 활동에 입문할 수 있었고, 컨트리뷰터 간의 실시간 화상 미팅의 두려움도 극복할 수 있었으며, 다른 사람이 작성한 코드도 거부감 없이 읽어보는 습관을 기를 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"저는 지금 Argo Workflow뿐만 아니라 Argo Rollouts, Istio 등 클라우드 네이티브한 환경에서 많이 사랑받고 있는 오픈소스에도 많은 관심을 갖고 있으며 Slack을 통해 컨트리뷰터들과 자주 소통해오고 있습니다."}),"\n",(0,l.jsx)(e.p,{children:"오픈소스 컨트리뷰션을 진행하기 전의 저였다면 이러한 소통 조차도 꺼렸을 것이 분명합니다. 하지만 이제는 이런 소통에 전혀 부담이 없고 앞으로는 Argo Workflow에서 제가 기여했던 것처럼 Argo Rollouts와 Istio에도 많은 기여를 해보고자 합니다!"}),"\n",(0,l.jsx)(e.p,{children:"지난 기간동안 힘써주신 주최측과 멘토님께 감사의 인사를 전합니다. 감사합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-5",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["umi0410"]}),"\n",(0,l.jsx)(e.h3,{id:"7-서청운",children:"7. 서청운"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-6",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인 성과"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.code,{children:"PR"})," 1개 Open"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 준비 과정"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"OSSCA 사무국이 공유해주신 기본 Git 전략에 대한 공유 영상을 확인하고, 놓치고 있는 새로운 부분과 기존의 알고있던 개념을 결합시켜 Git에 대한 이해와 응용도를 높였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["팀에서 진행하는 ",(0,l.jsx)(e.code,{children:"ArgoWorkflows-OSS/ArgoWorkflows-OSS"})," 레포지토리에서 오픈소스 컨트리뷰트를 위해 필수적으로 알아야할 개념(gpg private key)와 issues, PR title 등을 실제로 미션을 수행하며 경험적으로 체득할 수 있도록 했습니다."]}),"\n",(0,l.jsx)(e.li,{children:"devcontainer를 사용해 Argo Workflow의 로컬 개발환경을 직접 구축하고 테스트해보며 실제로 컨트리뷰트를 하기위한 필수조건을 테스트해봤습니다. 여러 라이브러리 종속성에 대한 이식성이 좋은 도구여서 매우 사용하기 편리했습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"컨트리뷰션 진행 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["공식 docs의 fields 예제 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11748",children:"https://github.com/argoproj/argo-workflows/pull/11748"})}),"\n",(0,l.jsxs)(e.li,{children:["기존 공식문서에서 크론워크플로우를 사용하지 않는 문서 예제가 ",(0,l.jsx)(e.code,{children:"CronWorkflowSpec"})," , ",(0,l.jsx)(e.code,{children:"CronWorkflowStatus"})," 필드에 포함되어 있어 필요한 데이터를 찾는 데 혼란을 불러왔었습니다."]}),"\n",(0,l.jsxs)(e.li,{children:["그래서 필요한 자료를 찾기 위해 ",(0,l.jsx)(e.code,{children:"CronWorkflowSpec"})," , ",(0,l.jsx)(e.code,{children:"CronWorkflowStatus"})," 필드의 예제에서는 크론워크플로우를 사용하는 예제만 허용하도록 했습니다."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-7",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"프로그램 참가 후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"오픈소스 생태계를 이렇게 심도있게 알아가고, 이해할 수 있는 모임이 또 있을까 라는 생각이 들 정도로 멘토님과 멘티분들이 훌륭하고 또 정말 열심히 모임을 이끌어 주셨습니다."}),"\n",(0,l.jsx)(e.li,{children:"개인으로서는 아쉬움이 무척 크기도 했습니다. 조금 더 시간을 투자하고 적극적으로 모임에 참여해서 개인의 성장 뿐만 아니라 더 좋은 모임으로 만들 수 있었을 텐데, 여러 외부 요인과 스스로의 게으름 때문에 아쉬움을 많이 남겼던 기간이었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"향후 기여 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"더 이상 오픈소스 컨트리뷰트가 무서운(?) 일이 아니라는 큰 자신감을 얻어서, 이후에도 Argo 생태계를 넘어 CNCF 생태계에도 더욱 관심을 가지고 오픈소스를 탐험할 수 있을 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"처음부터 소스를 다 까보지 않고도 이전 PR 기록, 메인테이너의 도움을 통해 기여를 할 수 있음을 토대로 컨트리뷰트에 대한 심리적인 허들을 넘어 적극적으로 기여를 이어갈 계획입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-6",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["newdeal123"]}),"\n",(0,l.jsx)(e.h3,{id:"8-송혜민",children:"8. 송혜민"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-7",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"컨트리뷰션 활동"})}),"\n"]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Mutex check happens after memoization cache check and lock info missing from UI"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11219",children:"Issue #11219"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11456",children:"PR #11456 - Merge 완료/3.4.10 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"Argo Workflow 의 Synchronization 및 Cache 기능을 동시에 사용할 수 있도록 수정할 수 있었습니다."}),(0,l.jsx)(e.p,{children:"해당 버그는 Argo Workflow 에서 Synchronization 및 Memoize 키워드를 같이 사용할 시 정상적으로 동작하지 않는 현상이었습니다."}),(0,l.jsx)(e.p,{children:"기대 동작은 Mutex Synchronization 이 동작한 이후 캐시가 동작하는 것이지만, Synchronization 가 동작한 뒤 캐시가 작동하지 않고 있었습니다."}),(0,l.jsxs)(e.p,{children:["예를 들어 아래와 같이 ",(0,l.jsx)(e.code,{children:"job-1"})," 과 ",(0,l.jsx)(e.code,{children:"job-2"})," 가 있을 시 ",(0,l.jsx)(e.code,{children:"job-1"})," 이 Synchronization 효과로 인해 먼저 동작을 하고 캐시를 쓰고 완료가 되면, ",(0,l.jsx)(e.code,{children:"job-2"})," 는 ** 동일한 캐시로 인해서 동작하지 않고 Pass 해야 합니다.**"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:se.Z})}),(0,l.jsx)(e.p,{children:"저는 이 과정을 Synchronization 과 Cache 의 순서를 조정하는 것으로 올바르게 수정할 수 있었습니다."}),(0,l.jsxs)(e.p,{children:["어렵지는 않은 수정이었지만, 복잡한 파일 중 하나인 ",(0,l.jsx)(e.code,{children:"operation.go"})," 를 수정했기에 많은 리뷰와 함께 Argo Workflow 의 다양한 기능들을 살펴볼 수 있었던 PR 이라 생각합니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Parent level memoization is broken"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11612",children:"Issue #11612"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11623",children:"PR #11623 - Merge 완료/3.4.11 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"위 수정으로 발생한 새로운 버그 사항으로, Argo Workflow 의 Template 레벨이 아닌 아래 Child 구성 요소에서 Memo 기능을 사용 시 무한 Pending 이 걸리는 버그가 제보되었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sn.Z})}),(0,l.jsx)(e.p,{children:"이전 PR 에서 테스트를 추가했으나 확인하지 못한 Case 가 존재했다는 것을 인지하고, 오류 발생 원인을 분석해서 다시 핫픽스를 반영할 수 있었습니다. 이 예외 사항을 추후에도 발견하기 위한 테스트를 4개 포함하여 PR 을 진행했습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"UI: workflowDrawer's information link is not correctly working"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11494",children:"Issue #11494"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11495",children:"PR #11495 - Merge 완료/3.4.10 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"Argo Workflow 대시보드에서 워크플로우를 펼쳤을 시, Information 아이콘의 링크가 망가진 사항을 수정했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sl.Z})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:""})," 태그 중첩으로 인한 잘못된 이벤트 전파를 방지하는 코드를 추가해 제대로 클릭이 동작하게 만든 내용입니다.\n해당 코드 수정으로 다시 아이콘 클릭 시 올바른 문서로 이동하도록 만들 수 있었습니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Search by name for WorkflowTemplates in UI"}),(0,l.jsx)(e.code,{children:"기능개선"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684 - Merge 완료/3.4.10 릴리즈 포함"})]}),(0,l.jsx)(e.p,{children:"다른 2명의 참가자 분들과 공동으로 개발하여 PR 을 진행한 내용입니다.\nArgo Workflow 에는 이름의 패턴을 통해 각 템플릿을 기능하는 유용한 기능이 빠져 있었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sr.Z})}),(0,l.jsxs)(e.p,{children:["이 기능을 추가로 제공하여 사용자가 더 이상 Yaml 의 라벨 뿐만이 아닌 이름으로도 Template 을 검색하도록 개발했습니다.\n",(0,l.jsx)(e.code,{children:"특히 정확한 이름이 아닌 LIKE 검색이라는 것이 앞으로도 유용할 것 같습니다."}),"\n이후에도 다른 페이지에 대해서 비슷한 수정을 통해 검색과 페이지네이션 기능을 확장할 예정이라 더욱 의미있는 PR 이었던 것 같습니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Add more readable Argo CLI installation guide into github documentation"}),(0,l.jsx)(e.code,{children:"문서기여"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11750",children:"Issue #11750"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11751",children:"PR #11751 - Merge 완료"})]}),(0,l.jsx)(e.p,{children:"Argo Workflows 에서 사용하는 커맨드라인 인터페이스인 Argo CLI 에 대한 문서 기여입니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:si.Z})}),(0,l.jsx)(e.p,{children:"현재 Argo CLI github 문서에는 인스톨에 대한 과정이 빠져 있어서, 첫 사용자가 Argo CLI 를 설치할 방법을 찾기가 어려웠습니다.\n기존에는 Release Note 로 직접 찾아 들어가거나 Quick Start 페이지로 반드시 들어가야 했는데, Argo CLI 페이지에 기존 Usage 이외에 Installation 항목을 추가하여 사용자 편의성을 높이도록 수정했습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Workflow templating is skipped when whitespace is added to template parameters"}),(0,l.jsx)(e.code,{children:"버그수정"})]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11767",children:"Issue #11767"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11781",children:"PR #11781 - Merge 완료"})]}),(0,l.jsxs)(e.p,{children:["Argo Workflow 에서 workflow template 작성 시 들어가는 ",(0,l.jsx)(e.code,{children:"{{parameter}}"})," 형태의 placeholder 가 ",(0,l.jsx)(e.code,{children:"{{ parameter }}"})," 와 같이 앞 뒤로 공백이 있을 경우 유효성 검사가 되지 않는 현상이었습니다.\n내부 유효성 검사 코드에서 parameter 에 대해서 앞, 뒤의 공백을 자르는 trim 을 하지 않고 있는 것이 원인으로, 이 부분에 trim 을 추가하여 공백을 제거해 해결했습니다.\n이 기여로 인해 기존 placeholder 내용이 유효성 검사를 무시해버리는 현상도 바로 잡을 수 있었습니다."]}),(0,l.jsx)(e.hr,{}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"모임 개발 활동"})}),"\n"]}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Argo Workflow OSS 공통 Repo 에 PR 올려보기"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/22",children:"PR #22 - Merge 완료"})}),(0,l.jsx)(e.p,{children:"Argo Workflow PR 전 여러 사람이 기여하기 위한 사전 연습을 진행했습니다. 새로운 문서 및 기존 문서를 다른 참가자들과 동시에 수정하여 올려서 Git 커맨드 및 Rebase 의 소중함에 대해서 배울 수 있었습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Dockerfile 로 웹서버 만들어보기"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/6",children:"PR #6 - Merge 완료"})}),(0,l.jsx)(e.p,{children:"로컬 8080 서버로 통신하여 localhost:8080 으로 접근 가능한 Dockerfile 을 하나 작성하고 서버를 띄우는 연습이었습니다.\n간단한게 Flask 로 파이썬 서버를 작성하고 Dockerfile 내 환경 설정, 서버 구동, 포트 연결을 통해서 Docker 커맨드로 외부에서도 서버에 접속 가능하도록 만들었습니다."}),(0,l.jsx)(e.hr,{})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-8",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["참가후기","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"이전에도 오픈소스 컨트리뷰션 아카데미를 참여했었지만, 이번 아카데미의 프로그램과 멤버, 내용 모두가 특히 만족스러웠습니다."}),"\n",(0,l.jsx)(e.li,{children:"단기간에 소스 코드를 파악하고 기여를 시작하는 것이 쉽지 않은데, 작은 내용이나마 기여를 시작할 수 있었다는 것이 놀라운 경험이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"멘토님의 집중적인 케어와 다른 참가자 분들의 열정이 정말 큰 도움이 되었다는 것을 깊게 느낄 수 있었습니다."}),"\n",(0,l.jsx)(e.li,{children:"혼자 시작했다면 금방 포기하고 잊어버렸을 내용이 다른 사람과 함께 진행하는 것만으로도 이렇게 달라질 수 있다는 것이 대단한 경험이었습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["앞으로의 계획","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"앞으로도 Argo Workflow 에 대한 컨트리뷰션을 이어나갈 생각이며, 다른 오픈소스 기여를 시작할 수도 있을 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"특히, 이제는 관심 있는 오픈소스에 대해 접근해서 시작하는 방법을 배웠기 때문에 열정만 있다면 조금 더 수월하게 진행할 수 있을 것 같습니다."}),"\n",(0,l.jsx)(e.li,{children:"다른 사람에게도 오픈 소스 기여에 대한 재미를 적극 전파하며, 자신 있게 추천할 예정입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-7",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["shmruin"]}),"\n",(0,l.jsx)(e.h3,{id:"9-안다혜",children:"9. 안다혜"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-8",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"문서 수정"})," 공식 문서의 ",(0,l.jsx)(e.a,{href:"https://argoproj.github.io/argo-workflows/running-locally/",children:"running-locally"})," 부분이 Dev-container와 Makefile을 처음 사용하는 사람들에게 직관적이지 않고, 깨진 링크들이 있어 pr ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11405",children:"#11405"}),"를 올리고 공식 문서를 수정하는 데 기여하였습니다."]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"이슈 기여"})," ",(0,l.jsx)(e.code,{children:"미완성"})," 이지만 Argo-workflows 의 워크플로우나, 워크플로우 내의 Pod 내에서 Secret 정보가 echo 등의 명령어로 노출될 수 있는 이슈 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/8685",children:"#8685"})," 가 있어 이를 해결해보고자 했습니다."]}),(0,l.jsxs)(e.p,{children:["4일 동안 하루에 3시간 정도, 총 12시간 정도를 이 이슈에 투자했으나 아직 해결하진 못하였습니다. (",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/commit/35866a599de80c02a950c52e800e69fc894d5b80",children:"중간 커밋"}),")"]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["총 11개 파일에 걸쳐 Argo-workflows 실행 시 주입할 수 있는 환경변수인 ",(0,l.jsx)(e.code,{children:"ARGO_HIDE_SECRETS"})," 을 추가하고 기본적으로 해당 옵션이 ",(0,l.jsx)(e.code,{children:"true"})," 로 작동하게 하였습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"위 환경변수를 command line에서 입력받거나, Argo-workflows 를 실행할 당시에 설정으로 추가할 수 있도록 하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["만약 ",(0,l.jsx)(e.code,{children:"ARGO_HIDE_SECRETS=false"}),' 로 설정할 경우, "You are running with logging include secrets. Be careful." 라는 로그가 찍히도록 하였습니다.']}),"\n",(0,l.jsxs)(e.li,{children:["workflow, pod의 로그에서 Secret에 해당하는 정보가 포함될 경우, SecretValue를 마스킹 할 수 있도록 코드를 수정하였습니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"테스트 코드를 작성하여 위 기능이 목적한 대로 동작하는지 검증하였습니다."}),"\n",(0,l.jsxs)(e.li,{children:["하지만 위 기능이 목적한 대로 작동하지 않았기에, 로그가 찍히는 과정을 탐색하기 시작하였습니다. Go 언어에서 사용하는 ",(0,l.jsx)(e.a,{href:"https://github.com/sirupsen/logrus",children:"logrus"})," 라이브러리는 ",(0,l.jsx)(e.a,{href:"https://pkg.go.dev/io",children:"io"})," 패키지의 io.Writer 를 사용한다는 것을 알게 되었습니다."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"과제 수행"})," Argo-workflows 팀은 멘토님이 OSS-Argo-workflows 레포지토리를 생성하고 여러 과제를 내주셨습니다."]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"실제 Argo-workflows 레포에서 pr을 올릴 때 지켜야 하는 원칙 (presigned commit, gpg check) 을 지키며 pr을 올리고, git conflict 를 해결하는 방법을 과제를 통해 배워나갔습니다."}),"\n",(0,l.jsxs)(e.li,{children:["실제 Argo-workflows 레포에서 pr을 올리기 위해, 코드를 수정한 후 Argo-workflows가 제대로 작동하는지 확인하려면 local 환경에서 Dev Container로 Argo-workflows를 동작시켜야 합니다. 저희 팀은 이 과정을 직접 수행해보는 과제를 받았고, 그 과정에서 수행에 어려움을 겪는 멤버들을 서로 도와주었습니다. 저는 블로그 글에 해당 방법을 수행하는 법을 정리하여 팀원들에게 공유하였습니다. ",(0,l.jsx)(e.a,{href:"https://aimb.tistory.com/317",children:"blog"})]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-9",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"오픈소스 컨트리뷰톤에 참여하면서 멋진 멘토님과 팀원들을 만났습니다. 저희는 매주 오프라인으로 만나며 그간 기여했던 이슈에 대해 공유하고, 업무적으로 도움이 되는 발표들을 매주 돌아가면서 진행하였습니다. 또한 막바지에는 ‘이슈 해커톤’을 만들어, 조를 나누어 이슈를 집중적으로 해결하는 자리를 만들었습니다. 그 결과 Argo-workflows 팀 자체에서 4건이 넘는 pr이 머지되었으며, 저도 한 이슈를 잡고 집중적으로 시간을 내 오픈소스를 깊숙히 파볼 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"Go 언어로 개발을 해보는 커리어를 염두에 두고 있었기 때문에, 프로덕션 레벨의 Go 코드를 보고 수정해보는 경험을 해볼 수 있어 정말 값진 경험이었습니다. 이렇게 열심히 사시는 분들과 같은 집단에 속할 수 있을까, 생각해보게 될 정도입니다. Masters가 끝나더라도 저는 위에서 해결하려던 이슈를 끝까지 파볼 작정이며, 개발 pr을 하나 더 올려보고자 합니다."}),"\n",(0,l.jsx)(e.p,{children:"그리고 기회가 된다면 2024년 오픈소스 컨트리뷰톤에도 참가해보고 싶습니다."}),"\n",(0,l.jsx)(e.p,{children:"좋은 기회와 장을 마련해주셔서 감사합니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-8",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["da-head0"]}),"\n",(0,l.jsx)(e.h3,{id:"10-안지완",children:"10. 안지완"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-9",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"1. 오픈소스 첫 기여"})}),(0,l.jsxs)(e.p,{children:["처음으로 ArgoWorkflows에 문서를 통한 기여를 했습니다. 공식 사이트에 이미지인지 비디오인지 혼동을 줄 여지가 있는 부분을 고쳐, 유저들이 확실히 동영상임을 인지하도록 수정했습니다.\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11755",children:"docs: modify demo image in intermediate-inputs.md #11755"})]}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. 다른 멤버의 활동을 보며 오픈소스 기여법 터득"})}),(0,l.jsx)(e.p,{children:"이번 오픈소스 컨트리뷰선 아카데미를 통해 오픈소스 기여를 하는 방법과 이슈를 찾는 요령에 대해서 알게 되었습니다. 요약하면 다음과 같습니다."}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"주요 로직이 아닌 아주 자잘한 버그 이슈, 또는 UI 부분에서도 생각보다 이슈가 엄청 많다."}),"\n",(0,l.jsx)(e.li,{children:"해당 오픈소스의 전문적인 지식, 또는 다른 분야 (ex. 프로트) 종사자여도, 충분히 해당 오픈소스에 기여할 수 있는 이슈들이 많다. (ex. UI 이슈)"}),"\n",(0,l.jsx)(e.li,{children:"기여를 하고 싶을 때는, 해당 이슈에 먼저 직접 이 이슈를 해결하고 싶다는 코멘트를 단 후, 작업을 시작한다."}),"\n",(0,l.jsx)(e.li,{children:"이 부분이 좀 신기했는데, Argo Workflow의 경우는 기여를 할 때 담당자가 배정된다는 점이 좀 신기했다. 아마 모르는 점? 또는 생소한 부분이 느껴질 때 담당자를 배정하는 것 같다."}),"\n",(0,l.jsx)(e.li,{children:"다양한 사람들이 많다. 정말 까칠하게 딱 한 줄 적으시는 분도 있고, 굉장히 친절하게 코멘트를 달아주시는 분도 있다."}),"\n"]}),(0,l.jsx)(e.p,{children:"다른 회원분들의 이슈 해커톤을 보며 이슈에 직접 기여하는 방법을 알게 되었습니다. 특히 다른 회원분의 이슈 중 “Pagination” 이슈를 매우 흥미롭게 봤습니다. 제가 argo workflow를 사용할 때는 눈치를 채지 못했는데, 페이지네이션이 일관성이 없다는 걸 캐치하시고 이슈를 만들어 기여를 하시는 것에서, 저렇게 자칫 지나쳐 갈 수도 있는 곳에도 충분히 기여가 가능하구나 라는 걸 깨달았습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"3. 개발 컨테이너 구축"})}),(0,l.jsx)(e.p,{children:"개인적으로 활동을 한 건 devcontainer를 직접 띄워 개발 환경을 세팅했습니다. 사실, 그 과정에서 무수한 오류가 발생했는데, 다른 분들께서 직접 도와주시고 골머리를 앓아가며 마침내 해결한 것을 보고, 뭔가 실무에서도 버그가 발생하면 다른 개발자분들이 오셔서 같이 머리를 쥐어짜내실 것 같은 모습이 상상이 갔습니다."}),(0,l.jsx)(e.p,{children:"멘토님께서 의존성 문제 해결 및 후에 다른 사람이 제 프로젝트에 이슈를 만들때, 동일한 환경에서 작업하는 것을 보장하기 위해 개발 컨테이너를 사용한다는 것을 알게 되고, 현재 제가 진행하고 있는 다른 프로젝트 (디스코드 봇 관련 프로젝트) 에서도 개발 컨테이너를 활용하여 개발을 해야될 것 같다고 생각했습니다."}),(0,l.jsx)(e.p,{children:"중간 보고서 이후에는 조금 마음가짐을 바꿔 위축감을 느끼는 것 보다는, 다른 현직자 분들이 실무에서는 어떤 식으로 서비스를 운영하시는지 그런 것들을 엿듣는 기회를 잡고자 했습니다. 실제로 멘티분들께서 다양한 주제로 발표를 하셨으며 회사 내에서 이루어지는 부하테스트, ebpf에 대한 설명 등 흥미로운 주제들을 들을 수 있었습니다. 학교를 다니면서 듣기 힘든 아주 귀중한 발표였던 것 같습니다."}),(0,l.jsx)(e.hr,{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"4. GPG Sign을 이용한 Verified Commit 방법 숙달 및 팀 깃허브 소개글 업로드"})}),(0,l.jsx)(e.p,{children:"그동안은 별도의 GPG Key없이 커밋을 해왔는데, 멤버 소개글을 업로드 하는 과정에서 DCO봇과 GPG 확인해서 계속 막혀, Verified 커밋을 생성하는 방법을 터득하고 팀 깃허브 레포에 소개글을 업로드했습니다. 그 과정에서 커밋을 할 때마다 자꾸 멈춰 애를 먹는 도중 같은 팀원의 도움을 받아 해결했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/49",children:"docs: 안지완 프로필 업데이트"})})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-10",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"사실, 중간보고서 쓰기 전까지 제 수준에 비해 이 활동이 너무 수준이 높고 다른 분들이 너무 잘하셔서 스스로 위축된 느낌이 있었으나, 멘토님께서 개별적으로 상담해주시고 잘 격려해주신 덕에 그 이후로 정기모임에 더 열심히 참여하고자 했습니다."}),"\n",(0,l.jsx)(e.p,{children:"Argo Workflow에서 수많은 이슈를 보며, 만만한 것이 있으면 한번 기여를 해볼까 하며 찾아봤는데, 너무 복잡하고 특히나 Go 언어를 잘 모르는 터라 손을 댈 수가 없었습니다. 대신, 직접 기여는 몰라도 다른 분들의 기여를 보며 오픈소스라는 세계에 입문하게 된 것 같았습니다."}),"\n",(0,l.jsx)(e.p,{children:"가장 기억에 남은 다른 분의 기여는 “페이지네이션”이었습니다. Argo Workflow의 어떤 부분은 페이지네이션이 되어있고, 어떤 부분은 되어있지 않으며, 또 어떤 부분은 제목은 나와 있지 않은, 한마디로 UI 내의 일관성 깨짐 문제를 발견하셨고, 이를 해결하고자 이슈 해커톤에서 팀원을 구해 기여하시는 모습이 인상깊었습니다."}),"\n",(0,l.jsx)(e.p,{children:"뭔가 제가 기여할 부분을 찾을 때는 로직 관련 이슈를 찾으려 했으나, 너무 어렵고 이게 대체 어떻게 돌아가는지 파악이 안됐는데, 저렇게 기여를 할 수 있구나…라는 생각이 들어 생각보다 기여에 그렇게 큰 겁을 먹지 않아도 된다는 생각이 들었습니다."}),"\n",(0,l.jsx)(e.p,{children:"멘토님을 포함한 다른 모든 분이 현직자이시며 정말 실력이 대단하신 만큼, 저도 모임에 가며 많은 것을 알아갔습니다. 워크플로우가 실무 내에서는 어떻게 쓰이고 있는지, 특히 제가 요즘 공부하고 있는, 정말 만능처럼 보이는 Airflow가 왜 실무 내에서는 그닥 그렇게 많이 쓰이고 있지는 않은지에 대한 이유 등 이론과 실무의 차이들을 볼 수 있었습니다."}),"\n",(0,l.jsx)(e.p,{children:"솔직히 오픈소스 컨트리뷰션에 참가한 만큼, 저도 이슈에 하나 정도는 기여하고 싶은 욕심이 있습니다. 남은 기간이 별로 안남은 만큼, 활동이 끝나기 전까지 아주 자잘한 이슈 하나 정도라도 기여하는 것이 우선 제 계획이며, 이제 개강이 기다리고 있는데, 개강을 해도 정기모임에 나가서 배울 수 있는 것은 최대한 배우는 시간을 가지고 싶습니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-9",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["synoti21"]}),"\n",(0,l.jsx)(e.h3,{id:"11-유윤우",children:"11. 유윤우"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-10",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"1. 왕초보반 dockerfile 만들어보기"}),"\n",(0,l.jsx)(d(),{alt:"task1",placeholder:"blur",src:so.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"나만의 웹 서비스를 만들고 도커파일을 통해 이미지를 빌드하고 컨테이너를 실행해보는 실습 진행"}),"\n",(0,l.jsx)(e.li,{children:"각자 원하는 프레임워크와 언어를 통해 서비스를 구축, 저는 Nest.js를 사용했습니다."}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. Nest.js 프레임워크 공부"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/yunwoo-yu/nest-board-app",children:"Nest.js 학습한 레포지토리"})}),"\n",(0,l.jsx)(e.li,{children:"프론트 엔드밖에 몰랐기에 간단한 API 서비스를 만들기 위해 빠르게 학습"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"3. dockerfile 생성 후 PR"}),"\n",(0,l.jsx)(d(),{alt:"task2",placeholder:"blur",src:sc.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"도커파일을 생성하여 image를 빌드해 서비스 정상작동까지 확인하고 PR을 올렸지만 github action의 빌드 테스트 실패"}),"\n",(0,l.jsx)(e.li,{children:"--production 옵션을 제거하면 테스트에 통과하지만 image 최적화가 되지 않는 문제가 발생. 멘토님께 조언 요청"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"task3",placeholder:"blur",src:sh.Z})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"멘토님의 피드백을 기반으로 문제해결 시작"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"4. 트러블 슈팅"}),"\n",(0,l.jsx)(d(),{alt:"task4-1",placeholder:"blur",src:sd.Z}),"\n",(0,l.jsx)(d(),{alt:"task4-2",placeholder:"blur",src:st.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"dokerfile로 이미지 생성시에 크기를 줄이기 위해 node_modules를 production 환경만 설치하려고 했지만 github action을 통과하지 못함"}),"\n",(0,l.jsx)(e.li,{children:"수많은 삽질끝에 nest-cli라는 모듈이 nest build시에 필요한데 devdependency안에 들어가 있던걸 변경하고 나니 해결됐다. (멘토님이 힌트를 주셨지만 못알아듣고 삽질한건 비밀)"}),"\n",(0,l.jsx)(e.li,{children:"로컬에서 빌드가 문제없이 되어서 더 헷갈렸는데 이유는 내 맥북에 글로벌로 nest-cli가 설치되어 있었다.."}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"5. 오픈소스 컨트리뷰터 활동"}),"\n",(0,l.jsx)(e.strong,{children:"[UI: The position sticky on the workflow toolbar is not working]"})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"workflows-list의 checkbox 선택 시 나오는 toolbar 위치가 상단에 고정 되어 있지 않던 버그를 해결했다."}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11442",children:"이슈 내용 보러가기"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11444",children:"PR 내용 보러가기"})}),"\n"]}),(0,l.jsxs)(e.p,{children:["[before]\n",(0,l.jsx)(d(),{alt:"before1",placeholder:"blur",src:sa.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"체크박스를 선택하고 스크롤 시 상단 툴바가 보이지 않는다."}),"\n",(0,l.jsxs)(e.li,{children:["기존에 있는 ",(0,l.jsx)(e.code,{children:"position : sticky"}),"가 적용되지 않는 문제를 ",(0,l.jsx)(e.code,{children:"position : fixed"}),"로 변경해 해결했다."]}),"\n"]}),(0,l.jsxs)(e.p,{children:["[after]\n",(0,l.jsx)(d(),{alt:"after1",placeholder:"blur",src:sx.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"체크박스 선택 후 스크롤 시에 상단에 툴바를 고정하여 별도의 스크롤 없이 바로 해당 리스트에 대한 이벤트를 실행할 수 있다."}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[UI - show history about completed runs in each cron workflow]"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["의정님이 찾은 좋은 개선 사항을 함께 진행 ",(0,l.jsx)(e.code,{children:"cron-workflows-detail"})," 컴포넌트에서 해당 워크플로우의 히스토리를 볼 수 있게 리스트를 추가하는 이슈"]}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"이슈 내용 보러가기"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"PR 내용 보러가기"})}),"\n"]}),(0,l.jsxs)(e.p,{children:["[before]\n",(0,l.jsx)(d(),{alt:"before2",placeholder:"blur",src:sj.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["기존 ",(0,l.jsx)(e.code,{children:"cron-workflows-detail"})," 페이지에는 아무것도 없었지만"]}),"\n"]}),(0,l.jsxs)(e.p,{children:["[after]\n",(0,l.jsx)(d(),{alt:"after2-1",placeholder:"blur",src:sp.Z}),"\n",(0,l.jsx)(d(),{alt:"after2-2",placeholder:"blur",src:su.Z})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["해당하는 ",(0,l.jsx)(e.code,{children:"cron-workflows"}),"에 히스토리 ",(0,l.jsx)(e.code,{children:"workflows"}),"와 히스토리가 없을 경우에 예시도 추가해줬다."]}),"\n",(0,l.jsx)(e.li,{children:"해당 PR은 아직 확인중인 상태"}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-11",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"너무 좋은 경험이였습니다."}),"\n",(0,l.jsx)(e.p,{children:"아쉽게 취업을 하게되면서 바빠지고 서버와 데브옵스쪽 지식이 부족해 많은 컨트리뷰터 활동이나 오프라인 모임에 참여하지 못한 아쉬움도 많이 남았습니다."}),"\n",(0,l.jsx)(e.p,{children:"그래도 포기하지않고 프론트엔드 쪽으로 더 많은 컨트리뷰터도 진행해보고 서버 쪽 공부도 진행해서 argoWorkflow에도 더 많은 기여를 해보도록 노력해보겠습니다!"}),"\n",(0,l.jsx)(e.p,{children:"좋은 활동 만들어 주셔서 감사하고 왕초보여도 하나씩 단계를 밟아가며 성장할 수 있게 도와주신 멘토님 리드멘티 님들 감사합니다 \uD83D\uDC4D"}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-10",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["yunwoo-yu"]}),"\n",(0,l.jsx)(e.h3,{id:"12-이병곤",children:"12. 이병곤"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-11",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"발대식 참여"}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"K8s 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Operator 개념 학습"}),"\n",(0,l.jsx)(e.li,{children:"Helm 학습"}),"\n",(0,l.jsx)(e.li,{children:"CNI 개념 학습"}),"\n",(0,l.jsx)(e.li,{children:"Service Mesh 개념 학습"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Argo Workflows 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["기본적인 사용법 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://argoproj.github.io/argo-workflows/workflow-concepts/",children:"https://argoproj.github.io/argo-workflows/workflow-concepts/"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.youtube.com/watch?v=kxl6wYd5i2g",children:"https://www.youtube.com/watch?v=kxl6wYd5i2g"})}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["주변 기술 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"DevContainer 학습"}),"\n",(0,l.jsx)(e.li,{children:"Nix 학습"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://nixos.org/manual/nixos/stable/",children:"https://nixos.org/manual/nixos/stable/"})}),"\n",(0,l.jsx)(e.li,{children:"MinIO 학습"}),"\n",(0,l.jsx)(e.li,{children:"KeyCloak 학습"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Argo Workflows 컨트리뷰션 ",(0,l.jsx)(e.code,{children:"버그수정"})]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["DevContainer 오작동 관련 이슈작성 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11439",children:"https://github.com/argoproj/argo-workflows/issues/11439"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"컨테이너 재시작 시 /etc/hosts 엔트리 지워지는 문제"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["DevContainer 오작동 해결 PR 작성 및 머지 완료 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11440",children:"https://github.com/argoproj/argo-workflows/pull/11440"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"devcontainer.json의 runArgs에 —add-host 옵션 추가하여 해결"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Argo Workflows 주변 기술 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"학습한 내용 토대로 NixOS 설치 및 사용"}),"\n",(0,l.jsx)(e.li,{children:"Argo CD, Argo Events, Argo Rollout 에 대해 조사"}),"\n",(0,l.jsxs)(e.li,{children:["Keycloak 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows에서는 Keycloak 연동을 지원하고 있음, 이에 궁금증이 생겨 Keycloak에 대해 조사"}),"\n",(0,l.jsx)(e.li,{children:"OAuth2와 OIDC 차이점에 대해 학습"}),"\n",(0,l.jsxs)(e.li,{children:["Keycloak 개념에 대해 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Role"}),"\n",(0,l.jsx)(e.li,{children:"Ream"}),"\n",(0,l.jsx)(e.li,{children:"Client"}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"Keycloak 설정 방법에 대해 학습"}),"\n",(0,l.jsx)(e.li,{children:"Keycloak API 및 연동 방법에 대해 학습"}),"\n",(0,l.jsxs)(e.li,{children:["Keycloak 공식 문서 학습","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.keycloak.org/docs/latest/securing_apps/index.html",children:"https://www.keycloak.org/docs/latest/securing_apps/index.html"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html",children:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"Keycloak 직접 설치 및 사용 실습"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-12",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"이번 컨트리뷰션 아카데미를 통해 오픈소스에 기여하는 것 뿐만 아니라 새로운 기술에 대해 학습하게 되는 동기부여가 되서 좋았습니다.\n직장 일이 바쁜 와중에 참가해서 쉽지는 않았지만 꼭 올해 컨트리뷰션에서만 Argo Workflows에 대해 기여하는 것이 아니라 향후 컨트리뷰션에서도 몇년간 기여해보는 것을 목표로 길게 보고 있습니다.\n앞으로의 계획은 Argo Workflows뿐만 아니라 다른 Argo Projects를 직접 구축해보고 제 개인 토이 프로젝트에도 적용해보는 것이 목표이고 K8s에 대해서도 더 많은 공부를 하는 것이 계획입니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-11",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["binkoni"]}),"\n",(0,l.jsx)(e.h3,{id:"13-이의주",children:"13. 이의주"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-12",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),"\n",(0,l.jsx)(e.strong,{children:"1. Git 사용법 & Commit & PR 규칙 숙지"})]}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"컨트리 뷰션을 하기 위해 엄격한 Commit 과 Pull Request를 보내기 위한 기초적인 Git 사용법 숙지 및 Mission 수행"}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["공식 Argo Workflow 프로젝트에서도 컨트리뷰션 하고 싶은 Issue에 대해 ",(0,l.jsx)(e.strong,{children:"Issue Template"})," 를 이용하고 PR 을 날리는 방식을 사용하고 있어 도움이 되었고 Issue Template 의 존재도 알게된 계기가 되었음."]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"향후 컨트리뷰션 부분에 꼭 필요한 요소들을 간접적으로 체험할 수 있는 기회"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://flank.github.io/flank/pr_titles/",children:"PR 의 네이밍 컨벤션"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/apps/dco",children:"DCO 봇 Check"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg",children:"GPG Commit"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://www.conventionalcommits.org/en/v1.0.0/",children:"Commit Message 컨벤션"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword",children:"이슈와 PR을 연결"})}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Issue 생성 - 멤버 프로필 업데이트 - PR - Review - Merge 의 과정"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"menberprofile1",placeholder:"blur",src:sg.Z})}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. 왕초보 특별반 참여 (Mentor 가 생성한 초보자들을 위한 과정)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"왕초보 특별반 미션을 위한 Repo(container-playground)"})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Docker 혹은 Kubernetes 에 익숙하지 않은 인원 혹은 처음인 인원에 도움을 주는데 목적\n",(0,l.jsx)(d(),{alt:"class1",placeholder:"blur",src:sk.Z})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"멘토가 제시한 과제를 수행하면서 Docker Image 최적화의 필요성에 대해 학습"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"From 절 부터 Layer(층)별로 어떤 패키지, Static file 들을 쌓아가는 과정이기 때문에 Docker 이미지가 무거워져 성능 향상에 악영향을 미칠 수 있기 때문에 최적화는 필수임을 깨달음."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Mission"}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"❗️목표❗️"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"나만의 웹서비스를 제작하고, 컨테이너화 할 수 있는 도커파일을 작성해 봅니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"과제 통과를 위해서 반드시 아래 사항을 준수해 주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• 디렉터리 및 파일 배치"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 나만의 서비스를 반드시 본인 github 계정 디렉터리를 생성하고, 그 아래 작성해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 본인 디렉터리의 최상단에는 반드시 `Dockerfile` 이 위치해야 합니다.(이 조건을 달성하지 못하면 CI가 실패합니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 본인 디렉터리 아래에 한해서, `Dockerfile`의 위치를 제외한 나머지 파일들은 자유롭게 작성해도 됩니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 단, 본인 디렉터리 최상단에서 `docker build -t [이미지명] .` 명령을 수행 했을때 성공적으로 이미지가 빌드 되어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• 빌드 된 이미지의 동작"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 나만의 웹서비스는 반드시 8080포트에서 동작해야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 빌드 된 이미지는 별도의 파라미터 없이 `docker run -d -p [포워딩 포트번호]:8080 [이미지명]` 으로 실행 했을 때 문제 없이 서비스 되도록 만들어야 합니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• 웹서비스 개발언어 및 서비스 구조"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 본인이 선호하는 어떤 언어, 어떤 프레임워크를 활용해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • UI, 디자인이 존재하지 않는 단순 api서비스를 제작해도 상관 없습니다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 단, 필수 api를 두개 만들어야 합니다. (응답값은 신경쓰지 않습니다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[본인 github계정]"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• (Optional) 도커 이미지 최적화를 하면 더 좋습니다. ([참고](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"• [키워드를 활용한 PR과 이슈 연결 방법](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)을 참고하여 이슈와 PR을 연결해주세요. (수동연결 x)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"❗️ 참고사항❗️"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"•도커의 개념과 Dockerfile을 작성하기 위해 아래 문서를 참고 하면 좋아요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [Dockerfile 작성 공식 문서](https://docs.docker.com/engine/reference/builder/)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [왕초보를 위한 도커 사용법](https://mysetting.io/slides/xxj85vnvey) (Docker Toolbox관련 내용은 deprecate된 내용)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"PR을 올리고 머지하기 위해 아래 사항들을 참고하면 좋아요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Repo에 브랜치등을 생성하거나 Push할 수 있는 권한이 없으므로 fork 후 작업해야 해요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [PR의 네이밍 컨벤션](https://flank.github.io/flank/pr_titles/)을 참고해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [DCO](https://github.com/apps/dco) 봇의 체크를 통과하기 위한 조건을 참고하여 커밋해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)를 이용해 커밋하는 방법을 이해하여 서명된 커밋을 작성해주세요."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • [커밋 메시지 컨벤션](https://www.conventionalcommits.org/en/v1.0.0/)도 적용할 수 있으면 좋아요. 꼭 따르지 않더라도, 너무 의미없는 커밋 메시지는 지양해주세요.(Optional)```"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})})]})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"기존에 Python 기반의 Django 프레임워크를 다뤄본 경험이 있어 Django REST API를 생성하는 Docker FIle을 작성."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["PR을 날렸지만, ",(0,l.jsx)(e.strong,{children:"보안이슈"})," 혹은 ",(0,l.jsx)(e.strong,{children:"불필요한 패키지 import 구문"})," 의 오류를 지적받음."]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"review1",placeholder:"blur",src:sm.Z}),"\n",(0,l.jsx)(d(),{alt:"review1",placeholder:"blur",src:sw.Z})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Django 프로젝트의 ",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"http://settings.py",children:"settings.py"})})," 코드에서는 ",(0,l.jsx)(e.strong,{children:"SECRET_KEY 가 노출"})," 된다는 것을 처음 알았으며 어떻게 이러한 보안 이슈를 해결할 수 있을까에 대해 고민해보는 시간을 가질 수 있었음."]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Secret key 가 담긴 .json 파일을 생성하고 ",(0,l.jsx)(e.a,{href:"http://settings.py",children:"settings.py"})," 에서 json 파일을 참조하는 방향으로 진행하였다."]}),"\n",(0,l.jsxs)(e.li,{children:["secret.json 파일은 Commit 에 올리지 못하므로 ",(0,l.jsx)(e.strong,{children:".gitignore"})," 를 통해 json 파일을 무시하는 방법을 알게되었으며, dbsqlite3 같은 어떤 명령어 수행 후에 생성되는 불필요한 파일들도 무시할 수 있었음."]}),"\n",(0,l.jsx)(e.li,{children:"로컬에서 개발한 결과물을 Git 프로젝트에 올리기 위해서는 여러 고려사항이 필요하다는 것을 깨달은 경험이었음."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["몇가지 Review를 통과하고 PR이 ",(0,l.jsx)(e.strong,{children:"Merge"})," 될 수 있었음."]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"3. Argo Workflow Contributor"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["Argo Workflow 를 이것저것 살펴보던 도중, ",(0,l.jsx)(e.strong,{children:"Argo Workflow - Contact - Help"})," 필드에서 ",(0,l.jsx)(e.strong,{children:"Deprecated"})," 된 Argo Workflow Slack 채널을 보게되었음.\n사소한 ",(0,l.jsx)(e.strong,{children:"UI Issue"})," 라고 생각했지만, UI가 어떤 언어로 보여주며, 어떤 방식으로 개발되었는지 확인할 수 있는 기회라고 생각하여 Issue 를 올리고 PR을 제출."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"slack11",placeholder:"blur",src:sf.Z})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["생성한 ",(0,l.jsx)(e.strong,{children:"Issue"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11615",children:"UI: non-existent Slack Workspace link on help page Issue"})})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue1",placeholder:"blur",src:sb.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이슈를 생성하니 Argo 프로젝트의 Maintainer 분이 금방 코멘트를 남겨주셨음."}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"임의로 CNCF Argo Channel 링크로 Fix 하려 하였으나, 메인테이너분이 다른 링크로 Update 해달라는 코멘트를 받음."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["생성한 ",(0,l.jsx)(e.strong,{children:"PR"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11627",children:"fix: deprecated Link(Help-Contact) Issue"})})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue2",placeholder:"blur",src:sv.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflow 는 React 기반으로 UI가 구성되어 있었고, 컴포넌트별로 디렉토리가 정렬되어 있어 쉽게 코드를 분석할 수 있었음."}),"\n",(0,l.jsxs)(e.li,{children:["Issue 가 있던 ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/blob/e46202a4c00f5c685a02eca9392ddfc1305ac9a0/ui/src/app/help/components/help.tsx#L28C12-L28C12",children:"Code 부분"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:["실수로 Commit 중에 Signed-off 옵션을 생략해서 DCO 봇 TEST에 통과 못했지만, GIt 에서 이전 커밋을 되돌리거나(",(0,l.jsx)(e.strong,{children:"Rebase"}),"),\n여러 불필요한 커밋을 하나로 합치는(",(0,l.jsx)(e.strong,{children:"Squash"}),") 기능을 알게되었고 이전 커밋을 돌려 ",(0,l.jsx)(e.code,{children:'git commit -S -s -m "Commit Message"'})," 커밋하였음."]}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["‘",(0,l.jsx)(e.strong,{children:"LGTM"}),"’ 코멘트가 무슨뜻인가 찾아보았는데 구글에서는 LGTM이라는 태그를 달아 의사를 표현하는데 ",(0,l.jsx)(e.strong,{children:"Looks Good To Me"}),". 즉, 좋아 보인다는 뜻이라고 하여 뿌듯한 경험이었음."]}),"\n",(0,l.jsx)(e.li,{children:"버그를 찾아내거나 UI를 수정하는 등의 과정도 중요하지만, 가장 중요한 것은 Argo Workflow 생태계가 정한 규칙대로 컨트리뷰션을 수행하는 과정도 중요하다고 생각한다."}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"4. Argo Workflow Hackerton 참여 (Argo workflow - OSSCA 팀내에서 개최한 해커톤)"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Pull Request(Merged) :"})," ",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"feat: Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"Issue :"})," ",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해커톤 활동 기간"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"1차 해커톤 (해커톤 C조) : 23.08.16 - 23.08.20"}),"\n",(0,l.jsxs)(e.li,{children:["2차 해커톤 (해커톤 C조) : 23.08.20 - 23.08.27\n",(0,l.jsx)(d(),{alt:"hack1",placeholder:"blur",src:sy.Z}),"\n",(0,l.jsx)(d(),{alt:"hack2",placeholder:"blur",src:sD.Z})]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"클러스터에 많은 수의 템플릿이 있는 경우 이름으로 검색하는 것이 좋지만, 검색기능이 없어 모든 템플릿을 스크롤하는 것은 항상 불편하다는 이슈"}),"\n",(0,l.jsx)(e.li,{children:"Argo Workflow UI 에서 워크플로우 템플릿의 결과를 이름별로 필터링하는 기능이 필요하다고 생각되어서 조끼리 회의한 결과로 이슈를 채택."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"역할"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Front-End 담당","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo workflow Template UI 의 검색 필드(Bar) 생성"}),"\n",(0,l.jsx)(e.li,{children:".get 로직을 분석하여 Name Pattern(Like 검색)을 어디로 넘겨주는지 분석"}),"\n",(0,l.jsx)(e.li,{children:"workflow-template 컴포넌트 디렉토리의 workflow-template-filter.tsx, workflow-template-list.tsx 수정"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"회의 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"회의는 Slack 해커톤 채널을 통해 조끼리 매일 의견과 정보를 공유"}),"\n",(0,l.jsx)(e.li,{children:"1차 논의 내용"}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"1. name 검색 기능 (backend)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 추가(LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 추가(LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 추가(LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"2. name 검색 기능 (frontend)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 ui 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 검색 사이드 바 추가 (name, label)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 검색 ui 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"3. 페이지네이션 (frontend)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name 기준 pagination"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • pagination 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow 페이지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • pagination 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"4. 테스트 코드 작성"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - name 검색 (LIKE 검색)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" - 어떤 테스트 코드 작성해야하는지 더 분석 필요"})})]})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["2차 논의 내용","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"1차 오프라인 회의"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"hack3",placeholder:"blur",src:sC.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"1. 공동 커밋 방법"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • https://github.com/ArgoWorkflows-OSS/argo-workflows 레파지토리를 로컬에 클론받는다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 해당 레파지토리에 우리 팀이 작업할 브랜치를 생성한다. (`master` vs `release-3.4.10`)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 해당 레파지토리의 해당 브랜치에서 각자 담당한 기능을 작업한다. (PR올리기 위한 커밋 규칙을 잘 지켜서 커밋한다.)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 모두의 작업이 완료되면 3명중 1명이 PR 템플릿에 맞게 PR을 날리기"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 3명 모두가 컨트리뷰터가 될 수 있음"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"2. 해커톤이고 정해진 기간이 있기 때문에 일단 workflow-template, cluster-workflow, cron-workflow 중 먼저 메인이라고 생각되는 workflow-template name filter 를 먼저 구현해보고 PR을 날려 메인테이너가 Merge 해주면 다음으로 넘어가기로 결정"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 파트별 임무"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 백엔드"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server.go"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 이름 필터링 및 페이지네이션 재계산"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 프론트 :"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workfflow-template-filter.tsx"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name 검색 UI 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name 인자 수신 및 필터링"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template-list.tsx"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name state 추가"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • userEffect list 에 name 전달"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template.tsx, Utils.tsx"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • Name 인자 전달"})})]})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"3차 논의 내용"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"2차 오프라인 회의"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"hack4",placeholder:"blur",src:sN.Z})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 1. 오프라인 미팅 회의 내용"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • namespace 없는 경우도 필터 시 포함해야 할 것 같다는 의견. (namespace 없애자고 말 할 근거 부족 - 타 사이트(쿠버네티스 대시보드, 오픈시프트, 아르고씨디 등)들도 namespace 없는 경우 제공)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • continue에서 사용하고 있는 로직을 가져와 적용가능한지와 커스텀한 결과에서도 continue를 그대로 유지할 수 있는지에 대한 생각"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 수요일 밤까지 continue 로직 분석 후, continue를 사용하여 페이지네이션이 불가능 하다고 결론이 날 경우 이슈 코멘트에 질문 업로드"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 프론트단 페이지네이션(데이터 리로드 안됨, argocd에서 사용중인 방식) vs 서버단 페이지네이션(매번 전체 리스트 조회 후 페이지네이션, 부하 괜찮을지)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 서버사이드 캐싱 구현할 경우 저장할 곳이 있는지"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 2. 페이지 넘길때마다 매번 네임스페이스, 라벨만 적용해서 k8s 전체검색 하는걸로 결정"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 3. offset 기반 페이지네이션 방법**에서 로직 추가로 구현"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 안됐던 부분"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • next page 버튼 클릭 후 필터링 검색했을 경우, 있는 검색 결과더라도 아무 데이터도 나오지 않는다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • next page 버튼 클릭 후 페이지네이션 갯수 늘리면, 검색결과가 제대로 보이지 않는다."})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 변경된 부분"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • continue 값을 서버에서 갱신해주다보니, 페이지 갯수를 늘리거나/필터링을 걸었을 때 서버에 이미 세팅된 continue값을 기준으로 페이지네이션을 해서 문제 존재,"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" continue 값을 프론트에서 넘겨주도록 변경하는 방식을 채택(페이지 갯수 늘리거나/필터링을 걸었을 때 continue를 다시 0으로 세팅)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 4. 페이지네이션 테스트"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server_test.go 통과"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • (workflow template 14개 등록)"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • UI workflow template 첫 페이지 정상"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow template 페이지 limit 5, 10, 50 일 때 정상"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow template 페이지 1 페이지에서 workflow template 추가 후 2페이지 이동"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow template 페이지 1 페이지에서 workflow template 삭제 후 2페이지 이동"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • 위 내용을 `name pattern` 필터링 검색으로 테스트"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name pattern 없이 검색 후 name pattern 추가하여 재검색"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" • name pattern 포함 검색 후 name pattern 삭제 후 재검색"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" 5. PR 생성"})})]})}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"Like 필터(Name Pattern) 구현"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"예) sp로 시작하는 workflow-template 검색가능"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"filter1",placeholder:"blur",src:sA.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:"결과"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"filter2",placeholder:"blur",src:sW.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"구현은 성공이였으며, 이후에는 이전에 논의했던 cluster-template, cron-template 컴포넌트들을 수정할 예정"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"5. 컨트리뷰션 활동 외 학습"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Google Kubernetes Study Jam 교육 수료"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://www.cloudskillsboost.google/public_profiles/7f855d64-3f2e-432a-9763-fde644b6af4b",children:"Badge"})})}),"\n",(0,l.jsx)(e.li,{children:"Architecting with Google Kubernetes Engine: Foundations(Earned 7월 18, 2023 EDT)"}),"\n",(0,l.jsx)(e.li,{children:"Architecting with Google Kubernetes Engine: Workloads(Earned 7월 26, 2023 EDT)"}),"\n",(0,l.jsx)(e.li,{children:"Architecting with Google Kubernetes Engine: Production(Earned 8월 4, 2023 EDT)"}),"\n",(0,l.jsxs)(e.li,{children:["정리한 내용은 개인 블로그(velog)에 기록\n",(0,l.jsx)(e.strong,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@euijoo3233/series/GCP",children:"euijoo's Velog GCP Series"})})]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-13",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"참가후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"아카데미 이전에는 Argo CD에 대한 지식만 가졌지만, 이후에는 Argo Workflow 프로젝트에 대해 조사하고 분석하며 강력한 기능들을 어떻게 활용하면 좋을지 생각해볼 수 있는 레벨까지 도달할 수 있었음."}),"\n",(0,l.jsx)(e.li,{children:"처음 컨트리뷰션을 진행하면서 이슈를 생성하고 메인테이너들과 소통하며 부탁받은 사항에 대해 수정하고 PR을 생성하는 방식으로 진행하니 금방 코멘트가 달렸고 Merge 되는 성과를 달성."}),"\n",(0,l.jsx)(e.li,{children:"사소한 이슈일 수도 있지만, 기여하고자 하는 부분에대해 전체적인 분석이 필요하다고 느낀 경험이었음."}),"\n",(0,l.jsx)(e.li,{children:"이 뿐만이 아니라, 팀 내에서 자체적으로 이슈 해커톤을 진행하면서 UI 즉, 프론트 부분만이 아니라 백엔드 부분의 로직을 분석하며 Argo workflow가 내부에서 어떻게 상호작용하는지 분석할 수 있는 기회였음."}),"\n",(0,l.jsx)(e.li,{children:"우리조는 몸체가 큰 이슈여서 이에 맞춰 온라인 뿐만 아니라 오프라인 회의도 병행하며 진행한 결과 목표에 도달할 수 있었고, 두명의 인원은 현업에 종사하는 분들이여서 어려운 부분에 대해서는 친절히 설명해주셔서 유익한 경험이었음."}),"\n",(0,l.jsx)(e.li,{children:"계속해서 해커톤 팀원 혹은 전체 팀원들과 함께 소통하고 싶은 소망이 있음."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"앞으로의 계획"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"아직 OSSCA 기간이 끝나지 않았기 때문에 지속적으로 이슈를 탐색(Cluster-workflow-template, Cron-workflow 등)하거나, Argo Workflow 문서의 오타나 번역 오류를 발견하고 지속적으로 PR을 제출할 생각임"}),"\n",(0,l.jsx)(e.li,{children:"또한, OSSCA 기간이 끝난 이후에는 지금까지 정리해왔던 내용을 포트폴리오화 할 예정."}),"\n",(0,l.jsx)(e.li,{children:"토이프로젝트로 현재 진행중인 Argo Workflow를 활용한Data ETL 작업을 완료해볼 예정임."}),"\n",(0,l.jsx)(e.li,{children:"만약, 취업이 된다면 Argo Workflow의 많은 기능들을 현업에 도입하여 많은 인사이트를 창출하고 싶은 소망이 있음."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-12",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["Leeeuijooo"]}),"\n",(0,l.jsx)(e.h3,{id:"14-전의정",children:"14. 전의정"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-13",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ Contribution 관련 블로그 기록"})}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/series/2023-OSSCA",children:"시리즈 | 2023 OSSCA - ddubi.log"})}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ 다양한 과제 수행"})}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Github에서 issue/commit/PR 미션 수행"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 요약]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"mission1",placeholder:"blur",src:sS.Z})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["멤버 프로필 업데이트 이슈를 선택하고 해당 repo를 나의 repo에 fork한 후 나의 repo에서 ",(0,l.jsx)(e.code,{children:"users.md"})," 와 ",(0,l.jsx)(e.code,{children:"[이름].md"}),"를 ",(0,l.jsx)(e.code,{children:"docs/user"}),"아래에 추가한다. 그 후 이슈를 연결해서 PR을 올리고 commit 하는 과제"]}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/19",children:"docs : 전의정 프로필 업데이트 by juijeong8324 \xb7 Pull Request #19 \xb7 ArgoWorkflows-OSS/ArgoWorkflows-OSS"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-2",children:"Github에서 issue/commit/PR"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Running Locally"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 요약]"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflows를 local 환경에서 실행시키는 과제"}),"\n",(0,l.jsx)(e.li,{children:"Windows 환경에서 wsl2를 설치한 후 devcontainer cli를 이용하여 argo workflows 실행"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-3",children:"Argo Workflows 로컬에서 실행하기"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-4",children:"Argo Workflows 로컬에서 실행하기 - 재도전"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-5",children:"Argo Workflows 로컬에서 실행하기 - 파이널"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-6",children:"Argo Workflows 로컬에서 실행하기 - 최종 정리"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"3",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"왕초보 특별반 - 나만의 서비스 컨테이너 이미지 제작"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"mission2",placeholder:"blur",src:sP.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 요약]"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"왕초보 특별반은 Argo-worfklows 팀 내에서 컨테이너, 쿠버네티스, argo에 대해 잘 모르고 있는 뉴비들(It's me...)을 위한 특별반이다."}),"\n",(0,l.jsx)(e.li,{children:"나만의 웹서비스를 제작하고 이를 컨테이너화 할 수 있는 Dockerfile을 작성하는 과제"}),"\n",(0,l.jsx)(e.li,{children:"Dockerfile, docker, image, container와 관련된 개념을 이해하고 있어야 함"}),"\n",(0,l.jsx)(e.li,{children:"본인은 node.js, express 환경에서 웹서버 구축 후 dockerfile 작성"}),"\n"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[과제 결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/tree/main/juijeong8324",children:"과제 관련 코드"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-7",children:"왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/Docker-dockerfile",children:"[Docker] Dockerfile 기본 명령어에 대해 알아보자"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ 오프라인 참석"})}),(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.th,{align:"left",children:"날짜"}),(0,l.jsx)(e.th,{align:"left",children:"활동요약"})]})}),(0,l.jsxs)(e.tbody,{children:[(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.07.15"}),(0,l.jsxs)(e.td,{align:"left",children:["- 자기소개 ",(0,l.jsx)("br",{})," - (세미나) Argo workflows에 대한 소개 및 멘토님의 적용 사례"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.07.30"}),(0,l.jsxs)(e.td,{align:"left",children:["- 금주의 이슈 탐색 공유 ",(0,l.jsx)("br",{})," - 본인은 로컬 실행 문제 해결 중임을 언급 ",(0,l.jsx)("br",{})," - (세미나) 혜민님의 WebRtc, 수녕님의 keyclock과 argo worfklows 연동"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.08.13"}),(0,l.jsxs)(e.td,{align:"left",children:["- 왕초보 특별반 과제 피드백 받음 ",(0,l.jsx)("br",{})," - 금주의 이슈 탐색 공유 ",(0,l.jsx)("br",{})," - (세미나)멘토님의 컨테이너 역사와 원리 특강"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{align:"left",children:"2023.08.20"}),(0,l.jsxs)(e.td,{align:"left",children:["- 금주의 이슈 탐색 공유 ",(0,l.jsx)("br",{})," - 본인은 Issue #11131에 대해 공유 ",(0,l.jsx)("br",{})," - (세미나) 다혜님의 ‘개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC’"]})]})]})]}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ Issue 탐색 및 Issue 생성"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11131",children:(0,l.jsx)(e.strong,{children:"Issue #11131"})})," ",(0,l.jsx)(e.code,{children:"버그수정"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[이슈 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:["workflow input parameter 안의 ",(0,l.jsx)(e.code,{children:'"'}),"가 escape 되지 않아 ",(0,l.jsx)(e.code,{children:"workflow.parameter.json"}),"으로 참조할 때 에러 발생"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsx)(e.p,{children:"Argo workflows 상의 문제가 아닌 파이썬 환경의 문제이기 때문에 해당 이슈는 기각"}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/Argo-Issue11131",children:"Blog : Argo Workflows - Issue #11131"})}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:(0,l.jsx)(e.strong,{children:"Issue #11706"})})," ",(0,l.jsx)(e.code,{children:"UI 개선"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[이슈 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"issue 11706",placeholder:"blur",src:sR.Z}),"\ncron workflow 탭에서 각 workflow의 history를 확인할 수 있는 UI를 추가했으면 좋겠다는 이슈"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-11",children:"Blog : Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"PR #11811"})," Closes"]}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"✅ PR open & merge"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11732",children:(0,l.jsx)(e.strong,{children:"PR #11732"})})," ",(0,l.jsx)(e.code,{children:"문서기여"})," ",(0,l.jsx)(e.code,{children:"PR Merge"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[PR 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:["Argo Workflows 공식문서에서 ",(0,l.jsx)(e.strong,{children:"Artifact Visualization"}),"에 존재하는 이미지가 유뷰트 영상 링크임을 잘 보여줄 수 있게 이미지를 수정하는 PR"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"pr1",placeholder:"blur",src:sF.Z})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-13",children:"Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"result1_1",placeholder:"blur",src:sI.Z}),"\n위와 같이 이미지 가운데에 유튜브 재생 버튼을 추가한 이미지로 대체"]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"result1-2",placeholder:"blur",src:sO.Z}),"\nmerge 완료"]}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:(0,l.jsx)(e.strong,{children:"PR #11811"})})," ",(0,l.jsx)(e.code,{children:"UI개선"})," ",(0,l.jsx)(e.code,{children:"PR Open"})]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[PR 요약]"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"Issue #11706"})," 을 해결하고자 한 PR"]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"pr2",placeholder:"blur",src:sM.Z}),"\ncron workflows page에서 특정 cron-workflow를 클릭했을 때 실행된 cron-workflow를 확인할 수 있게 수정"]}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"pr2_1",placeholder:"blur",src:sZ.Z}),"\n실행된 cron-workflow를 찾을 수 없는 경우 위와 같은 안내 사항을 표시"]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"[결과]"})}),"\n",(0,l.jsx)(e.p,{children:"Merge 완료"}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-14",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"사실 DevOps, 인프라 분야가 크게 와 닿지 않고 많이 생소한 분야였는데 Argo Workflows 프로젝트를 통해서 해당 분야에 대해 이전보다 좀 더 친숙해진 느낌을 받습니다."}),"\n",(0,l.jsx)(e.li,{children:"Docker, Container 등의 개념들을 이론적으로만 접하다가 직접 실습을 통해 익히고, 또 해당 개념들 이외에 새롭게 알게 된 것들(wsl의 존재..!)이 생기고 본인이 스스로 잘 모르고 지나쳤던 개념들(리눅스의 접근 권한, 네트워크 )도 다시 돌아보게 된 계기가 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"또한 처음으로 이슈를 생성해보는 성장을 하게 되었습니다. 이슈를 작성하는데 막연한 두려움을 갖고 있었는데 직접 작성하면서 해당 두려움을 부수게 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"그리고 기여를 할 수 있는 여러 방법이 있는데 내가 기여할 수 있는 부분을 하나씩 시도하는 것이 중요하다고 느꼈습니다. 처음에는 개인적인 욕심+해결하면서 배운다는 생각으로 인해 내가 잘 공감하지 못하는 이슈들 위주로 찾았는데, 이슈의 난이도와 상관없이 내가 직접 공감하는 이슈를 해결하면서 해당 레포에 대해 이해해야 함을 많이 깨달았던 시간이었습니다."}),"\n",(0,l.jsx)(e.li,{children:"앞으로도 오픈소스 기여하는데에 즐길 수 있겠다는 기대를 갖게 됩니다!"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"계획"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.pre,{"data-language":"text","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"text","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 1단계"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": Argo Workflows에 대해서 적응하고 직접 알아가는 시간 / 간단한 기여"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": Repo의 TODO를 통해 문서 기여"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": UI 위주 개선"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 2단계"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": template,backend 위주 기여"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"- 3단계"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:": 해결 하면 좋은 이슈 작성 후 기여"})})]})}),"\n",(0,l.jsx)(e.p,{children:"오픈소스 컨트리뷰션이 끝나도 멘토님께서도 정기적으로 모임을 계속 유지할 계획이시고 스스로도 이번 학기에는 Argo Workflows 레포에 적어도 한 달에 1개의 이슈라도 기여하겠다는 목표를 갖고 있습니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-13",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["juijeong8324"]}),"\n",(0,l.jsx)(e.h3,{id:"15-정성락",children:"15. 정성락"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-14",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsxs)(e.ol,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"git/github 사용법 익히기"}),"\n",(0,l.jsx)(e.strong,{children:"issue"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"pr"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"요약"}),": opensource 생태계에서 code 형상 관리 핵심인 git/github와 친해지기 위한 작업",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용"}),":",(0,l.jsx)(e.br,{}),"\n","opensource의 상당수들은 git과 github를 이용해 협업을 하고 있습니다.",(0,l.jsx)(e.br,{}),"\n","그렇기에 opensource에 기여하기 위해서는 필연적으로 git/github와 친해져야합니다.",(0,l.jsx)(e.br,{}),"\n","git/github를 사용 issue 발행, commit 규칙 준수, pr 생성등 다양한것들을 직접해보는 활동이었습니다."]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"2",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"feat: logging for client-side throttling"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"issue"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11387",children:"#11387"}),", ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11402",children:"#11402"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"pr"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11437",children:"#11437"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"요약"}),": user가 특정 옵션을 잘못 설정한 경우 더 빠르게 파악 할 수 있도록 수정 ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용:"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.code,{children:"kubernetes"}),"와의 통신을 위해 ",(0,l.jsx)(e.code,{children:"client-go"}),"라는 라이브러리를 사용합니다. ",(0,l.jsx)(e.br,{}),"\n","해당 라이브러리에서는 ",(0,l.jsx)(e.code,{children:"request limit"}),"을 위해 ",(0,l.jsx)(e.code,{children:"--qps"}),", ",(0,l.jsx)(e.code,{children:"—burst"}),"옵션을 제공합니다. ",(0,l.jsx)(e.br,{}),"\n","이 옵션을 매우 낮게 설정한 경우 ",(0,l.jsx)(e.code,{children:"throttling"}),"이 발생하게 됩니다. ",(0,l.jsx)(e.br,{}),"\n","그렇기에 사용자에게 좀 더 빠르게 알려주기 위해 별도의 ",(0,l.jsx)(e.code,{children:"log level"})," 을 부여하게 되었습니다. ",(0,l.jsx)(e.br,{}),"\n","해당 이슈를 해결하는 과정에서 ",(0,l.jsx)(e.code,{children:"client-go"}),"에 대해 많이 학습하게 되었습니다. ",(0,l.jsx)(e.br,{}),"\n","특히 제일 유익했던 부분은 ",(0,l.jsx)(e.code,{children:"RoundTrip"}),"이었습니다. ",(0,l.jsx)(e.br,{}),"\n","golang에서 제공하는 ",(0,l.jsx)(e.code,{children:"http request interface"}),"를 지키는 모든 객체에 대해 ",(0,l.jsx)(e.code,{children:"RoundTrip"})," 을 이용해 미들웨어를 추가 할 수 있다는것을 배웠을땐 정말 충격이었습니다."]}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"3",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"go 1.21 upgrade"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"issue"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11556",children:"#11566"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"pr"}),": ",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"#11601"})," ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"요약"}),": golang 1.21 ver release에 따른 version upgrade 진행 ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용:"}),"\n리드멘티로서 이슈를 제가 해결하는것보단 아직 기여하지 못한 팀원이 시도해보면 좋을거라고 판단했습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue-report1",placeholder:"blur",src:sG.Z})}),"\n",(0,l.jsx)(e.p,{children:"해당 이슈를 팀원에게 공유했고, 팀원이 성공적으로 이슈를 해결 할 수 있도록 서포트 하게 되었습니다.\n주 1회 정기적인 모임에서 해당 이슈의 접근 방법을 공유하였습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue-report2",placeholder:"blur",src:sT.Z})}),"\n",(0,l.jsx)(e.p,{children:"평일의 경우엔 slack 채널에서 따로 질문을 받고 답변하는 식으로 모든 팀원이 PR을 제출하는 경험을 얻을 수 있도록 했습니다."}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"issue-report3",placeholder:"blur",src:sK.Z})}),"\n",(0,l.jsx)(e.p,{children:"팀원도 PR을 Merge하는 아주 소중한 경험을 얻게 되었습니다."}),"\n"]}),"\n"]}),(0,l.jsx)("br",{}),(0,l.jsxs)(e.ol,{start:"4",children:["\n",(0,l.jsxs)(e.li,{children:["\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"Debugging 설정"})}),"\n",(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.strong,{children:"요약:"})," 팀원의 argo-workflow debugging setting ",(0,l.jsx)(e.br,{}),"\n",(0,l.jsx)(e.strong,{children:"상세내용:"})," ",(0,l.jsx)(e.br,{}),"\n","golang으로 개발을 처음하는 팀원을 위해 debugging 환경 설정에 어려움이 있었고, 이를 같이 해결하기위해 노력했습니다."]}),"\n",(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"debug-1",placeholder:"blur",src:sE.Z})}),"\n",(0,l.jsx)(e.p,{children:"이 과정에서 저 역시 kubernetes와 밀접한 app의 debugging 설정을 잘하지 못한다는것을 깨닫게 되었고,\n해당 부분에 대해 여러 사람들에게 도움을 받아야겠다는 생각을 하게 되었습니다."}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-15",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"후기"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"13주간의 ossa 참가는 정말이나 즐거운 경험이었습니다.\n3번의 지원 끝에 좋아하는 커뮤니티인 CNCF, 좋아하는 언어인 Golang으로 만들어진 프로젝트에 참여한다는게 정말 행복했습니다."}),"\n",(0,l.jsx)(e.li,{children:"ossca를 통해 CNCF 산하의 argo-workflow에 참여하면서 작더라도 CNCF의 생태계에 기여 할 수 있다는 것 자체가 저에게는 매우 행복한 시간이었습니다.\n특히 argo-workflow에서 운영하는 제도인 mentoring을 통해, maintainer와 빠르게 의사소통 할 수 있는 점은 beginner에겐 특히나 좋은 경험이라고 생각했습니다."}),"\n",(0,l.jsx)(e.li,{children:"argo-workflow의 mentoring 시스템을 통한 피드백으로 빠르게 PR 제출 과 merge를 통해 자신감과 좋은 경험을 얻었고 리드 멘티로서 모든 팀원에게 공유를 하고 싶었습니다.\n오픈소스 기여를 처음 접하는 팀원을 도와주면서 내가 당연히 여기던 부분이 처음 접하는 사람들에겐 얼마나 큰 진입 장벽인지 깨닫게 해주었고, beginner를 어떻게 더 안정적으로 생태계로 유입 시킬 수 있을지 고민을 하는 계기를 얻게 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"오픈소스 기여 활동 뿐만 아니라, Developer, DevOps, SRE 직무를 수행하는 팀원과 각각 직무를 수행하면서 사용하는 다양한 기술, 경험 공유를 통해 시야가 더 넓어지게 되었습니다."}),"\n",(0,l.jsx)(e.li,{children:"내년에도 기회가 된다면 꼭 ossa에 참가해 다양한 사람들과 오픈소스 기여 활동을 이어나가고 싶습니다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["이번 argo-workflow 프로젝트에 참여하면서 argo 진영의 프로젝트들에 많은 관심을 가지게 되었습니다.\n프로젝트에 참여하면서 개발자로서 부족한점을 확인 할 수 있었고 이를 개선할 생각입니다.\nossca가 종료 되더라도 CNCF 산하 오픈소스에 대한 기여는 계속 이어 나갈 생각입니다.","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"argo-workflow"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"부족한 점"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"kubernetes operator에 대한 이해가 부족"}),"\n",(0,l.jsx)(e.li,{children:"frontend 지식에 대한 부재"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"추후 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"argo-workflow의 ui가 다른 argo project에 비해 많이 아쉬운데, 사용자의 피드백을 기반으로 개선을 시도해볼 생각입니다."}),"\n",(0,l.jsx)(e.li,{children:"area/artifact와 관련해서 더 다양한 스토리지를 사용할 수 있게 확장을 해보고 싶습니다."}),"\n",(0,l.jsx)(e.li,{children:"area/plugin과 관련해 현재 sidecar 형태로만 지원하는데, 외부에서 코드로 구현한 plugin을 더 쉽게 확장 가능하도록 구현할 생각입니다."}),"\n",(0,l.jsx)(e.li,{children:"document에서 beginner에게 난해한 부분을 고민해보며 개선을 진행하고 싶습니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"개인적 성장"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"부족한 점"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"여러 회사의 멤버들과 대화를 하면서 스스로가 생각하기에 서비스를 개발하고 안정적으로 유지하는 관점이 부족"}),"\n",(0,l.jsx)(e.li,{children:"지식 전달을 위한 의사소통에 어려움."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.strong,{children:"추후 계획"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"전달하고자 하는 지식을 어떻게 정리하고 말해야 하는지 연구 할 생각입니다."}),"\n",(0,l.jsx)(e.li,{children:"많은 사람들과 대화하며 생각을 공유하고 타성에 젖지 않게 노력 할 생각입니다."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-14",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["Jack-R-lantern"]}),"\n",(0,l.jsx)(e.h3,{id:"16-채문영",children:"16. 채문영"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-15",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"다양한 과제 수행"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Github Issue/Commit/PR 미션 수행","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"대형 오픈소스에 컨트리뷰트하기 위한 깃허브 사용 방법 숙지"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44"})}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["Argo Workflow Running Locally","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Argo Workflow를 Local 환경에서 실행시키는 과제"}),"\n",(0,l.jsx)(e.li,{children:"Argo Workflow의 구조, DevContainer, 컨테이너 기반 애플리케이션, Makefile 구조 이해"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["나만의 서비스 컨테이너 이미지 제작","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"Docker File 명령어, 레이어 구조, 최적화, 캐싱 등 성능 개선"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23"})}),"\n"]}),"\n"]}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"이슈 분석"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["매트릭 이슈 분석","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["Github Reaction이 많은 이슈로 많은 사용자들이 개선을 필요로 하는 이슈 분석","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"매트릭 Label의 추가하여, 모니터링 편의성 증대"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["이슈 분석 결과, 해당 내용을 개발했을 때 또 다른 문제를 야기할 수 있다는 것을 발견","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"매트릭 Label을 추가할 경우, 많은 양의 메트릭이 수집되어 기존 사용자들에게 많은 양의 메트릭 트래픽이 유입되어 성능 문제가 생길 수 있다."}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["우회하여 해결할 수 있는 방법을 제시하고 소통함","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"커스텀 매트릭을 활용할 경우 이슈에서 요구했던 모니터링이 가능함을 확인하여, 우회하여 해결할 수 있는 방법 제시"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337",children:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(e.li,{children:["추후 개선을 위해 남겨놓은 주석에 모호한 부분이 있어 문의","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745",children:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(e.li,{children:"이슈 해커톤으로 이슈 분석"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"컨트리뷰트"})}),(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsxs)(e.li,{children:["(리팩토링) 잘못된 함수 이름, 변수명 등 수정","\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:"다른 개발자에게 혼란을 야기할 수 있는 부분을 수정했음"}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11604",children:"https://github.com/argoproj/argo-workflows/pull/11604"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11633#event-10138490619",children:"https://github.com/argoproj/argo-workflows/pull/11633"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11687",children:"https://github.com/argoproj/argo-workflows/pull/11687"})}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-16",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"대형 오픈소스 커뮤니티에 기여하고 싶었으나, 막막함이 컸다. 이번 아카데미를 통해 직접 기여할 수 있어 좋았다. 기여 경험이 많은 멘티님이 기여할 수 있도록 단계별로 안내해주고,\n도전할 수 있게끔 유도해주어서 가능했다. 다른 개발자와 기술 세미나를 하고 기술 교류를 하며, 상호 성장할 수 있었다. ArgoWorkflow는 큰 규모의 프로젝트이기 때문에 혼자 분석하면\n어려운 부분이 많은데, 다른 개발자와 의견을 나누어 좀 더 빠르게 문제를 해결할 수 있었다. ArgoWorkflow 프로젝트를 어느 정도 이해했고, 작은 컨트리뷰트 경험을 통해 자신감이\n생겼기 때문에 다음 기여는 더 쉽게 할 수 있으리라 기대된다. 이번 프로그램이 끝난 후에도 ArgoWorkflow에 관심이 많은 다른 멘티들과 서로 협업하며 더 큰 규모의 기여를 할 계획이다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-15",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["moonyoungCHAE"]}),"\n",(0,l.jsx)(e.h3,{id:"17-최수녕",children:"17. 최수녕"}),"\n",(0,l.jsx)(e.h4,{id:"-개인-성과-보고-16",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF3F 개인 성과 보고"})}),"\n",(0,l.jsxs)(e.details,{children:[(0,l.jsx)(e.summary,{children:"접기/펼치기"}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11344",children:"Issue #11344"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11662",children:"PR #11662"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsxs)(e.p,{children:["이 이슈를 이해하기 위해서는 먼저 ",(0,l.jsx)(e.a,{href:"https://argoproj.github.io/argo-workflows/default-workflow-specs",children:"Default Workflows"}),"가 무엇인지를 알아야 했습니다."]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"argo workflows controller configmap"}),"에 ",(0,l.jsx)(e.code,{children:"workflowDefaults"})," 라는 필드는 넣어 워크플로에 대한 기본값을 설정할 수 있으며, 워크플로에 이미 해당 필드값이 있을 경우에는 워크플로 값이 우선된다는 것을 알게되었습니다."]}),(0,l.jsxs)(e.p,{children:["예를 들어 ",(0,l.jsx)(e.code,{children:"configmap"}),"을 다음과 같이 설정한 뒤에 ",(0,l.jsx)(e.code,{children:"Workflows"}),"를 생성하면"]}),(0,l.jsx)(e.pre,{"data-language":"yaml","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"yaml","data-theme":"default",children:[(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"# This file describes the config settings available in the workflow controller configmap"})}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"v1"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"ConfigMap"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"name"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflow-controller-configmap"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"data"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"workflowDefaults"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" metadata:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" annotations:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" argo: workflows"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" labels:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" foo: bar"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" spec:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" ttlStrategy:"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" secondsAfterSuccess: 5"})}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" parallelism: 3"})})]})}),(0,l.jsxs)(e.p,{children:["자동으로 ",(0,l.jsx)(e.code,{children:"workflowDefaults"})," 필드에 설정해준 대로 Workflows가 아래와 같이 생성됩니다."]}),(0,l.jsx)(e.pre,{"data-language":"yaml","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"yaml","data-theme":"default",children:[(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"argoproj.io/v1alpha1"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Workflow"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"generateName"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"gc-ttl-"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"annotations"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"argo"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflows"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"labels"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"foo"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"bar"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"spec"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"ttlStrategy"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"secondsAfterSuccess"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"# Time to live after workflow is successful"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"parallelism"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"})]})]})}),(0,l.jsxs)(e.p,{children:["해당 이슈는 ",(0,l.jsx)(e.code,{children:"workflowDefaults"}),"에 ",(0,l.jsx)(e.code,{children:"volumeClaimTemplates"})," 값을 넣으면, ",(0,l.jsx)(e.code,{children:"CronWorflows/Workflows"})," 생성 시 에러가 발생한다는 이슈였습니다."]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"does not contain declared merge key: name"})," 라는 에러메세지가 발생하는 것을 확인했습니다."]}),(0,l.jsxs)(e.p,{children:["코드를 확인해보니 ",(0,l.jsx)(e.code,{children:"StrategicMergePatch"})," 함수에서 에러가 발생했고 이는 쿠버네티스의 ",(0,l.jsx)(e.code,{children:"patch"})," 전략과 관계가 있었습니다."]}),(0,l.jsx)(e.pre,{"data-language":"go","data-theme":"default",children:(0,l.jsx)(e.code,{"data-language":"go","data-theme":"default",children:(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"VolumeClaimTemplates []apiv1.PersistentVolumeClaim "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"volumeClaimTemplates,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,opt,name=volumeClaimTemplates"`'})]})})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Workflows"}),"에서 정의되어있는 타입인 ",(0,l.jsx)(e.code,{children:"VolumeClaimTemplates"}),"는 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"로 name을 사용하도록 정의되어있었습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 아래 ",(0,l.jsx)(e.code,{children:"PersistentVolumeClaim"}),"타입을 확인해보면 ",(0,l.jsx)(e.code,{children:"name"}),"은 존재하지 않습니다. 즉, 구조체에 정의되어있지 않은 값을 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"로 정의해두어서 발생하는 문제였습니다."]}),(0,l.jsx)(e.pre,{"data-language":"go","data-theme":"default",children:(0,l.jsxs)(e.code,{"data-language":"go","data-theme":"default",children:[(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"PersistentVolumeClaim"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"struct"}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.TypeMeta "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:",inline"`'})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Standard object's metadata."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.ObjectMeta "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`'})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:" "}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// spec defines the desired characteristics of a volume requested by a pod author."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Spec PersistentVolumeClaimSpec "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`'})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:" "}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// status represents the current information/status of a persistent volume claim."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Read-only."})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,l.jsxs)(e.span,{className:"line",children:[(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Status PersistentVolumeClaimStatus "}),(0,l.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`'})]}),"\n",(0,l.jsx)(e.span,{className:"line",children:(0,l.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"VolumeClaimTemplates"}),"에서 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"를 제거하도록 해당 이슈를 수정하였습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 ",(0,l.jsx)(e.code,{children:"VolumeClaimTemplates"}),"에 ",(0,l.jsx)(e.code,{children:"patchMergeKey"}),"가 붙은 이유는 Volume과 같은 컨벤션을 사용하고 있어서 였습니다."]}),(0,l.jsx)(e.p,{children:"해당 이슈는 이처럼 정책과 관련되어있기 때문에 더 많은 의논이 필요한 상황입니다."}),(0,l.jsx)(e.p,{children:"ArgoWorkflows 프로젝트에 처음으로 올린 PR이었고 꽤나 많은 사람들이 불편해하고 있는 이슈의 원인을 찾아낼 수 있어서 기뻤습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"2. Search by name for WorkflowTemplates in UI"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsx)(e.p,{children:"이번 이슈는 3명으로 팀을 짜서 작업을 진행했습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"HackertonC",placeholder:"blur",src:sq.Z})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"WorkflowTemplates"}),"는 '이름'을 기준으로 검색하는 기능이 존재하지 않아 특정 ",(0,l.jsx)(e.code,{children:"WorkflowTemplates"}),"을 찾기 위해서는 ",(0,l.jsx)(e.code,{children:"label"}),"을 기준으로만 찾을 수 있었습니다."]}),(0,l.jsx)(e.p,{children:"그래서 많은 사용자들은 불편함을 느끼고 있었으며 '이름'을 기준으로 찾을 수 있는 기능을 제공해줬으면 좋겠다는 '기능 개선' 관련 이슈였습니다."}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"namePattern",placeholder:"blur",src:sU.Z})}),(0,l.jsxs)(e.p,{children:["쿠버네티스 API를 통해 조회된 ",(0,l.jsx)(e.code,{children:"WorkflowTemplates"}),"의 결과를 '이름'을 기준으로 필터링하는 로직을 추가적으로 넣어 해당 기능을 구현하였습니다."]}),(0,l.jsx)(e.p,{children:"그러나 한가지 이슈가 존재했습니다."}),(0,l.jsx)(e.p,{children:"기존 페이지네이션은 쿠버네티스 자체 continue 값을 이용해 구현되어있어서 쿠버네티스 결과를 이처럼 커스텀하게 조작할 경우 쿠버네티스 페이지네이션을 사용할 수 없었습니다."}),(0,l.jsxs)(e.p,{children:["이를 어떻게 해결해야 할까 고민이 많았지만 쿠버네티스의 ",(0,l.jsx)(e.code,{children:"resourceVersion"}),"을 이용하여 커서 페이지네이션을 하도록 구현하는 로직을 적용함으로써 해당 문제를 해결하였습니다."]}),(0,l.jsx)(e.p,{children:"혼자가 아니라 여럿이 의논하며 할 수 있어서 너무 재미있었습니다."}),(0,l.jsx)(e.p,{children:"또한 ArgoWorkflows 프로젝트에 정말 필요한 기능을 제공했다고 생각하여 기분이 좋았습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"3. A problem that is not initialized when changing the number of page limits"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11702",children:"Issue #11702"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11703",children:"PR #11703"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Search by name for WorkflowTemplates in UI"})," 이슈를 해결하면서 새로운 페이지네이션 버그를 발견하였습니다."]}),(0,l.jsxs)(e.p,{children:["페이지 갯수를 변경할 때 페이지네이션을 위해 사용하는 ",(0,l.jsx)(e.code,{children:"continue"})," 값을 UI에서 초기화 시켜주지 않아서 데이터가 제대로 보이지 않는 문제였습니다."]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsxs)(e.p,{children:["UI 코드에서 페이지 갯수 변경이 감지될 때 ",(0,l.jsx)(e.code,{children:"offset"}),"을 초기화 하도록 간단하게 로직을 수정하여 문제를 해결할 수 있었습니다."]}),(0,l.jsx)(e.p,{children:"단 한줄의 코드 수정이었으나 이 한 줄로 인해 꽤나 불편함을 주었던 문제를 해결할 수 있었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"4. Pagination may not work correctly for archived workflows"})}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11715",children:"Issue #11715"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11761",children:"PR #11761"})]}),(0,l.jsx)(e.p,{children:"Maintainer @terrytangyuan 님께서 직접 Slack으로 연락을 주신 이슈입니다."}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(d(),{alt:"Slack",placeholder:"blur",src:sL.Z}),"\n",(0,l.jsx)(d(),{alt:"Github",placeholder:"blur",src:s_.Z})]}),(0,l.jsx)(e.p,{children:"좋아하는 연예인에게 연락받은 기분이라 너무 기분이 좋아서 날아갈 뻔 했습니다. 기쁘고 들뜨는 마음을 누르고 이슈를 분석해보았습니다."}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Workflows"}),"와 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 이전에는 다른 페이지로 분리되어있었지만 ",(0,l.jsx)(e.code,{children:"master"})," 버전부터 ",(0,l.jsx)(e.code,{children:"Workflows"}),"와 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"를 하나의 페이지로 합치고 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 존재한다면 같이 보여주도록 로직이 수정되었습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 ",(0,l.jsx)(e.code,{children:"Workflows"}),"와 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 하나로 합쳐지면서 페이지네이션에서 문제가 발생했습니다."]}),(0,l.jsxs)(e.p,{children:["두 개의 리소스는 서로 전혀 다른 페이지네이션을 사용하도 있었습니다. ",(0,l.jsx)(e.code,{children:"Workflows"}),"는 쿠버네티스 자체 페이지네이션인 ",(0,l.jsx)(e.code,{children:"continue"}),"값을 사용하고 있었고, ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"는 자체적으로 데이터베이스를 사용하기 때문에 데이터베이스를 이용하여 ",(0,l.jsx)(e.code,{children:"offset"})," 방식으로 페이지네이션을 하고 있었습니다."]}),(0,l.jsxs)(e.p,{children:["그러나 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"에 ",(0,l.jsx)(e.code,{children:"Workflows"}),"에서 사용하는 ",(0,l.jsx)(e.code,{children:"continue"}),"값을 그대로 전달하면서 ",(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 아예 조회되지 않는 문제가 발생했습니다."]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"Search by name for WorkflowTemplates in UI"})," 이슈를 해결하면서 구현했던 페이지네이션 로직을 참고하여 해당 이슈를 해결할 수 있었습니다."]}),(0,l.jsx)(e.p,{children:"두 리소스는 다른 방법의 페이지네이션을 사용할 수 밖에 없기 때문에 두 개의 리소스를 합치기 전에 페이지네이션을 사용하는 것이 아닌, 일단 전체 리소스를 조회하여 두 리소스를 합친 후에 마지막으로 페이지네이션 로직을 적용하는 방법을 사용하였습니다."}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:"ArchivedWorkflows"}),"가 조회되지 않는 문제를 해결할 수 있었으나 페이지를 변경할 때마다 전체 리스트를 가져와 합치기까지 하는 것이 성능상 걱정이 되는 부분이라 성능 테스트를 할 수 있는 방법을 고민해볼 생각입니다."]}),(0,l.jsx)(e.p,{children:"성능테스트를 해본 뒤 아니다싶으면 프론트에서 페이지네이션을 하는 방식으로 변경해볼 생각입니다."}),(0,l.jsx)(e.p,{children:"크리티컬한 이슈를 해결할 수 있어서 너무 좋았고 ArgoWorkflows 프로젝트에 컨트리뷰터로써 제대로 기여를 하고 있다는 생각이 들어 뿌듯하고 재밌었습니다."}),(0,l.jsx)(e.p,{children:(0,l.jsx)(e.strong,{children:"5. Relocation of Commit Guidelines Information in the Documentation"})}),(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/issues/11700",children:"Issue #11700"}),"\n",(0,l.jsx)(e.a,{href:"https://github.com/argoproj/argo-workflows/pull/11701",children:"PR #11701"})]}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 분석"}),"\n"]}),(0,l.jsx)(e.p,{children:"ArgoWorkflows 프로젝트에는 컨트리뷰션을 시도하는 개발자들을 위한 리드미 문서가 있습니다."}),(0,l.jsx)(e.p,{children:"하지만 그곳에는 커밋에 관한 가이드라인이 따로 언급되어있지 않습니다."}),(0,l.jsx)(e.p,{children:"GeunSam2 멘토님께서 본인이 처음 기여를 시도하려고 했을 때 커밋에 대한 가이드라인을 찾는데 너무 오래 걸려서 불편했다고 말해주셨습니다."}),(0,l.jsxs)(e.blockquote,{children:["\n",(0,l.jsx)(e.p,{children:"이슈 해결"}),"\n"]}),(0,l.jsx)(e.p,{children:(0,l.jsx)(d(),{alt:"ContributingDocs",placeholder:"blur",src:sH.Z})}),(0,l.jsx)(e.p,{children:"이 불편사항을 들은 후 컨트리뷰션 리드미에 커밋에 대한 가이드라인의 링크를 걸어주도록 수정함으로써 ArgoWorkflows에 기여하고자 하는 개발자들이 편하게 기여할 수 있도록 하였습니다."}),(0,l.jsx)(e.p,{children:"이 PR에서는 메인테이너가 코드 제안을 해주었는데 코드 제안 기능을 처음 접해보아서 흥미롭고 재밌었습니다."})]}),"\n",(0,l.jsx)(e.h4,{id:"-참가-후기-17",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 참가 후기"})}),"\n",(0,l.jsx)(e.p,{children:"이번년도에 가장 잘 한 일이 무엇인지 묻는다면, 아무 망설임도 없이 ArgoWorkflows 프로젝트 컨트리뷰션 활동에 참여한 것이라고 이야기 할 것입니다."}),"\n",(0,l.jsx)(e.p,{children:"같은 분야에 있는 다양한 개발자들을 만나서 서로 공감대를 형성하며 이야기하는 것이 너무 좋았고 다양한 회사에 대한 이야기를 듣는것이 참 재밌었습니다."}),"\n",(0,l.jsx)(e.p,{children:"매주 모임마다 그저 모각코를 하는 것이 아니라 멘티들과 멘토님이 매번 좋은 세미나를 진행해주셔서 매주 일요일이 참 즐겁고 시간이 빨리갔습니다."}),"\n",(0,l.jsx)(e.p,{children:"또한 너무 능력있는 멘토님을 만나 평소에 주니어 개발자로서 고민되었던 부분, 앞으로의 방향성, 개발자로서 잘 공부하는 방법에 대한 조언들을 들을 수 있어서 행복했습니다."}),"\n",(0,l.jsx)(e.p,{children:"평소 컨트리뷰션에 도전해보고싶었지만, 이런 큰 프로젝트에 어떻게 기여를 하나 두려워서 시도하지 않았던 부분들을 이렇게 좋은 멘티들과 멘토님과 같이 부딪혀보니 두려움이 사라졌습니다."}),"\n",(0,l.jsx)(e.p,{children:"많은 PR을 올려보면서 메인테이너들과 소통하는 것도 너무 재미있었고 실제 나의 코드가 반영되는 것을 지켜보는게 정말 뿌듯했습니다."}),"\n",(0,l.jsx)(e.p,{children:"이번 경험으로 인해 ArgoWorkflows 뿐만 아니라 다른 프로젝트에도 충분히 기여할 수 있겠다는 자신감이 생겼습니다."}),"\n",(0,l.jsx)(e.p,{children:"이 기간이 끝난다고 컨트리뷰션을 멈출 생각은 없습니다. 앞으로도 ArgoWorkflows를 꾸준히 보면서 기여하고 싶은 부분에 기여할 생각입니다. 또한 ArgoWorkflows 뿐만 아니라 회사에서 사용하는 Kubernetes나 Argo CD 프로젝트에도 기여해보고 싶어서 도전해볼 생각입니다."}),"\n",(0,l.jsx)(e.h4,{id:"-기여-요약-16",children:(0,l.jsx)(e.strong,{children:"\uD83C\uDF35 기여 요약"})}),"\n",(0,l.jsx)(sY.Z,{contributers:["sunyeongchoi"]})]})}e.default=(0,r.j)(sJ)}},function(s){s.O(0,[376,762,674,774,888,179],function(){return s(s.s=6210)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/reports/finalReportEn-53f0c58174c7efc5.js b/_next/static/chunks/pages/2023/activites/reports/finalReportEn-53f0c58174c7efc5.js new file mode 100644 index 00000000..60710a21 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/reports/finalReportEn-53f0c58174c7efc5.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[710],{9757:function(e,n,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/reports/finalReportEn",function(){return s(5536)}])},5536:function(e,n,s){"use strict";s.r(n);var i=s(5893),r=s(2673),o=s(4984),t=s(979);s(9966);var l=s(1151),a=s(5675),c=s.n(a),h=s(4987),d=s(8008),u=s(3917),p=s(2154),x=s(94),j=s(480),g=s(5514),m=s(4381),w=s(8904),f=s(7727),k=s(525),y=s(8189),b=s(3434),v=s(1916),I=s(5245),A=s(4877),C=s(2583),S=s(3441),P=s(7367),D=s(6428),W=s(2107),N=s(4004),R=s(1022),F=s(7799),M=s(3880),T=s(2942),O=s(8010),G=s(9937),Z=s(9501),E=s(8050),K=s(2648),q=s(6213),H=s(513),z=s(8556),L=s(9772),U=s(7163),B=s(2562),Y=s(252),J=s(2359),_=s(628),V=s(9569),X=s(7430),Q=s(8801),$=s(1352),ee=s(2424),en=s(534),es=s(4788),ei=s(3523),er=s(8083),eo=s(178),et=s(6455),el=s(8240),ea=s(1057),ec=s(310),eh=s(6359),ed=s(9),eu=s(6838),ep=s(1802),ex=s(5739),ej=s(5531),eg=s(1931),em=s(6406),ew=s(9417),ef=s(9083),ek=s(301),ey=s(4817),eb=s(6288),ev=s(7574),eI=s(9376),eA=s(8578),eC=s(8973),eS=s(7132),eP=s(2431),eD=s(9797),eW=s(7682),eN=s(207),eR=s(5357),eF=s(4405),eM=s(5655),eT=s(4005),eO=s(7149),eG=s(7041),eZ=s(5309),eE=s(8456),eK=s(101),eq=s(7725),eH=s(1015),ez=s(4012),eL=s(2482),eU=s(3782),eB=s(555);let eY={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,l.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(eJ,{...e})}):eJ(e)},pageOpts:{filePath:"pages/2023/activites/reports/finalReportEn.mdx",route:"/2023/activites/reports/finalReportEn",headings:[{depth:2,value:"TL;TR",id:"tltr"},{depth:2,value:"☑️ Who We Are",id:"️-who-we-are"},{depth:2,value:"☑️ What is ArgoWorkflows",id:"️-what-is-argoworkflows"},{depth:2,value:"☑️ Key Accomplishments",id:"️-key-accomplishments"},{depth:3,value:"UI/UX improvements",id:"uiux-improvements"},{depth:3,value:"Improving core functionality",id:"improving-core-functionality"},{depth:3,value:"Close communication with the maintainer group",id:"close-communication-with-the-maintainer-group"},{depth:2,value:"☑️ Contribution Academy progress and activity details",id:"️-contribution-academy-progress-and-activity-details"},{depth:3,value:"From not knowing anything about Git to becoming an open source contributor",id:"from-not-knowing-anything-about-git-to-becoming-an-open-source-contributor"},{depth:3,value:"Repository creation and contribution activities to practice using Git",id:"repository-creation-and-contribution-activities-to-practice-using-git"},{depth:3,value:"Operation of a special class on container basics",id:"operation-of-a-special-class-on-container-basics"},{depth:3,value:"Opening and conducting an issue hackathon within the team",id:"opening-and-conducting-an-issue-hackathon-within-the-team"},{depth:3,value:"Join to Contributor / Community meetings",id:"join-to-contributor--community-meetings"},{depth:3,value:"Argo Workflows OSS team page creation and operation",id:"argo-workflows-oss-team-page-creation-and-operation"},{depth:3,value:"Conduct offline meeting activities at least once a week",id:"conduct-offline-meeting-activities-at-least-once-a-week"},{depth:2,value:"☑️ Participant contribution details",id:"️-participant-contribution-details"},{depth:3,value:"0. GeunCheol Yeom(Mentor)",id:"0-geuncheol-yeommentor"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review"},{depth:3,value:"1. ByeongSun Gang",id:"1-byeongsun-gang"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-1"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary"},{depth:3,value:"2. SiOn Kang",id:"2-sion-kang"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-1"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-2"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-1"},{depth:3,value:"3. YoungGil Kwon",id:"3-younggil-kwon"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-2"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-3"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-2"},{depth:3,value:"4. SuBin Kim",id:"4-subin-kim"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-3"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-4"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-3"},{depth:3,value:"5. HakJun Kim",id:"5-hakjun-kim"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-4"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-5"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-4"},{depth:3,value:"6. JinSu Park",id:"6-jinsu-park"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-5"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-6"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-5"},{depth:3,value:"7. ChungWun Seo",id:"7-chungwun-seo"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-6"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-7"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-6"},{depth:3,value:"8. HaeMin Song",id:"8-haemin-song"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-7"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-8"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-7"},{depth:3,value:"9. DaHae Ahn",id:"9-dahae-ahn"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-8"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-9"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-8"},{depth:3,value:"10. JiWan Ahn",id:"10-jiwan-ahn"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-9"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-10"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-9"},{depth:3,value:"11. YoonWoo You",id:"11-yoonwoo-you"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-10"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-11"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-10"},{depth:3,value:"12. ByeongGon Lee",id:"12-byeonggon-lee"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-11"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-12"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-11"},{depth:3,value:"13. EuiJu Lee",id:"13-euiju-lee"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-12"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-13"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-12"},{depth:3,value:"14. EuiJung Geon",id:"14-euijung-geon"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-13"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-14"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-13"},{depth:3,value:"15. SungRock Jung",id:"15-sungrock-jung"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-14"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-15"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-14"},{depth:3,value:"16. MoonYoung Chae",id:"16-moonyoung-chae"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-15"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-16"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-15"},{depth:3,value:"17. SooNyeong Choi",id:"17-soonyeong-choi"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-16"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-17"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-16"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Finalreporten"},pageNextRoute:"/2023/activites/reports/finalReportEn",nextraLayout:o.ZP,themeConfig:t.Z};function eJ(e){let n=Object.assign({h2:"h2",p:"p",a:"a",code:"code",strong:"strong",h3:"h3",blockquote:"blockquote",ul:"ul",li:"li",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",em:"em",pre:"pre",span:"span",hr:"hr",h4:"h4",details:"details",summary:"summary",ol:"ol",br:"br"},(0,l.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"tltr",children:"TL;TR"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"#contribute-info",children:"Go to see Contributions Summary"})}),"\n",(0,i.jsx)(n.h2,{id:"️-who-we-are",children:"☑️ Who We Are"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"ArgoWorkflows OSS 2023"}),"team have 18 member. (1 Mentor, 17 Mentees)"]}),"\n",(0,i.jsxs)(n.p,{children:["Our Team met for participant to ",(0,i.jsx)(n.a,{href:"https://www.contribution.ac/2023-ossca",children:"Open Source Contribution Academy"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["A ",(0,i.jsx)(n.strong,{children:"competition for junior developers"})," with the theme ",(0,i.jsx)(n.code,{children:"How can I contribute well to open source?"})]}),"\n",(0,i.jsxs)(n.p,{children:["This event is a competition where ",(0,i.jsx)(n.code,{children:"some mentors"})," and about ",(0,i.jsx)(n.code,{children:"20 mentees"})," are paired up and the goal is to contribute together and achieve results for four months."]}),"\n",(0,i.jsx)(n.p,{children:"We participated in this event on the open source topic of ArgoWorkflows."}),"\n",(0,i.jsx)(n.p,{children:"Most of us were afraid to even use git at first. but we made succeeded in making various contributions over the past three months."}),"\n",(0,i.jsx)(n.p,{children:"Let me introduce our achievements."}),"\n",(0,i.jsx)(n.h2,{id:"️-what-is-argoworkflows",children:"☑️ What is ArgoWorkflows"}),"\n",(0,i.jsxs)(n.p,{children:["Before the achievements introduction, Lets know about what is ",(0,i.jsx)(n.code,{children:"ArgoWorkflows"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"argoDag",placeholder:"blur",src:h.Z})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Argo Workflows"})," is a container-based workflow engine, an open source project that can run parallel jobs on Kubernetes.\nEach workflow step is defined as a container, and multi-step workflows can be modeled as a series of jobs, or dependencies between tasks can be executed using a Directed Acyclic Graph (DAG)."]}),"\n",(0,i.jsxs)(n.p,{children:["In other words, Argo Workflows makes it faster and easier to ",(0,i.jsx)(n.strong,{children:"simple workflows tasks, as well as complex tasks for machine learning or data processing, on Kubernetes"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"argo_0",placeholder:"blur",src:d.Z})}),"\n",(0,i.jsxs)(n.p,{children:["Argo Workflows is a graduated project of ",(0,i.jsx)(n.strong,{children:"the Cloud Native Computing Foundation (CNCF)."})]}),"\n",(0,i.jsxs)(n.p,{children:["To become a graduated project, it must pass all tests conducted by the CNCF to meet their rigorous standards.\nBeing recognized as a graduated project means that ",(0,i.jsx)(n.strong,{children:"Argo meets the highest standards"})," for clear governance and committer processes, healthy growth, and security and compliance adherence.\nSince the rigorous standards, ",(0,i.jsx)(n.strong,{children:"only about 13% of projects"})," registered with the CNCF succeed in graduating."]}),"\n",(0,i.jsxs)(n.p,{children:["In fact, it took about 5 years for the Argo project to be recognized as a graduated project, with ",(0,i.jsx)(n.strong,{children:"over 7,000 contributors, over 11,000 PRs, and over 370,000 contributions."})]}),"\n",(0,i.jsxs)(n.p,{children:["Moreover, the Argo project is ",(0,i.jsx)(n.strong,{children:"a very active and up-to-date open source"}),", with ",(0,i.jsx)(n.strong,{children:"over 2300 companies"})," contributing to the code and ",(0,i.jsx)(n.strong,{children:"over 8300 people"})," contributing to the code."]}),"\n",(0,i.jsxs)(n.p,{children:["Argo Workflows is recognized as ",(0,i.jsx)(n.strong,{children:"the most representative workflow engine"})," in the cloud native community."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Many companies around the world officially"})," have introduced and used Argo Workflows. This is means that Argo Workflows can solve issues with workload in big companies."]}),"\n",(0,i.jsx)(n.p,{children:"The following major companies are using Argo Workflows."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"companys",placeholder:"blur",src:u.Z})}),"\n",(0,i.jsx)(n.p,{children:"... and over 200 other global companies"}),"\n",(0,i.jsx)(n.p,{children:"Some alternative tools to Argo Workflows include Apache Airflow, Tekton, and Prefect."}),"\n",(0,i.jsx)(n.p,{children:"Argo Workflows is a Kubernetes-native engine that makes it easy to orchestrate container-based workflows and manage resources.\nApache Airflow, similiar but different to Argo Workflows, is a standalone application and does not inherently utilize the capabilities of Kubernetes.\nAs a result, Airflow can more difficult to resource management and scalability than Argo Workflows."}),"\n",(0,i.jsxs)(n.p,{children:["Also, Argo Workflows can perform a various of tasks such as CI/CD as well as data pipelines because it runs each workflow step as an independent container.\nThis is possible due to use the power of Container and Kubernetes, than it can run ",(0,i.jsx)(n.strong,{children:"anything without restrictions."})]}),"\n",(0,i.jsx)(n.h2,{id:"️-key-accomplishments",children:"☑️ Key Accomplishments"}),"\n",(0,i.jsx)(n.h3,{id:"uiux-improvements",children:"UI/UX improvements"}),"\n",(0,i.jsxs)(n.p,{children:["The Argo Workflows project is actively contributing to ",(0,i.jsx)(n.code,{children:"UI/UX improvement"})," as the main topic for contribution."]}),"\n",(0,i.jsx)(n.p,{children:"As proof of this, you can also check the dashboard for UI/UX improvement tracking."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"uiux_0.png",placeholder:"blur",src:p.Z})}),"\n",(0,i.jsx)(n.p,{children:"Our team has also made many UI improvements along these project goals."}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Key improvements for UI/UX"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"Search by name for WorkflowTemplates in UI"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"show history about completed runs in each cron workflow"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11480",children:"Improvements to DataPciker"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11444",children:"UI toolbar sticky"})}),"\n",(0,i.jsx)(n.li,{children:"... and Various other bug fixes"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"uiux_1.png",placeholder:"blur",src:x.Z})}),"\n",(0,i.jsx)(n.h3,{id:"improving-core-functionality",children:"Improving core functionality"}),"\n",(0,i.jsxs)(n.p,{children:["As contributions accumulate, our understanding of the project increased and we got more confidence.\nWe were increasingly able to contribute not only UI/UX improvements, but also ",(0,i.jsx)(n.strong,{children:"the core functionality of the workflow engine."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://blog.argoproj.io/whats-new-in-argo-workflows-v3-5-f260e8603ca6",children:"What’s new in Argo Workflows v3.5"})}),"\n",(0,i.jsxs)(n.p,{children:["The core logic of the workflow engine is ",(0,i.jsx)(n.strong,{children:"install as a CRD in Kubernetes and has a significant impact on the behavior and performance of a Kubernetes cluster."}),"\nSo, Contributing to workflow engine is ",(0,i.jsx)(n.strong,{children:"quite difficult"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["because it ",(0,i.jsx)(n.strong,{children:"requires a high level of implementation"})," and ",(0,i.jsx)(n.strong,{children:"active participation"})," in testing and policy discussions with maintainers."]}),"\n",(0,i.jsxs)(n.p,{children:["It was challenge for us, but our team was able to ",(0,i.jsx)(n.strong,{children:"make key contributions to the Argo Workflows 3.5 release"}),". Also We ",(0,i.jsx)(n.strong,{children:"were mentioned to the Argo official blog"})," by contributing very important features to ",(0,i.jsx)(n.code,{children:"Template Spec"}),", ",(0,i.jsx)(n.code,{children:"Authentication"}),", and ",(0,i.jsx)(n.code,{children:"Controller"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"core_0",placeholder:"blur",src:j.Z})}),"\n",(0,i.jsxs)(n.p,{children:["Even after the release of Argo Workflows 3.5, we made many contributions such as CI and test environments for ",(0,i.jsx)(n.code,{children:"DX improvements"}),", new features in the ",(0,i.jsx)(n.code,{children:"Nix"}),", ",(0,i.jsx)(n.code,{children:"Controller"}),", and ",(0,i.jsx)(n.code,{children:"Template specifications"}),", ",(0,i.jsx)(n.code,{children:"updating GoLang version"}),".\nWith more contributions, We are making progress in making Argo workflows a much better tool in next release."]}),"\n",(0,i.jsx)(n.h3,{id:"close-communication-with-the-maintainer-group",children:"Close communication with the maintainer group"}),"\n",(0,i.jsxs)(n.p,{children:["Our team was very fortunate that the Argo Workflows project got a new leader in May of this year, ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/terrytangyuan",children:"Yuan Tang"}),", and the breath of contributions across the project really accelerated."]}),"\n",(0,i.jsx)(n.p,{children:"Normally, in a large project like this, it would take quite a long time for reviews making it difficult to a lot of contributions.\nHowever, Thanks to the talented project head and his team, all of the ArgoWorkflows team members who participated in this competition learned a lot, experienced a lot,\nand grew through a lot of contributions in a short time."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"maintainer.png",placeholder:"blur",src:g.Z})}),"\n",(0,i.jsx)(n.p,{children:"Opportunities for contributions existed outside Issue and PR pages."}),"\n",(0,i.jsx)(n.p,{children:"We were able to have the valuable experience of being in open source project, such as deciding on a policy for processing logic in the project to resolve issues and experiencing being assigned and working on other related issues."}),"\n",(0,i.jsx)(n.p,{children:"Now, We introduce our contributions during the project."}),"\n",(0,i.jsx)(eB.Z,{contributers:["GeunSam2","qudtjs0753","umi0410","newdeal123","binkoni","Leeeuijooo","sudosubin","junkmm","shmruin","da-head0","synoti21","Jack-R-lantern","Yaminyam","zel0rd","yunwoo-yu","juijeong8324","moonyoungCHAE","sunyeongchoi"]}),"\n",(0,i.jsx)(n.h2,{id:"️-contribution-academy-progress-and-activity-details",children:"☑️ Contribution Academy progress and activity details"}),"\n",(0,i.jsx)(n.h3,{id:"from-not-knowing-anything-about-git-to-becoming-an-open-source-contributor",children:"From not knowing anything about Git to becoming an open source contributor"}),"\n",(0,i.jsx)(n.p,{children:"Of the 17 Masters stage participants, 12 of our team were made up of members who had no experience in proper collaboration/code review through GIT."}),"\n",(0,i.jsxs)(n.p,{children:["As it is a CRD that runs on Kubernetes as an engine, it is a project that requires a high level of understanding of Kubernetes, but ",(0,i.jsx)(n.strong,{children:"there were only 4 members with proper experience using Kubernetes"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"At first, I had no idea how to start and was at a loss, but as a result of practicing Git with a mentor and performing various tasks and studying in the practice REPO to become familiar with containers and Kubernetes, I gradually became familiar with the tool called Argo Workflows. It has begun."}),"\n",(0,i.jsxs)(n.p,{children:["As a result, ",(0,i.jsx)(n.strong,{children:"at the time of writing this report, we had the enjoyable experience of creating PRs for all 17 Masters stage participants"}),"."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.th,{align:"center",children:(0,i.jsx)(c(),{alt:"chart1",placeholder:"blur",src:m.Z})})})}),(0,i.jsx)(n.tbody,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.td,{align:"center",children:(0,i.jsx)(n.em,{children:"Summary of contribution activities"})})})})]}),"\n",(0,i.jsx)(n.p,{children:"Additionally, contribution activities, which I had not been able to actively do at first because I was busy familiarizing myself with the tool and acquiring background knowledge, accelerated over time."}),"\n",(0,i.jsx)(n.p,{children:"In the end, the members' skills are growing so quickly that in September, in just the first week, they were able to match the number of PRs that were close to the PRs contributed during the previous month."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.th,{align:"center",children:(0,i.jsx)(c(),{alt:"chart2",placeholder:"blur",src:w.Z})})})}),(0,i.jsx)(n.tbody,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.td,{align:"center",children:(0,i.jsx)(n.em,{children:"Monthly Activity Graph"})})})})]}),"\n",(0,i.jsx)(n.p,{children:"Introducing the various activities our team has performed to achieve the current contribution activities."}),"\n",(0,i.jsx)(n.h3,{id:"repository-creation-and-contribution-activities-to-practice-using-git",children:"Repository creation and contribution activities to practice using Git"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Repository address: ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io"})]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Goal: Update member profile of issue template Select issue and create first PR according to issue content."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity1",placeholder:"blur",src:f.Z})}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Goal Details"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Edit/add the two files below to create a PR that updates user information."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/users.md`"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/[name].md`"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" To raise PR and merge, please refer to the points below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Since you do not have permission to create or push branches in the repo, you must fork and then work on it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Please refer to [PR’s Naming Convention](https://flank.github.io/flank/pr_titles/)."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - [DCO](https://github.com/apps/dco) Please commit by referring to the conditions for passing the bot's check."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)"})})]})}),"\n",(0,i.jsx)(n.h3,{id:"operation-of-a-special-class-on-container-basics",children:"Operation of a special class on container basics"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Page address: ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"https://github.com/ArgoWorkflows-OSS/container-playground"})]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Goal: Create your own service and configure CI for containerization"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity2",placeholder:"blur",src:k.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity3",placeholder:"blur",src:y.Z})}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Goal Details"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" Create your own web service and write a Docker file that can be containerized."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" To pass the assignment, please be sure to follow the instructions below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Directory and file placement"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - When developing a personal service, be sure to create your own GitHub account directory and write code under it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - `Dockerfile` must be located at the top level of your directory. (If this condition is not met, CI may fail.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - You can freely create other files under your own directory except for the location of `Dockerfile`."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - However, the image must be built successfully when you run the `docker build -t [image name] .` command at the top level of your directory."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Behavior of built images"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Personal web service must operate on port 8080."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - The built image must be serviced without problems when the `docker run -d -p [forwarding port number]:8080 [image name]` command is executed without any additional parameters."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Web service development language and service structure"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - It doesn’t matter which language or framework you prefer."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - It doesn’t matter if you create a simple API service with no UI or design."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - However, you must create two required APIs. (I don't care about the response value.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[your github account]"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - (Optional) It is better to optimize the Docker image. ([Reference](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)"})})]})}),"\n",(0,i.jsx)(n.h3,{id:"opening-and-conducting-an-issue-hackathon-within-the-team",children:"Opening and conducting an issue hackathon within the team"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Intra-team hackathon to designate issues and solve each group issue within a period of time"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity4",placeholder:"blur",src:b.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity5",placeholder:"blur",src:v.Z})}),"\n",(0,i.jsx)(n.h3,{id:"join-to-contributor--community-meetings",children:"Join to Contributor / Community meetings"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity6",placeholder:"blur",src:I.Z})}),"\n",(0,i.jsx)(n.h3,{id:"argo-workflows-oss-team-page-creation-and-operation",children:"Argo Workflows OSS team page creation and operation"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Page address: ",(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/",children:"https://argoworkflows-oss.github.io/"})]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Production framework: nextra"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity7",placeholder:"blur",src:A.Z})}),"\n",(0,i.jsx)(n.h3,{id:"conduct-offline-meeting-activities-at-least-once-a-week",children:"Conduct offline meeting activities at least once a week"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Regular meeting activities"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We selected every Sunday as a regular offline meeting date and conducted regular meeting activities."}),"\n",(0,i.jsx)(n.li,{children:"We conducted various communication activities such as exploring issues to be resolved through group activities, sharing our own experience in resolving issues, and discussing errors that occurred during the process."}),"\n",(0,i.jsxs)(n.li,{children:["Detailed information about offline regular meetings can be found through the link ",(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity8",placeholder:"blur",src:C.Z})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Presentation activity on topics of interest"})}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"During offline meetings, I gave presentations on topics of interest to me."}),"\n",(0,i.jsxs)(n.li,{children:["Topic of interest presentation topic and presenter","\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{align:"center",children:"order"}),(0,i.jsx)(n.th,{children:"Title"}),(0,i.jsx)(n.th,{align:"center",children:"Presenter"}),(0,i.jsx)(n.th,{align:"center",children:"Announcement date"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"1"}),(0,i.jsx)(n.td,{children:"Case study of Argo Workflows adoption at Carrot Market"}),(0,i.jsx)(n.td,{align:"center",children:"Yeom Geun-cheol"}),(0,i.jsx)(n.td,{align:"center",children:"July 15"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"2"}),(0,i.jsx)(n.td,{children:"WebRtc concept and use cases for real-time communication"}),(0,i.jsx)(n.td,{align:"center",children:"Song Hye-min"}),(0,i.jsx)(n.td,{align:"center",children:"July 30"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"3"}),(0,i.jsx)(n.td,{children:"How to link Argo Workflows and Keyclock"}),(0,i.jsx)(n.td,{align:"center",children:"Soon yeong-Choi"}),(0,i.jsx)(n.td,{align:"center",children:"July 30"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"4"}),(0,i.jsx)(n.td,{children:"Implementing CI/CD with Argo Project"}),(0,i.jsx)(n.td,{align:"center",children:"Hak jun-Kim"}),(0,i.jsx)(n.td,{align:"center",children:"August 6"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"5"}),(0,i.jsx)(n.td,{children:"Presentation of eBPF concept, filter development method, and use cases"}),(0,i.jsx)(n.td,{align:"center",children:"Seong rak-Jeong"}),(0,i.jsx)(n.td,{align:"center",children:"August 6"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"6"}),(0,i.jsx)(n.td,{children:"History of containers and creating containers without Docker"}),(0,i.jsx)(n.td,{align:"center",children:"Yeom Geun-cheol"}),(0,i.jsx)(n.td,{align:"center",children:"August 13"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"7"}),(0,i.jsx)(n.td,{children:"Platform builder that allows developers to load test themselves & K6 load test PoC announcement"}),(0,i.jsx)(n.td,{align:"center",children:"Ah Da-hye"}),(0,i.jsx)(n.td,{align:"center",children:"August 20"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"8"}),(0,i.jsx)(n.td,{children:"Considerations on the container ecosystem"}),(0,i.jsx)(n.td,{align:"center",children:"Yeom Geun-cheol"}),(0,i.jsx)(n.td,{align:"center",children:"August 27"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"9"}),(0,i.jsx)(n.td,{children:"Github Actions Installing and operating self-hosted in Kubernetes"}),(0,i.jsx)(n.td,{align:"center",children:"Cheong woon-Seo"}),(0,i.jsx)(n.td,{align:"center",children:"September 2nd"})]})]})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity9",placeholder:"blur",src:S.Z})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Gathering together and coding individually"})}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We gathered together irregularly and did our own coding."}),"\n",(0,i.jsx)(n.li,{children:"We conducted technical exchanges, including analyzing the structure and issues of ArgoWorkflow."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity10",placeholder:"blur",src:P.Z})}),"\n",(0,i.jsx)(n.h2,{id:"️-participant-contribution-details",children:"☑️ Participant contribution details"}),"\n",(0,i.jsx)(n.h3,{id:"0-geuncheol-yeommentor",children:"0. GeunCheol Yeom(Mentor)"}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"I met ArgoWorkflows last year, and many things changed"}),"\n",(0,i.jsx)(n.p,{children:"I participated as a mentor at this event, but I feel like I'm the one learning and getting more out of it."}),"\n",(0,i.jsx)(n.p,{children:"I would like to sincerely thank the mentees who participated in the event and did their best until the end, and I hope that we can continue to be colleagues in open source activities together."}),"\n",(0,i.jsx)(n.p,{children:"During the event, I was able to think about the culture of the open source ecosystem once again, and I was able to study various techniques for utilizing Git that I thought I knew in the CI environment."}),"\n",(0,i.jsx)(n.p,{children:"I feel more passionate about the ArgoWorkflows project, and I'm not sure what opportunities there will be in the future, but I'd like to contribute to more diverse areas."}),"\n",(0,i.jsx)(n.h3,{id:"1-byeongsun-gang",children:"1. ByeongSun Gang"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Personal achievements"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Documentation contribution"})," ",(0,i.jsx)(n.code,{children:"#11762"})," ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11762#event-10327741834",children:"Remove helm installation guide and Add helm documentation link"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We need to install helm for MinIO configuration, but the helm installation guide only shows the configuration related to mac, so we fixed it to access the helm official documentation."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Documentation contribution"})," ",(0,i.jsx)(n.code,{children:"#11735"})," ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11735#event-10365473861",children:"Add installation option description"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We added a detailed description of the managed namespace option."}),"\n",(0,i.jsxs)(n.li,{children:["I learned from a maintainer that there is a ",(0,i.jsx)(n.a,{href:"https://kubernetes.io/docs/contribute/style/style-guide/#use-simple-and-direct-language",children:"Documentation convention"})," for Kubernetes here."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Contribution Preparation Courses and Activities"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Learn the basics of Github","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["My mentor gave me an assignment to update my profile. I familiarized myself with the concepts of GPG and DCObot to become more familiar with github.\n",(0,i.jsx)(c(),{alt:"Wang",placeholder:"blur",src:D.Z})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Docker Beginner Special Class","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["We had an activity to create a docker image using Dockerfile. I learned the concepts by reading the materials organized by my mentor.\nIn addition, when creating the image, I tried to apply ",(0,i.jsx)(n.a,{href:"https://www.notion.so/Dockerfile-65f85f55b1b647ebb85617da9747db58?pvs=21",children:"multi stage build"})," to include only the features needed for execution.\n",(0,i.jsx)(c(),{alt:"dockerfile_pull_request",placeholder:"blur",src:W.Z}),"\n",(0,i.jsx)(c(),{alt:"multi-staging-build",placeholder:"blur",src:N.Z})]}),"\n",(0,i.jsxs)(n.li,{children:["After the lab, my mentor walked me through ",(0,i.jsx)(n.a,{href:"https://ykarma1996.tistory.com/192",children:"Overlay FS"})," one by one, showing me how the images are created. This was really informative..."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Learning the basics of Kubernetes","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Before contributing, I took the time to study the basics of Kubernetes.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.notion.so/bf8924a756b34bacb82d7051a05f1168?pvs=21",children:"개인 공부자료"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Argo workflows","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["template and ",(0,i.jsx)(n.a,{href:"https://www.notion.so/e4d8e9e18f154a2181135b3e1b6b2d45?v=599976df8f114b5bb48943bdeef08360&pvs=4",children:"self-study"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Mentee Hakjun showed me the ",(0,i.jsx)(n.a,{href:"https://junkmm.tistory.com/28",children:"pipeline for deploying on GCP using ArgoCD and Argo Workflows"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Participation in OSS meetup activities"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Mentors and mentees gave presentations on various topics. It was a good time to hear what problems they are facing in the real world besides contributing and how they solved them."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Participating in the hackathon"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Mentee Sungrak helped me a lot. He shared the issues he thought were okay and always encouraged me to challenge myself.\n",(0,i.jsx)(c(),{alt:"hackImage",placeholder:"blur",src:R.Z})]}),"\n",(0,i.jsxs)(n.li,{children:["He recommended the issue ",(0,i.jsx)(n.code,{children:"#11609"})," ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:"Compile expr in config"}),", so I tried it."]}),"\n",(0,i.jsxs)(n.li,{children:["I spent some time analyzing the issue by ",(0,i.jsx)(n.a,{href:"https://www.notion.so/491f51f4142244ca875708c5556c58a2?pvs=21",children:"teaching myself Golang"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"It was a good time to become more familiar with golang."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-1",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Participant Review"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"As a junior developer, this activity is not just for contributing, it's a great way to see what developers are thinking about and how they grow."}),"\n",(0,i.jsx)(n.li,{children:"I got so much help and I'm always grateful. It was a great time to meet so many nice people."}),"\n",(0,i.jsx)(n.li,{children:"I'm glad I took the first step in getting acquainted with containers."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future plans"}),".","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I will continue to be interested in and contribute to all open source projects that I use in my development."}),"\n",(0,i.jsx)(n.li,{children:"I will apply Argo workflows to real projects and find ways to contribute more!"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["qudtjs0753"]}),"\n",(0,i.jsxs)(n.h3,{id:"2-sion-kang",children:["2. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/sion-kang-3146551bb/",children:"SiOn Kang"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-1",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"1 issue, 3 PRs"}),"\n",(0,i.jsxs)(n.li,{children:["Modified GitHub Actions log name to improve readability","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11670",children:"https://github.com/argoproj/argo-workflows/pull/11670"})}),"\n",(0,i.jsx)(n.li,{children:"Among the steps performed in publish-release, Run actions/cache@v3 is performed a total of three times."}),"\n",(0,i.jsx)(n.li,{children:"Each person has a different role, but the same name is used, so the part where it may feel like the same task is being done three times has been changed to a name that fits each role."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Delete cache logic that does not require GitHub Actions","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11754",children:"https://github.com/argoproj/argo-workflows/pull/11754"})}),"\n",(0,i.jsx)(n.li,{children:"Fixed an error that occurred due to overlapping cache because caching is performed by default unless the cache option is set to false in setup-go actions."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Upgrade all checkout@v3 that uses the deprecated NodeJS 16 version to checkout@v4.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11782",children:"https://github.com/argoproj/argo-workflows/pull/11782"})}),"\n",(0,i.jsx)(n.li,{children:"Since NodeJS will soon end its security support, changes have been made to use actions using the latest version."}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-2",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"I enjoyed last year's experience so much that I decided to participate again this year, but this year was a great experience again with a different feel from last year.\nThanks to all the passionate team members and active projects, I was able to maintain interest in the project without losing tension, and I am very happy that I have a colleague with whom I can share not only the project but also related stories."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-1",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["Yaminyam"]}),"\n",(0,i.jsx)(n.h3,{id:"3-younggil-kwon",children:"3. YoungGil Kwon"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-2",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:"[Project Contributions]"}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["'Bug modification' Argo Workflow Datpicker improvement ",(0,i.jsx)(n.em,{children:"(completed)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"Improve the ui of datepick, one of the filter functions of the workflow list page"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"1.UI.png",placeholder:"blur",src:F.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"2.UI.png",placeholder:"blur",src:M.Z})}),(0,i.jsx)(n.p,{children:"Issue Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11476",children:"UI: Datepicker Style Malfunction Issue \xb7 Issue #11476 \xb7 argoproj/argo-workflows"})}),(0,i.jsx)(n.p,{children:"PR Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11480",children:"fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd \xb7 Pull Request #11480 \xb7 argoproj/argo-workflows"})}),(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["'Bug modification' ",(0,i.jsx)(n.em,{children:"Cronworkflow's State filter initial value setting (completed)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"Fixed a bug where the status filter in the cronworkflow is rendered regardless of the initial value"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"3.UI.png",placeholder:"blur",src:T.Z})}),(0,i.jsx)(n.p,{children:"Issue Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11685",children:"ui: Cron workflow initial filter value \xb7 Issue #11685 \xb7 argoproj/argo-workflows"})}),(0,i.jsx)(n.p,{children:"PR Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11686",children:"https://github.com/argoproj/argo-workflows/pull/11686"})}),(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["'Fix the bug' ",(0,i.jsx)(n.em,{children:"Remove webpack-related alerts from the initial page (in progress)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"To remove web pack monitoring that occurs when loading argo workflow ui"}),(0,i.jsx)(n.p,{children:"Currently testing the dependence and functionality of the associated libraries"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"4.UI.png",placeholder:"blur",src:O.Z})}),(0,i.jsxs)(n.ol,{start:"4",children:["\n",(0,i.jsxs)(n.li,{children:["'Improvement' ",(0,i.jsx)(n.em,{children:"Improvement of login page (in progress)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"Issues that improve the existing login page in Argo Workflow in the same form as the Argo CD"}),(0,i.jsx)(n.p,{children:"We will analyze the login capabilities provided by current workflow and apply new designs and designs afterwards"}),(0,i.jsx)(n.p,{children:"Issue Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/10816",children:"Similar login page to Argo CD \xb7 Issue #10816 \xb7 argoproj/argo-workflows"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Project Activity History]"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"7.8 Opening Ceremony (Project Introduction and Self-Introduction)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Opening ceremony\n",(0,i.jsx)(c(),{alt:"5.meet.png",placeholder:"blur",src:G.Z})]}),"\n",(0,i.jsx)(n.li,{children:"Time for self-introduction using nicknames"}),"\n",(0,i.jsx)(n.li,{children:"A rough introduction to the project"}),"\n",(0,i.jsxs)(n.li,{children:["a majority vote for the rules of gathering activity","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The next meeting activity will be held from 1 p.m. on Saturday (07/15) unlike the regular schedule, depending on the majority vote of the participants at the opening ceremony. The planned activity topic is:"}),"\n",(0,i.jsx)(n.li,{children:"Time to review or talk about *common activities** for the next week"}),"\n",(0,i.jsx)(n.li,{children:"Time to communicate about topics of interest"}),"\n",(0,i.jsx)(n.li,{children:"You can also set up the development environment according to your progress. (Optional)"}),"\n",(0,i.jsx)(n.li,{children:"(Common activities will be organized and shared within tomorrow's work hours.)"}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"7.15 First Meeting (Introduction to Development Environment Settings and Workflow Features)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Open Up to the First Meeting"}),"\n",(0,i.jsx)(n.li,{children:"Development Environment Settings (dev-container)"}),"\n",(0,i.jsxs)(n.li,{children:["Playground Mission (DCO Bot Check Passed, Commit Using GPG, Commit Message Convention)","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I created a playground before I immediately challenged a real open-source project. The first goal is to do issues/PR/commitments, etc., from an outsider's perspective on the project in this Playground.\nIt's simple, but there may be unexpected gateways for the first time, so please focus. If we resolve the first issue early, we will give you additional instructions. Haha"}),"\n",(0,i.jsxs)(n.li,{children:["저장소: ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS"})]}),"\n",(0,i.jsx)(n.li,{children:"Objective: Select member profile update issue in issue template and generate first PR according to issue content."}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"7.23 Second meeting (share issues of interest)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Gathering at Seongsu to conduct the second meeting (provided by Musinsa-Andahye Mentee)"}),"\n",(0,i.jsxs)(n.li,{children:["Introduce issues of interest, share issues with each other\n",(0,i.jsx)(c(),{alt:"6.meet.png",placeholder:"blur",src:Z.Z})]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"8.6 Fourth meeting"})}),(0,i.jsx)(n.p,{children:"Presentation activities"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"argo event와 workflow, cd연동"}),"\n",(0,i.jsx)(n.li,{children:"eBpf"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"7.meet.png",placeholder:"blur",src:E.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"8.13 Fifth Meeting"})}),(0,i.jsx)(n.p,{children:"Presentation activities"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"webRTC"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"8.meet.png",placeholder:"blur",src:K.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"8.20 6th Meeting"})}),(0,i.jsx)(n.p,{children:"presentation activityEast"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Platform builder & K6 load test PoC for developers to load test themselves"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"9.meet.png",placeholder:"blur",src:q.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Project Activities]"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"[Learning to contribute]"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Kubernetes Architecture Lecture - ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=Iue9TC13vPQ",children:"YouTube link"})]}),"\n",(0,i.jsxs)(n.li,{children:["Kubernetes Resources Lecture - ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=6n5obRKsCRQ&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c",children:"YouTube link"})]}),"\n",(0,i.jsxs)(n.li,{children:["Go Playground - ",(0,i.jsx)(n.a,{href:"https://go.dev/play/",children:"https://go.dev/play/"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Learnings and impressions"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"I realized that domain knowledge in the field is important to contribute to the project.\nI wanted to simply contribute to web services, but it was not easy to set up the environment due to lack of knowledge about Kubernetes."}),"\n",(0,i.jsx)(n.li,{children:"I learned that big open source projects use things like DCO/GPG, and I was able to learn how open source projects are managed and operated."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Issues and PR details"})}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-3",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"For me, the idea of contributing to open source brings up a lot of mixed feelings.\nContributing to open source with other developers and experiencing the sharing and collaborative culture of open source is a great joy and reward for developers.\nHowever, the uncertainty and fear that I had experienced when contributing several times before was a big barrier that made me hesitate to try again.\nWhen I decided to participate for the third time, I said to myself, \"Excuses like \"I'm a student, I don't know enough, I'm busy preparing for a job, etc.\" don't work anymore. I must succeed this time'.\nI can still remember the promise I made to myself when I started, which made it all the more overwhelming and exciting.\nWhen I was applying for projects, I had to decide whether I wanted to work on something I knew or something new. I applied for a project related to devops, a field I hadn't been exposed to before, in order to educate myself and work harder.\nIt didn't take long for me to regret this decision. There was a lot to learn before I could even contribute, and a lot of time was wasted in building the basic environment of the project. However, when the development environment was built with other team members,\nsharing each other's difficulties every day and actively trying to help each other, it was an exciting time.\nErrors and bugs that occurred in my work always made me sensitive and annoyed, but in the academy, it was like a mission that I could do, and the process was fun like a game.\nNow that I'm writing this recap, I'm very proud of my contributions and I'm grateful to my colleagues and mentors who helped me along the way.\nIn the future, I will think about how I can apply the argo-workflow project to my work and actively contribute to the issues that arise. I would also like to contribute to new projects if there are other good projects.\nThank you."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-2",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["zel0rd"]}),"\n",(0,i.jsxs)(n.h3,{id:"4-subin-kim",children:["4. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/sudosubin",children:"SuBin Kim"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-3",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Personal performance"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Contributing one 'issue' and one 'PR'"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Preparation for Countryview"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Viewed: OSSCA Basic Training uploaded to YouTube. I've used it a lot before, such as Git and Vim, and I knew the concept, but I was able to know and understand a lot of parts that I didn't know or roughly used."}),"\n",(0,i.jsxs)(n.li,{children:["In the 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository, we performed an example of Git configuration settings and linking and closing Issue and PR.\nArgo Workflows must have all commitments signed with gpg private key and signed off when creating PR. Otherwise, it will fail in the GitHub CI. Before I actually contributed to Argo Workflows, it helped me greatly to set up a local Git environment in advance and create a simulated PR.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"You have set up the Argo Workflows development environment. At first, I set it up with devcontainer, and then I used Nix.\nArgo Workflows requires multiple components in the development environment, including React UI, Argo Server, and MySQL, making it difficult to configure the development environment, but we were able to fully configure it over several weeks."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Countryview progress"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Fix 'Bug Fix' Fix go build","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11635",children:"https://github.com/argoproj/argo-workflows/pull/11635"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"The existing code base was using Go 1.20, but there was a problem with using Go 1.19 in the Nix build file. Previously, the build was fine, but when I started using the newly added grammar in Go 1.20, I encountered problems with the Nix build."}),"\n",(0,i.jsx)(n.li,{children:"Using '_module.args', I modified Go 1.20 to be the default and modified the Nix build."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Automatic update of 'function improvement' Nix go vendor hash","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11691",children:"https://github.com/argoproj/argo-workflows/issues/11691"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"This is an issue that I learned when I set up the development environment during the preparation of the contention. Nix pursues a reproducible build, but when GitHub's Dependency Hash value is not changed together when GitHub's Dependency Abot automatically raises the Go module version."}),"\n",(0,i.jsx)(n.li,{children:"This often requires developers to manually calculate and update Nix's go vendor hash when setting up a development environment, and we are looking for workable ways to improve it."}),"\n",(0,i.jsx)(n.li,{children:"In order to find a solution with the contributors, an issue was created by collecting the contents of existing PRs and Comments."}),"\n",(0,i.jsx)(n.li,{children:"Developers are reflecting it manually without solving it in other open-source projects, so after contributing to Argo Workflows, I think I can contribute to other projects as well."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["'Improvement' 'CHANGELOG.md '","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11733",children:"https://github.com/argoproj/argo-workflows/pull/11733"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Markdownlint is a tool that forces documents in a project to be written in a consistent format and makes them easier to read and modify."}),"\n",(0,i.jsx)(n.li,{children:"Previously, we used Markdownlint to configure the linker settings for the Project Markdown document, but we improved the 'CHANGELOG.md ' file, which is automatically generated using the script, because it does not comply with the linker rules."}),"\n",(0,i.jsxs)(n.li,{children:["New 'CHANGELOG.md ' changes created by the changed script are contained in this PR. → → ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11773",children:"https://github.com/argoproj/argo-workflows/pull/11773"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["'Improvement' document style improvement","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11787",children:"https://github.com/argoproj/argo-workflows/pull/11787"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"We've improved the style of some documents that don't follow Markdownlint, and we've shared that we'll revise the documents that are automatically generated later in PR."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-4",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Review of participation in the program"})}),"\n",(0,i.jsx)(n.li,{children:"It would have been impossible if I had tried to contribute by myself, but I think I was able to prepare and contribute while gathering with mentor and other mentees to study and contribute."}),"\n",(0,i.jsx)(n.li,{children:"It was great to understand the Argo Project ecosystem and community, and to understand Argo Workflows much deeper than before."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Planning future contributions"})}),"\n",(0,i.jsx)(n.li,{children:"We will discuss the solution with the contributors in the issue we have created and implement it will be implemented."}),"\n",(0,i.jsx)(n.li,{children:"Afterwards, we will improve the Nix development environment and gradually transfer the devcontainer development environment to Nix."}),"\n",(0,i.jsx)(n.li,{children:"The documents related to Nix are poor, so we are going to improve the documents."}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-3",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["sudosubin"]}),"\n",(0,i.jsx)(n.h3,{id:"5-hakjun-kim",children:"5. HakJun Kim"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-4",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"refactory"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"fix: Upgrade Go to v1.21 Fixes #11556"}),"[**Merged]**"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Argo Workflows are developed in Go language."}),"\n",(0,i.jsx)(n.li,{children:"An issue was issued to upgrade Go Version from 1.20 → 1.21, so we decided to resolve it."}),"\n",(0,i.jsx)(n.li,{children:"During the ‘Issue Hackathon’ period, we presented the issue and worked with the same team members to resolve the issue and conduct PR."}),"\n",(0,i.jsx)(n.li,{children:"As a result, it was a glorious time to have my first PR and my first contributor badge."}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"fix: Upgrade Go to v1.21 Fixes #11556 by junkmm \xb7 Pull Request #11601 \xb7 argoproj/argo-workflows(opens in a new tab)"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"presentation"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"During the Challenges period, we had time to present at an offline meeting the results of CI/CD implementation using Argo Projects."}),"\n",(0,i.jsxs)(n.li,{children:["It was a useful time to organize my thoughts during the presentation, talk with each other, and understand DevOps and the Argo Project ecosystem.\n",(0,i.jsx)(c(),{alt:"meet",placeholder:"blur",src:H.Z})]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Issue Hackathon"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"An ‘Issue Hackathon’ was held under the leadership of a mentor with the opinion of Da-hye A to reduce entry barriers and motivate contribution activities."}),"\n",(0,i.jsx)(n.li,{children:"Under the leadership of our mentor, we became a team with Seongrak, Moonyoung, and Byeongseon."}),"\n",(0,i.jsx)(n.li,{children:"During this period, I achieved the resolution of the go 1.20 → 1.21 upgrade issue that I suggested."}),"\n",(0,i.jsxs)(n.li,{children:["We attempted to resolve the issue of adding Prometheus Metric values built into Argo Workflows, but were discontinued due to the high level of difficulty. However, through this process,\nI had a great experience breaking down my stereotype that Prometheus requires a separate exporter to be installed and expanding my horizons.\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849",children:"plan to add workflow labels to the metric? \xb7 Issue #9849 \xb7 argoproj/argo-workflows(opens in a new tab)"})]}),"\n",(0,i.jsxs)(n.li,{children:["We are trying to resolve the following issue: ",(0,i.jsxs)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:["Compile ",(0,i.jsx)(n.code,{children:"expr"})," in config \xb7 Issue #11609 \xb7 argoproj/argo-workflows"]})]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Beginner’s Special Class - Container Playground"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Argo Workflows is an open source that runs in the Kubernetes native environment."}),"\n",(0,i.jsx)(n.li,{children:"The mentor opened the Kubernetes Study, saying that knowledge of Kubernetes would be helpful in approaching our project."}),"\n",(0,i.jsxs)(n.li,{children:["The first mission was to create a Web Container that satisfied the conditions presented.\n",(0,i.jsx)(c(),{alt:"goal",placeholder:"blur",src:z.Z})]}),"\n",(0,i.jsx)(n.li,{children:"It made me reflect on how I usually write Dockerfiles thoughtlessly, and it was a good time to learn about the relationship between multi-staging, build speed, and how to write Dockerfiles."}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-5",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Participation review"})}),"\n",(0,i.jsx)(n.p,{children:"First of all, I am very satisfied. I don't think it can be compared to the person I am today, who didn't know much about the open source ecosystem in the early days of contribution. The reason I'm so satisfied First, we are smart team members.\nEvery week, there were many presentations on various topics, technologies used by people in the workplace, technologies of interest, etc. It was a premium lecture that could not be heard anywhere else, and it was a very helpful time. Second, we have reliable team members.\nAs someone with little development experience, I was a little scared of this contribution period. However, thanks to many people, including our leader mentee, Seongrak, who actively provided information when they posted questions on Slack, I was able to smoothly overcome the problems I experienced.\nThird, it is a comfortable meeting space and reliable support. We met every Sunday at the open-up space in Seocho. It was really clean, probably because it was a new building, and the coffee and snacks in the bathroom were just brilliant. Also,\nit was nice to be able to eat really delicious lamb skewers during the mid-day company dinner."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Future plans"})}),"\n",(0,i.jsx)(n.p,{children:"Through this year's contribution activities, I was able to clearly understand the open source ecosystem. The only thing I regret is that it was scary in the beginning? It's about being active passively and my cute little coding skills that I couldn't help but be passive about.\nBecause the period of contribution activities was truly valuable, I would like to make up for my shortcomings and participate next year as well."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-4",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["junkmm"]}),"\n",(0,i.jsxs)(n.h3,{id:"6-jinsu-park",children:["6. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/jinsu-park-dev/",children:"JinSu Park"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-5",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.p,{children:["Improvements\n",(0,i.jsxs)(n.strong,{children:["A new feature to support Secrets as a type of parameters (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11446",children:"link"}),")"]})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"1.picture",placeholder:"blur",src:L.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"2.picture",placeholder:"blur",src:U.Z})}),(0,i.jsx)(n.p,{children:"The original Argo Workflow allowed you to define arguments directly when passing them to the WorkflowTemplate, or you could set it to reference a ConfigMap. However, unlike other tools that support the common kubernetes ecosystem, the ability to reference Secrets was not supported."}),(0,i.jsxs)(n.p,{children:["We started getting feature requests ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/5506%EC%97%90%EC%84%9C",children:"https://github.com/argoproj/argo-workflows/issues/5506에서"})," for this, and we've implemented it and created a Draft PR."]}),(0,i.jsx)(n.p,{children:"This feature was not easy to develop, especially since it required redefining things like the CustomResourceDefinition interface in Kubernetes, and figuring out the entire lifecycle of how a workflow is created, injected with sidecars, and created as a Pod."}),(0,i.jsx)(n.p,{children:"However, as we implemented the feature, we were able to gain a deeper understanding of how workflows are eventually transformed into pods and containers, and the logic behind how workflows templatize context and arguments internally."}),(0,i.jsxs)(n.p,{children:["Create Issue` ",(0,i.jsxs)(n.strong,{children:["Incorrect creator labels on a resubmitted Workflow (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11414",children:"link"}),")"]})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"3.picture",placeholder:"blur",src:B.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"4.picture",placeholder:"blur",src:Y.Z})}),(0,i.jsx)(n.p,{children:"Argo Workflow has a feature called Resubmit that recreates and runs a Workflow based on the same template. In the case of a resubmitted Workflow, the k8s object label related to the user who created the Workflow was not set based on the resubmitted user, but was set to the existing incorrect value."}),(0,i.jsx)(n.p,{children:"As a result, if the user who ran a workflow was different from the user who resubmitted the workflow, the workflow created by the resubmission would have an incorrect workflow creation user-related k8s object label."}),(0,i.jsx)(n.p,{children:"We raised an issue about this."}),(0,i.jsxs)(n.p,{children:["Bugfix: ",(0,i.jsxs)(n.strong,{children:["fix: Apply the creator labels about the user who resubmitted a Workflow (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11415",children:"link"}),")"]})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"5.picture",placeholder:"blur",src:J.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"6.picture",placeholder:"blur",src:_.Z})}),(0,i.jsx)(n.p,{children:"We created a Pull Request to resolve the issue (bug) we created earlier."}),(0,i.jsx)(n.p,{children:"We fixed the bug by labeling the correct Workflow constructor k8s object based on the resubmitted user information only, without considering the information of the existing Workflow executor when resubmitting."}),(0,i.jsx)(n.p,{children:"As an example of the change, we showed how a Workflow executed by a user named foo would be resubmitted by a user named bar, and how the creator-related label would be different if it was resubmitted by an unauthenticated user."}),(0,i.jsx)(n.p,{children:"We also found that there were a lot of other code that was impacted, so we wrote test code to make it more stable."}),(0,i.jsx)(n.p,{children:"Improvements"}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["feature: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11407",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"7.picture",placeholder:"blur",src:V.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"8.picture",placeholder:"blur",src:X.Z})}),(0,i.jsx)(n.p,{children:"If the CronWorkflow was created by a logged-in user, the CronWorkflow will be labeled with a k8s object for the constructor. However, there was an issue that the k8s object label would not be attached to Workflows that are created periodically based on the settings of CronWorkflow."}),(0,i.jsx)(n.p,{children:"Therefore, we have improved Workflows created with CronWorkflow to propagate CronWorfklow's constructor label."}),(0,i.jsx)(n.p,{children:"Issue."}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Insufficient logging in /oauth2/callback handler when using SSO Authentication (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11369",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"9.picture",placeholder:"blur",src:Q.Z})}),(0,i.jsx)(n.p,{children:"We tried to activate the Authentication with Single Sign On (SSO) feature in Argo Workflows using the Identity Provider open source product called Keycloak, but we experienced a significant delay in the activation process due to the lack of logs.\nTherefore, we opened an issue on the topic of enhancing the logging of the feature activation operation."}),(0,i.jsx)(n.p,{children:"Feature."}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["feature: Improve logging in the oauth2 callback handler (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11370",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"10.picture",placeholder:"blur",src:$.Z})}),(0,i.jsxs)(n.p,{children:["This is the pull request that resolved the issue mentioned above (",(0,i.jsx)(n.a,{href:"https://www.notion.so/82d2ee40c48e482a8db93123a7b38407?pvs=21",children:"block link"}),"). We improved the feature to output error logs for each error case that occurs while using OAuth2 Protocol for SSO."]}),(0,i.jsx)(n.p,{children:"Also, to make it easier for reviewers to review the pull request, we've added code verification to make the pull request more convincing."}),(0,i.jsx)(n.p,{children:"Study`"}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["docs: Add a user named Park Jinsoo (",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/51",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"11.picture",placeholder:"blur",src:ee.Z})}),(0,i.jsx)(n.p,{children:"At the beginning of the event, we practiced creating a pull request by adding an introduction about myself to the member profile of a repository that my mentor created for us to get acquainted with GitHub."})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-6",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"It was a great opportunity for me to become a contributor to a well-known open source project after having been a user of many open source projects for my work and hobbies."}),"\n",(0,i.jsx)(n.p,{children:"With the help of my mentor, I was able to get started in open source contributing with Argo Workflow, overcome my fear of live video meetings between contributors, and develop the habit of reading code written by others."}),"\n",(0,i.jsx)(n.p,{children:"I'm now very interested in Argo Workflow, as well as other cloud-native, open source favorites like Argo Rollouts and Istio, and I've been communicating with contributors frequently via Slack."}),"\n",(0,i.jsx)(n.p,{children:"Before I started contributing to open source, I'm sure I would have been reluctant to do so. But now I don't feel intimidated by this communication at all, and in the future I hope to contribute as much to Argo Rollouts and Istio as I did to Argo Workflow!"}),"\n",(0,i.jsx)(n.p,{children:"I would like to thank the organizers and mentors for all their hard work over the years. Thank you."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-5",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["umi0410"]}),"\n",(0,i.jsx)(n.h3,{id:"7-chungwun-seo",children:"7. ChungWun Seo"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-6",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"individual performance"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["1 ",(0,i.jsx)(n.code,{children:"PR"})," Open"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Countryview preparation process"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We checked the shared video of the basic Git strategy shared by the OSSCA Secretariat and combined the new parts we missed with the existing concepts to enhance our understanding and application of Git."}),"\n",(0,i.jsx)(n.li,{children:"The team's 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository allowed us to learn the gpg private keys, issues, PR titles, etc., which are essential for open-source attributes, by actually performing missions and gaining experience."}),"\n",(0,i.jsx)(n.li,{children:"dWe used devcontainer to build and test Argo Workflow's local development environment, and to test the requirements for actually doing the content. The portability tool for multiple library dependencies made it very easy to use."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Content progress"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Modifying fields example in formula docs","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11748",children:"https://github.com/argoproj/argo-workflows/pull/11748"})}),"\n",(0,i.jsx)(n.li,{children:"An example of a document that does not use Cron Workflow was included in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields in the existing official document, causing confusion in finding the required data."}),"\n",(0,i.jsx)(n.li,{children:"So, in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields, we only allowed examples using CronWorkflow to find the data we needed."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-7",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Program Participation Review"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Mentors and mentees led the meeting so well that I wondered if there would be another meeting where I could get to know and understand the open-source ecosystem in depth."}),"\n",(0,i.jsx)(n.li,{children:"As an individual, I was very disappointed. I could have invested a little more time and actively participated in the meeting to make it a better meeting as well as personal growth, but it was a period that left a lot of regret because of various external factors and my own laziness."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future Contribution Plan"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"With great confidence that open-source attributes are no longer scary (?) things, we will be able to explore open-source beyond the Argo ecosystem and be more interested in the CNCF ecosystem."}),"\n",(0,i.jsx)(n.li,{children:"Based on the fact that we can make contributions through previous PR records and the help of the main container without having to look at the source from the beginning, we plan to actively continue our contribution beyond the psychological hurdle of the country."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-6",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["newdeal123"]}),"\n",(0,i.jsxs)(n.h3,{id:"8-haemin-song",children:["8. ",(0,i.jsx)(n.a,{href:"www.linkedin.com/in/haemin-song-771626120",children:"HaeMin Song"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-7",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Contribution Activities"})}),"\n"]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Mutex check happens after memoization cache check and lock info missing from UI"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11219",children:"Issue #11219"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11456",children:"PR #11456 - Merged/Included in 3.4.10 release"})]}),(0,i.jsx)(n.p,{children:"I managed to modify Argo Workflow to simultaneously utilize the Synchronization and Cache functionalities."}),(0,i.jsx)(n.p,{children:"This bug manifested when using both the Synchronization and Memoize keywords in Argo Workflow, causing it not to operate correctly."}),(0,i.jsx)(n.p,{children:"The expected behavior was for the Mutex Synchronization to function first followed by the cache, however, after Synchronization occurred, the cache failed to operate."}),(0,i.jsxs)(n.p,{children:["For instance, when there are ",(0,i.jsx)(n.code,{children:"job-1"})," and ",(0,i.jsx)(n.code,{children:"job-2"}),", if ",(0,i.jsx)(n.code,{children:"job-1"})," operates first due to Mutex Synchronization and writes to the cache, ",(0,i.jsx)(n.code,{children:"job-2"})," ** should pass without operating, courtesy of the shared cache.**"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:en.Z})}),(0,i.jsx)(n.p,{children:"I was able to fix this by adjusting the sequence of Synchronization and Cache."}),(0,i.jsxs)(n.p,{children:["While the fix was not complicated, modifying the ",(0,i.jsx)(n.code,{children:"operation.go"}),", one of the intricate files, allowed me to explore various features of Argo Workflow with many reviews."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Parent level memoization is broken"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11612",children:"Issue #11612"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11623",children:"PR #11623 - Merged/Included in 3.4.11 release"})]}),(0,i.jsx)(n.p,{children:"A new bug arose from the above fix. When using the Memo function in child components rather than at the Template level in Argo Workflow, a bug was reported that caused infinite pending."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:es.Z})}),(0,i.jsx)(n.p,{children:"I realized that there were unaddressed cases in the tests added in the previous PR. After identifying the cause of the error, I quickly patched it. I included four tests in the PR to detect such exceptions in the future."}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"UI: workflowDrawer's information link is not correctly working"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11494",children:"Issue #11494"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11495",children:"PR #11495 - Merged/Included in 3.4.10 release"})]}),(0,i.jsx)(n.p,{children:"I fixed an issue where the Information icon link was broken when expanding a workflow on the Argo Workflow dashboard."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:ei.Z})}),(0,i.jsxs)(n.p,{children:["I introduced code to prevent incorrect event propagation caused by nested ",(0,i.jsx)(n.code,{children:""})," tags. This correction ensured that clicking on the icon now directs users to the correct documentation."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Search by name for WorkflowTemplates in UI"}),(0,i.jsx)(n.code,{children:"Feature Enhancement"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684 - Merged/Included in 3.4.10 release"})]}),(0,i.jsx)(n.p,{children:"This was a collaborative effort with two other contributors."}),(0,i.jsx)(n.p,{children:"A helpful feature that allows templates in Argo Workflow to function through name patterns was missing."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:er.Z})}),(0,i.jsxs)(n.p,{children:["We developed an additional feature that lets users search for templates not just by Yaml labels, but also by names.\n",(0,i.jsx)(n.code,{children:"The LIKE search, not just precise naming, will prove useful in the future."})," Plans are underway to extend this search and pagination functionality to other pages, making this a particularly meaningful PR."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add more readable Argo CLI installation guide into github documentation"}),(0,i.jsx)(n.code,{children:"Documentation Contribution"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11750",children:"Issue #11750"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11751",children:"PR #11751 - Merged"})]}),(0,i.jsx)(n.p,{children:"This contribution pertains to the documentation of the Argo CLI, the command-line interface used with Argo Workflows."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:eo.Z})}),(0,i.jsx)(n.p,{children:"The current Argo CLI GitHub documentation lacked installation procedures, making it challenging for first-time users to determine how to install the Argo CLI. Initially, users had to directly navigate to the Release Note or the Quick Start page.\nBy adding an Installation section to the Argo CLI page alongside the existing Usage details, I aimed to enhance user convenience."}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Workflow templating is skipped when whitespace is added to template parameters"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11767",children:"Issue #11767"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11781",children:"PR #11781 - Merged"})]}),(0,i.jsxs)(n.p,{children:["In Argo Workflow, when authoring a workflow template, the placeholder in the form ",(0,i.jsx)(n.code,{children:"{{parameter}}"})," did not undergo validation when spaces were added, such as ",(0,i.jsx)(n.code,{children:"{{ parameter }}"}),".\nThe root cause was the internal validation code not trimming spaces before and after the parameter. By adding the trim function to remove spaces, I resolved this issue. This contribution also rectified other placeholder content that previously bypassed validation."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Development Activities"})}),"\n"]}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Contributing to the Argo Workflow OSS Common Repo"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/22",children:"PR #22 - Merged"})}),(0,i.jsx)(n.p,{children:"I undertook a preliminary exercise for multiple people to contribute to the Argo Workflow. We simultaneously modified new and existing documents with other participants, learning the importance of Git commands and the process of rebasing."}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Creating a Web Server with Dockerfile"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/6",children:"PR #6 - Merged"})}),(0,i.jsx)(n.p,{children:"This exercise was about creating a Dockerfile that communicates with a local 8080 server and makes it accessible via localhost:8080.\nWe simply crafted a Python server using Flask, and through the Dockerfile, we set up the environment, initiated the server, and connected the port, making the server accessible externally via Docker commands."}),(0,i.jsx)(n.hr,{})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-8",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Post-Participation Review","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"While I had participated in the open-source contribution academy before, I was especially satisfied with the program, members, and content of this academy."}),"\n",(0,i.jsx)(n.li,{children:"It's not easy to understand the source code and start contributing in a short time, but it was an astonishing experience to be able to start contributing, even if it was a minor contribution."}),"\n",(0,i.jsx)(n.li,{children:"I deeply felt that the concentrated care from the mentor and the passion of other participants were genuinely helpful."}),"\n",(0,i.jsx)(n.li,{children:"Starting alone, I might have quickly given up and forgotten the content, but the experience was so different when progressing with others."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Future Plans","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I plan to continue contributing to Argo Workflow and may even start contributing to other open-source projects."}),"\n",(0,i.jsx)(n.li,{children:"Especially now that I have learned how to approach and start with an open source I am interested in, I believe it will be a bit smoother as long as I have the passion."}),"\n",(0,i.jsx)(n.li,{children:"I will actively promote the fun of contributing to open source to others and confidently recommend it."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-7",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["shmruin"]}),"\n",(0,i.jsxs)(n.h3,{id:"9-dahae-ahn",children:["9. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/dahye-ahn-223244234/",children:"DaHae Ahn"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-8",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Document modification"})," The ",(0,i.jsx)(n.a,{href:"https://argoproj.github.io/argo-workflows/running-locally/",children:"running-locally"})," part of the official document is not intuitive for people who are new to Dev-container and Makefile, and is broken.\nThere were links, so I uploaded pr ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11405",children:"#11405"})," and contributed to editing the official document."]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Issue Contribution"})," Although ",(0,i.jsx)(n.code,{children:"incomplete"}),", this is an issue where secret information can be exposed through commands such as echo within Argo-workflows workflows or Pods within workflows [#8685](",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/",children:"https://github.com/argoproj/"})," argo-workflows/issues/8685), so I tried to solve it."]}),(0,i.jsxs)(n.p,{children:["I invested about 3 hours a day for 4 days, for a total of 12 hours, on this issue, but I have not yet been able to resolve it. (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/commit/35866a599de80c02a950c52e800e69fc894d5b80",children:"Intermediate commit"}),")"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["We added ",(0,i.jsx)(n.code,{children:"ARGO_HIDE_SECRETS"}),", an environment variable that can be injected when running Argo-workflows, across a total of 11 files, and set the option to ",(0,i.jsx)(n.code,{children:"true"})," by default.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The above environment variables can be entered from the command line or added as settings when running Argo-workflows."}),"\n",(0,i.jsxs)(n.li,{children:["If you set ",(0,i.jsx)(n.code,{children:"ARGO_HIDE_SECRETS=false"}),', "You are running with logging include secrets. Be careful." A log saying was recorded.']}),"\n",(0,i.jsxs)(n.li,{children:["If information corresponding to Secret is included in the workflow or pod log, the code has been modified to mask SecretValue.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We wrote test code and verified that the above function works as intended."}),"\n",(0,i.jsxs)(n.li,{children:["However, since the above function did not work as intended, I started exploring the process of recording logs. I found out that the ",(0,i.jsx)(n.a,{href:"https://github.com/sirupsen/logrus",children:"logrus"})," library used in the Go language uses io.Writer from the ",(0,i.jsx)(n.a,{href:"https://pkg.go.dev/io",children:"io"})," package. ."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Assignment Performance"})," For the Argo-workflows team, the mentor created the OSS-Argo-workflows repository and assigned several tasks."]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"In the actual Argo-workflows repo, I learned through assignments how to upload a PR by following the principles (presigned commit, gpg check) that must be followed when uploading a PR, and how to resolve git conflicts."}),"\n",(0,i.jsxs)(n.li,{children:["In order to upload pr from the actual Argo-workflows repo, modify the code and check whether Argo-workflows is working properly, you must run Argo-workflows with a Dev Container in the local environment.\n-Our team was given the task of carrying out this process ourselves, and along the way, we helped each other with members who had difficulty performing it. I summarized how to perform the method in a blog post and shared it with my team members.",(0,i.jsx)(n.a,{href:"https://aimb.tistory.com/317",children:"blog"})]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-9",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"While participating in the open source contributionthon, I met amazing mentors and team members. We met offline every week, shared issues we had contributed to, and made presentations that were helpful to our work in turns every week."}),"\n",(0,i.jsx)(n.p,{children:"Also, at the last minute, we created an ‘Issue Hackathon’ where we split into groups to focus on solving issues. As a result, more than 4 PRs were merged from the Argo-workflows team itself, and I was able to focus my time on one issue and dig deep into open source."}),"\n",(0,i.jsx)(n.p,{children:"Since I was considering a career developing in the Go language, it was a really valuable experience to see and modify production-level Go code. It makes me wonder if I could belong to the same group as these hard-working people."}),"\n",(0,i.jsx)(n.p,{children:"Even after Masters is over, I plan to dig into the issues I was trying to solve above until the end, and I plan to upload one more development pr."}),"\n",(0,i.jsx)(n.p,{children:"And if I get the chance, I would like to participate in the 2024 Open Source Contribution Thon."}),"\n",(0,i.jsx)(n.p,{children:"Thank you for providing a great opportunity and venue."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-8",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["da-head0"]}),"\n",(0,i.jsx)(n.h3,{id:"10-jiwan-ahn",children:"10. JiWan Ahn"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-9",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"1. Open Source's first contribution"})}),(0,i.jsxs)(n.p,{children:["For the first time, I made a documented contribution to ArgoWorkflows. We've fixed the parts on the official site where there's room to confuse whether it's an image or a video, so that users know it's definitely a video.\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11755",children:"docs: modify demo image in intermediate-inputs.md #11755"})]}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. Learn how to contribute to open source by watching other members' activities"})}),(0,i.jsx)(n.p,{children:"Through this Open Source Country View Line Academy, I learned how to contribute to open source and how to find issues. The summary is as follows."}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"There are many issues than the main logic, or UI parts, or UI parts, or UI parts."}),"\n",(0,i.jsx)(n.li,{children:"There are many issues that can contribute to the open source sufficiently, even if you are a professional knowledge of the open source or a practitioner in another field (ex. UI issue)"}),"\n",(0,i.jsx)(n.li,{children:"When you want to contribute, you first comment that you want to solve this issue directly to the issue and then start working."}),"\n",(0,i.jsx)(n.li,{children:"This part was a little strange, but in the case of Argo Workflow, it was a little strange that the person in charge was assigned when making a contribution. Something I don't know? Or, it seems to assign a person in charge when you feel unfamiliar."}),"\n",(0,i.jsx)(n.li,{children:"There are many different people. Some people write just one line, and some people write very kindly comments."}),"\n"]}),(0,i.jsx)(n.p,{children:"I learned how to contribute directly to the issue by looking at other members' issue hackathons. In particular, I found the issue of \"Pagination\" very interesting among other members' issues.\nI didn't notice when I was using argo workflow, but I realized that it was possible to contribute to places that could pass by by catching that page-nation is inconsistent and making issues."}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. Development container construction"})}),(0,i.jsx)(n.p,{children:"Personally, I set up the development environment by flying devcontainer myself. In fact, there were countless errors in the process, and I could imagine that other developers would come and squeeze their brains together if there was a bug in practice."}),(0,i.jsx)(n.p,{children:"I found out that when you solve dependency issues and later someone else makes an issue on my project, you use development containers to ensure you're working in the same environment,\nand I thought I'd have to use development containers in other projects I'm working on (discord bot-related projects)."}),(0,i.jsx)(n.p,{children:"After the interim report, rather than changing my mind a little and feeling intimidated, I wanted to take the opportunity to overhear how other current employees operate the service in practice.\nIn fact, mentees presented various topics, and I was able to hear interesting topics such as load tests and explanations about ebpf in the company. I think it was a very valuable presentation that was hard to hear while attending school."}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Mastering the Verified Commit method using GPG Sign and uploading the introduction to Team GitHub"})}),(0,i.jsx)(n.p,{children:"Until now, I've been committing without a separate GPG Key, but in the process of uploading the member introduction, I checked the DCObot and GPG and kept getting blocked,\nso I learned how to create a Verified commit and uploaded the introduction to Team GitHub Repo. In the process, I solved it with the help of the same team member while constantly stopping whenever I committed."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/49",children:"docs: 안지완 프로필 업데이트"})})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-10",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"In fact, until I wrote the interim report, this activity was too high for my level and others were so good that I felt intimidated by myself, but thanks to the mentor's individual counseling and encouragement, I have since tried to participate in the regular meeting harder."}),"\n",(0,i.jsx)(n.p,{children:"I saw a lot of issues in Argo Workflow and looked for it to contribute to anything, but I couldn't touch it because it was so complicated and I didn't know the Go language.\nInstead, I felt like I entered the world of open source by looking at other people's contributions, even though I may not be able to contribute directly."}),"\n",(0,i.jsx)(n.p,{children:'Another person\'s most memorable contribution was "Page Nation." I was impressed to see that some parts of Argo Workflow are page-nations, some parts are not,\nand some parts are not title-free, but you found a problem of consistency in the UI, and you found a team member in the issue hackathon to solve this problem.'}),"\n",(0,i.jsx)(n.p,{children:"When I was looking for something to contribute, I tried to find issues related to logic, but it was too difficult and I couldn't figure out how it worked, but I can't believe it can contribute like that…I thought that I didn't have to be so scared of contributions than I thought."}),"\n",(0,i.jsx)(n.p,{children:"As everyone else, including you, is an incumbent and is very talented, I learned a lot from going to the meeting.\nYou can see the differences between theory and practice, how workflows are being used in practice, especially why the really universal airflow that I'm studying these days isn't being used very much in practice."}),"\n",(0,i.jsx)(n.p,{children:"To be honest, as I participated in open-source competition, I also have a desire to contribute at least one issue.\nAs there is not much time left, my plan is to contribute at least one small issue before the end of the activity, and now the semester is waiting, so I want to have as much time to learn as possible to go to regular meetings and learn even if the semester begins."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-9",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["synoti21"]}),"\n",(0,i.jsxs)(n.h3,{id:"11-yoonwoo-you",children:["11. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/yunwoo-yu-65095b263/",children:"YoonWoo You"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-10",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"1. Create a beginner's dockerfile"}),"\n",(0,i.jsx)(c(),{alt:"task1",placeholder:"blur",src:et.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Create your own web service, build an image via dockerfile, and run a container."}),"\n",(0,i.jsx)(n.li,{children:"Build your service using a framework and language of your choice, I used Nest.js."}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. Learn the Nest.js framework"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/yunwoo-yu/nest-board-app",children:"Nest.js Learning Repository"})}),"\n",(0,i.jsx)(n.li,{children:"Since I only knew the front end, I quickly learned to create a simple API service using the"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"3. PR after creating the dockerfile"}),"\n",(0,i.jsx)(c(),{alt:"task2",placeholder:"blur",src:el.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I created a docker file to build the image, verified that the service is working, and raised a PR, but the build test of the github action fails."}),"\n",(0,i.jsx)(n.li,{children:"Remove the --production option and it passes the test, but the image is not optimised. Ask your mentor for advice"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"task3",placeholder:"blur",src:ea.Z})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Start troubleshooting based on your mentor's feedback"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"4. Trouble Shooting"}),"\n",(0,i.jsx)(c(),{alt:"task4-1",placeholder:"blur",src:ec.Z}),"\n",(0,i.jsx)(c(),{alt:"task4-2",placeholder:"blur",src:eh.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I tried to install node_modules for production only to reduce the size when creating images with dokerfile, but it didn't pass the github action."}),"\n",(0,i.jsx)(n.li,{children:"After a lot of shovelling, I realised that a module called nest-cli is required for nest build, but it was in the devdependency, so I changed it and it worked. (My mentor gave me a hint, but I didn't understand and shovelled it in)"}),"\n",(0,i.jsx)(n.li,{children:"The reason I was confused was that I had nest-cli installed globally on my MacBook."}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"5. Open source contributor activity"}),"\n",(0,i.jsx)(n.strong,{children:"[UI: The position sticky on the workflow toolbar is not working]"})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fixed a bug where the position of the toolbar when selecting a checkbox in the workflows-list was not fixed at the top."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11442",children:"Read the issue"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11444",children:"Read the PR"})}),"\n"]}),(0,i.jsxs)(n.p,{children:["[before]\n",(0,i.jsx)(c(),{alt:"before1",placeholder:"blur",src:ed.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The top toolbar was not visible when checkboxes were selected and scrolling."}),"\n",(0,i.jsxs)(n.li,{children:["Fixed an issue with the existing ",(0,i.jsx)(n.code,{children:"position : sticky"})," not being applied by changing it to ",(0,i.jsx)(n.code,{children:"position : fixed"}),"."]}),"\n"]}),(0,i.jsxs)(n.p,{children:["[after]\n",(0,i.jsx)(c(),{alt:"after1",placeholder:"blur",src:eu.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"After checking a checkbox, you can pin the toolbar to the top of the scroll to fire events for that list without having to scroll further."}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[UI - show history about completed runs in each cron workflow]"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Work with a good improvement found by a Uijeong Issue to add a list to the ",(0,i.jsx)(n.code,{children:"cron-workflows-detail"})," component to view the history of a given workflow."]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"Read the issue"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"Read the PR"})}),"\n"]}),(0,i.jsxs)(n.p,{children:["[before]\n",(0,i.jsx)(c(),{alt:"before2",placeholder:"blur",src:ep.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["There was nothing on the existing ",(0,i.jsx)(n.code,{children:"cron-workflows-detail"})," page, but the"]}),"\n"]}),(0,i.jsxs)(n.p,{children:["[after]\n",(0,i.jsx)(c(),{alt:"after2-1",placeholder:"blur",src:ex.Z}),"\n",(0,i.jsx)(c(),{alt:"after2-2",placeholder:"blur",src:ej.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Added a history ",(0,i.jsx)(n.code,{children:"workflows"})," to the corresponding ",(0,i.jsx)(n.code,{children:"cron-workflows"})," and an example of when there is no history."]}),"\n",(0,i.jsx)(n.li,{children:"This PR is still under verification"}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-11",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"It was a great experience."}),"\n",(0,i.jsx)(n.p,{children:"Unfortunately, when I got a job, I became busy and lacked knowledge of server and DevOps, so I didn't participate in many contributor activities or offline gatherings."}),"\n",(0,i.jsx)(n.p,{children:"However, I will not give up and try to contribute more to argoWorkflow by doing more front-end contributions and studying server side as well!"}),"\n",(0,i.jsx)(n.p,{children:"Thank you for making such a good activity and thank you to the mentors and mentees for helping me grow step by step even though I'm a beginner \uD83D\uDC4D"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-10",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["yunwoo-yu"]}),"\n",(0,i.jsx)(n.h3,{id:"12-byeonggon-lee",children:"12. ByeongGon Lee"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-11",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Participate in the launching ceremony"}),"\n",(0,i.jsxs)(n.li,{children:["K8s learning","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Learn Operator concept"}),"\n",(0,i.jsx)(n.li,{children:"Helm learning"}),"\n",(0,i.jsx)(n.li,{children:"Learning CNI concepts"}),"\n",(0,i.jsx)(n.li,{children:"Learning Service Mesh concepts"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Learn Argo Workflows","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Learn basic usage","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoproj.github.io/argo-workflows/workflow-concepts/",children:"https://argoproj.github.io/argo-workflows/workflow-concepts/"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=kxl6wYd5i2g",children:"https://www.youtube.com/watch?v=kxl6wYd5i2g"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Learn skills around you","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"DevContainer learning"}),"\n",(0,i.jsx)(n.li,{children:"Nix Learning"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://nixos.org/manual/nixos/stable/",children:"https://nixos.org/manual/nixos/stable/"})}),"\n",(0,i.jsx)(n.li,{children:"Learning MinIO"}),"\n",(0,i.jsx)(n.li,{children:"Learn KeyCloak"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Argo Workflows contribution ‘bug fix’","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Create issue related to DevContainer malfunction ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11439",children:"https://github.com/argoproj/argo-workflows/issues/11439"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Issue with /etc/hosts entries being deleted when container restarts"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["DevContainer malfunction resolved PR created and merge completed ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11440",children:"https://github.com/argoproj/argo-workflows/pull/11440"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Solved by adding —add-host option to runArgs in devcontainer.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Learn technologies around Argo Workflows","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Install and use NixOS based on what you have learned"}),"\n",(0,i.jsx)(n.li,{children:"Research on Argo CD, Argo Events, and Argo Rollout"}),"\n",(0,i.jsxs)(n.li,{children:["Learn Keycloak","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Argo Workflows supports Keycloak integration, so I became curious and investigated Keycloak."}),"\n",(0,i.jsx)(n.li,{children:"Learn about the differences between OAuth2 and OIDC"}),"\n",(0,i.jsx)(n.li,{children:"Learn about Keycloak concepts\n-Role\n-Ream\n-Client"}),"\n",(0,i.jsx)(n.li,{children:"Learn how to set up Keycloak"}),"\n",(0,i.jsx)(n.li,{children:"Learn about Keycloak API and integration methods"}),"\n",(0,i.jsxs)(n.li,{children:["Study Keycloak official documentation","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.keycloak.org/docs/latest/securing_apps/index.html",children:"https://www.keycloak.org/docs/latest/securing_apps/index.html"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html",children:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Practice installing and using Keycloak yourself"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-12",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"It was great to be motivated not only to contribute to open source but also to learn about new technologies through this Contribution Academy.\nIt wasn't easy to participate while I was busy at work, but my long-term goal is not only to contribute to Argo Workflows in this year's contribution, but also in future contributions for the next few years.\nMy future plans are to build not only Argo Workflows, but also other Argo Projects and apply them to my personal toy project, as well as to study more about K8s."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-11",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["binkoni"]}),"\n",(0,i.jsxs)(n.h3,{id:"13-euiju-lee",children:["13. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/euijoolee3233",children:"EuiJu Lee"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-12",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),"\nlint test\n",(0,i.jsx)(n.strong,{children:"1. how to use Git & Commit, PR rules"})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Tasked with mastering basic Git usage and sending strict commits and pull requests for contributions."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["In the official Argo Workflow project, it was helpful to use the ",(0,i.jsx)(n.strong,{children:"Issue Template"})," and send a PR for the issue you want to contribute to, and it was also an opportunity to learn about the existence of the Issue Template."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"It was an opportunity to indirectly experience the elements essential for future contributions."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://flank.github.io/flank/pr_titles/",children:"PR naming convention"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/apps/dco",children:"DCO Bot Check"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg",children:"GPG Commit"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.conventionalcommits.org/en/v1.0.0/",children:"Commit Message convention"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword",children:"Link issues and PR"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Issue creation - Member profile update - PR - Review - Merge process"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"menberprofile1",placeholder:"blur",src:eg.Z})}),"\n"]}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"2. Participate in a special beginner class"})," - ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"Repository for beginner special class missions(container-playground)"})})," - The purpose was to help people who are unfamiliar with Docker or Kubernetes or who are new to it."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"class1",placeholder:"blur",src:em.Z})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Learn about the need for Docker Image optimization while performing tasks presented by a mentor"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Since it is a process of stacking certain packages and static files by layer from the From clause, we realized that optimization is essential because the Docker image can become heavy and have a negative impact on performance improvement."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Mission"}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"❗️objective❗️"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"Create your own web service and write a Docker file that can be containerized."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"To pass the assignment, please be sure to follow the instructions below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• Directory and file placement"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Be sure to create your own github account directory for your own service and write it there."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • The `Dockerfile` must be located at the top of your directory. (If this condition is not achieved, CI will fail.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • As long as it is under your own directory, you can freely write the rest of the files except for the location of `Dockerfile`."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • However, the image must be built successfully when you execute the command `docker build -t [image name] .` at the top of your directory."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• Behavior of built images"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Your web service must operate on port 8080."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • The built image must be serviced without problems when run with `docker run -d -p [forwarding port number]:8080 [image name]` without any additional parameters."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• Web service development language and service structure"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • It doesn’t matter which language or framework you prefer."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • It doesn't matter if you create a simple API service with no UI or design."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • However, you must create two required APIs. (I don't care about the response value.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[your github account]"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• (Optional) It would be better to optimize the Docker image.([참고](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an Please refer to -issue-using-a-keyword) to connect the issue and PR. (Manual connection x)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"❗️Note❗️"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"•It would be a good idea to refer to the documents below to understand Docker concepts and write a Dockerfile."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • [Official documentation for creating a Dockerfile](https://docs.docker.com/engine/reference/builder/)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • [How to use Docker for beginners](https://mysetting.io/slides/xxj85vnvey) (Content related to Docker Toolbox has been deprecated)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"•To raise PR and merge, please refer to the points below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Since you do not have permission to create or push branches in the repo, you must fork and then work on it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Please refer to [PR's naming convention](https://flank.github.io/flank/pr_titles/)."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • [DCO](https://github.com/apps/dco) Please commit while referring to the conditions for passing the bot's check."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)```"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})})]})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Having previous experience with the Python-based Django framework, I wrote a Docker file that creates a Django REST API."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["I sent out a PR, but was pointed out a ",(0,i.jsx)(n.strong,{children:"security issue"})," or an error in ",(0,i.jsx)(n.strong,{children:"unnecessary package import syntax"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"review1",placeholder:"blur",src:ew.Z}),"\n",(0,i.jsx)(c(),{alt:"review1",placeholder:"blur",src:ef.Z})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["This is the first time I learned that ",(0,i.jsx)(n.strong,{children:"SECRET_KEY"})," is exposed in the settings.py code of the Django project, and I will take the time to think about how to solve this security issue."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We created a .json file containing the secret key and proceeded to refer to the json file in settings.py."}),"\n",(0,i.jsxs)(n.li,{children:["Since the secret.json file cannot be uploaded to Commit, I learned how to ignore the json file through ",(0,i.jsx)(n.strong,{children:".gitignore"}),", and was able to ignore unnecessary files created after executing certain commands such as dbsqlite3."]}),"\n",(0,i.jsx)(n.li,{children:"It was an experience that made me realize that several considerations are needed to upload locally developed results to a Git project."}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. Argo Workflow Contributor"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["While looking into Argo Workflow, I came across the Argo Workflow Slack channel marked ",(0,i.jsx)(n.strong,{children:"Deprecated"})," in the ",(0,i.jsx)(n.strong,{children:"Argo Workflow - Contact - Help"})," field."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["I thought it was a minor ",(0,i.jsx)(n.strong,{children:"UI Issue"}),", but I thought it was an opportunity to check what language the UI is displayed in and how it was developed, so I raised an issue and submitted a PR."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:ek.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Created ",(0,i.jsx)(n.strong,{children:"Issue"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11615",children:"UI: non-existent Slack Workspace link on help page Issue"})})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue1",placeholder:"blur",src:ey.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"When I created an issue, the Maintainer of the Argo project quickly left a comment."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"I randomly tried to fix it with the CNCF Argo Channel link, but I received a comment from the maintainer asking me to update it with a different link."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Created ",(0,i.jsx)(n.strong,{children:"PR"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11627",children:"fix: deprecated Link(Help-Contact) Issue"})})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue2",placeholder:"blur",src:eb.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Argo Workflow had a UI based on React, and the directories were arranged by component, making it easy to analyze the code."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"I didn't pass the DCO bot test because I accidentally omitted the Signed-off option during Commit"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["but I learned about the ability to revert previous commits (",(0,i.jsx)(n.strong,{children:"Rebase"}),") or merge multiple unnecessary commits into one (",(0,i.jsx)(n.strong,{children:"Squash"}),") in GIt. And I returned the previous commit and committed it with ",(0,i.jsx)(n.code,{children:'git commit -S -s -m "Commit Message"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"I looked up what the comment ‘LGTM’ meant, and on Google, I used the tag LGTM to express my opinion. 'Looks Good To Me'. In other words, it was a rewarding experience because it meant it looked good."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"The process of finding bugs or modifying the UI is important, but I think the most important thing is the process of performing contributions according to the rules set by the Argo Workflow ecosystem."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Participating in Argo Workflow Hackerton (Argo workflow - Hackathon held within the OSSCA team)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Pull Request(Merged) :"})," ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"feat: Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Issue :"})," ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Hackathon activity period"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"1st Hackathon (Hackathon Group C) : 23.08.16 - 23.08.20"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"2st Hackathon (Hackathon Group C) : 23.08.20 - 23.08.27"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"hack1",placeholder:"blur",src:ev.Z}),"\n",(0,i.jsx)(c(),{alt:"hack2",placeholder:"blur",src:eI.Z})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Issue content"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"When there are a large number of templates in a cluster, it is good to search by name, but scrolling through all the templates is always inconvenient due to the lack of a search function."}),"\n",(0,i.jsx)(n.li,{children:"It was thought that the Argo Workflow UI needed a function to filter the results of workflow templates by name, so the issue was adopted as a result of a group meeting."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Role"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Front-End","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Creating a search field (Bar) in Argo workflow Template UI"}),"\n",(0,i.jsx)(n.li,{children:"Analyze .get logic to analyze where the Name Pattern (Like search) is sent"}),"\n",(0,i.jsx)(n.li,{children:"Modify workflow-template-filter.tsx and workflow-template-list.tsx in the workflow-template component directory."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Meeting details"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The meeting is held through the Slack hackathon channel, where opinions and information are shared every day."}),"\n",(0,i.jsx)(n.li,{children:"1st Meeting details"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"1. name search function (backend)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"2. name search function (frontend)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search ui"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add search sidebar (name, label)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search ui"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"3. pagenation (frontend)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • pagination based on name"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add pagination"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add pagination"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"4. Write test code"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Need more analysis on what test code should be written"})})]})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"2nd discussion content"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"1st offline meeting"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"hack3",placeholder:"blur",src:eA.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"1. Co-commit method"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Clone the repository https://github.com/ArgoWorkflows-OSS/argo-workflows locally."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • We create a branch in the repository for our team to work on. (`master` vs `release-3.4.10`)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Work on the functions you are responsible for in the corresponding branch of the repository. (Commit by carefully following the commit rules for raising PR.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • When everyone's work is completed, 1 out of 3 people will send out a PR according to the PR template."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • All 3 people can be contributors"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"2. Since it is a hackathon and there is a set period, we decided to first implement the workflow-template name filter, which we think is the main one among workflow-template, cluster-workflow, and cron-workflow, send a PR, and move on once the maintainer merges it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Roles for each part"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Back-End"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server.go"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Name filtering and pagination recalculation"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Front-End :"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workfflow-template-filter.tsx"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add Name search UI"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Receiving and filtering the Name argument"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template-list.tsx"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add Name state"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Pass name to userEffect list"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template.tsx, Utils.tsx"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Passing the Name argument"})})]})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"3rd discussion details"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"2nd offline meeting"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"hack4",placeholder:"blur",src:eC.Z})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 1. Offline Meeting Meeting Contents"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • An opinion that even cases where there is no namespace should be included in the filter. (Insufficient grounds to say to eliminate namespace - Other sites (Kubernetes Dashboard, OpenShift, Argo CD, etc.) also provide namespace without namespace)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Thoughts on whether it is possible to import and apply the logic used in continue and whether continue can be maintained as is even with custom results."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • After analyzing the continue logic until Wednesday night, if it is concluded that pagination using continue is not possible, upload a question in the issue comment."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Front-end pagination (data is not reloaded, the method used in argocd) vs. server-side pagination (pagination after checking the entire list each time, will the load be okay?)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • If server-side caching is implemented, is there a place to store it?"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 2. I decided to do a full K8s search by applying only the namespace and label every time I turned the page."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 3. Additional logic implemented in offset-based pagination method"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • The part that didn't work"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • If you perform a filtered search after clicking the next page button, no data appears even if there are search results."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • If you increase the number of pagination after clicking the next page button, the search results do not display properly."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • What changed"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • As the continue value is updated on the server, when increasing the number of pages or applying filtering, there is a problem with pagination based on the continue value already set on the server."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • A method of changing the continue value to be passed from the front was adopted ( When increasing the number of pages or applying filtering, set continue back to 0)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 4. Pagination Test"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server_test.go passed"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • (14 workflow templates registered)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Normal : UI workflow template first page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Normal : when workflow template page limit is 5, 10, 50"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Workflow template page Add workflow template on page 1 and move to page 2"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Workflow template page Delete the workflow template from page 1 and move to page 2"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Test the above with `name pattern` filtering search"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Search without name pattern and then re-search by adding name pattern"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • After searching including the name pattern, deleting the name pattern and searching again"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 5. Create PR"})})]})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Like filter (Name Pattern) implementation"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"ex) Workflow-template starting with sp can be searched"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"filter1",placeholder:"blur",src:eS.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Result"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"filter2",placeholder:"blur",src:eP.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The implementation was a success, and we plan to modify the previously discussed cluster-template and cron-template components."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"5. Learning outside of contribution activities"})," - Completion of Google Kubernetes Study Jam training - ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://www.cloudskillsboost.google/public_profiles/7f855d64-3f2e-432a-9763-fde644b6af4b",children:"Badge"})})," - Architecting with Google Kubernetes Engine: Foundations\nEarned 7월 18, 2023 EDT - Architecting with Google Kubernetes Engine: Workloads\nEarned 7월 26, 2023 EDT - Architecting with Google Kubernetes Engine: Production\nEarned 8월 4, 2023 EDT"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["The organized contents are recorded on a personal blog (velog)\n",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@euijoo3233/series/GCP",children:"euijoo's Velog GCP Series"})})]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-13",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Post-Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Before the Academy, I only had knowledge of Argo CD, but afterward, I was able to research and analyze Argo Workflow projects and reach a level where I could think about how to utilize its powerful functions."}),"\n",(0,i.jsx)(n.li,{children:"When making my first contribution, I created an issue, communicated with the maintainers, modified the requested items, and created a PR, so I quickly received comments and achieved the result of merging."}),"\n",(0,i.jsx)(n.li,{children:"It may be a minor issue, but it was an experience that made me feel that a holistic analysis of the part I wanted to contribute was necessary."}),"\n",(0,i.jsx)(n.li,{children:"Not only this, it was an opportunity to analyze how the Argo workflow interacts internally by conducting an issue hackathon within the team, analyzing not only the UI, i.e. the front part, but also the logic of the back end part."}),"\n",(0,i.jsx)(n.li,{children:"Our group's body was a big issue, so we were able to reach our goal by holding online as well as offline meetings accordingly, and since the two members were working in the field, they kindly explained difficult parts, so it was a useful experience."}),"\n",(0,i.jsx)(n.li,{children:"I have a desire to continue communicating with the hackathon team members or the entire team."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Future plans"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Since the OSSCA period has not yet ended, we plan to continue exploring issues (Cluster-workflow-template, Cron-workflow, etc.), discover typos or translation errors in the Argo Workflow document, and continue to submit PRs."}),"\n",(0,i.jsx)(n.li,{children:"In addition, after the OSSCA period ends, we plan to portfolioize the contents that have been organized so far."}),"\n",(0,i.jsx)(n.li,{children:"As a toy project, we plan to complete data ETL work using Argo Workflow, which is currently in progress."}),"\n",(0,i.jsx)(n.li,{children:"If I get a job, I hope to create many insights by introducing many of Argo Workflow's functions into my field."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-12",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["Leeeuijooo"]}),"\n",(0,i.jsxs)(n.h3,{id:"14-euijung-geon",children:["14. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/jeon01/",children:"EuiJung Geon"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-13",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Records about Contribution"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/series/2023-OSSCA",children:"Series | 2023 OSSCA - ddubi.log"})}),(0,i.jsx)(n.p,{children:"-> Unfortunately It is not translated.."}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Various tasks"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"The task regarding issue/commit/PR in Github"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"mission1",placeholder:"blur",src:eD.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Select ",(0,i.jsx)(n.code,{children:"the profile update"})," issue, fork ArgoWorkflows-OSS repository, and commit it by adding ",(0,i.jsx)(n.code,{children:"users.md"})," and ",(0,i.jsx)(n.code,{children:"[name].md"})," under ",(0,i.jsx)(n.code,{children:"docs/user"})," in the repository. After that, link the issue and submit a PR."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/19",children:"docs : update UiJeong Profile by juijeong8324 \xb7 Pull Request #19 \xb7 ArgoWorkflows-OSS/ArgoWorkflows-OSS"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-2",children:"records: Github에서 issue/commit/PR"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Running Locally"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Running Argo workflows locally"}),"\n",(0,i.jsxs)(n.li,{children:["Install ",(0,i.jsx)(n.code,{children:"Linux"})," on ",(0,i.jsx)(n.code,{children:"Windows"})," with wsl2 and run argo workflows using devcontainer cli."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-3",children:"records: Argo Workflows running locally"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-4",children:"records: Argo Workflows running locally - retry"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-5",children:"records: Argo Workflows running locally - final"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-6",children:"records: Argo Workflows running locally - real final"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Special class for Beginners - Create my own service container image"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"mission2",placeholder:"blur",src:eW.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Special class for Beginners"})," is a class for beginners(It's me) who don't know much about Container, kubernetes, argo from Argo-workflows oss team."]}),"\n",(0,i.jsx)(n.li,{children:"The task is creating my own web service, writing dockerfile for containerize the application."}),"\n",(0,i.jsx)(n.li,{children:"You need to understand Dockerfile, docker, images, and containers."}),"\n",(0,i.jsx)(n.li,{children:"In my case, build web server with express and write dockerfile."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/tree/main/juijeong8324",children:"code: About task"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-7",children:"records: 왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/Docker-dockerfile",children:"records: [Docker] Dockerfile 기본 명령어에 대해 알아보자"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Offline meeting"})}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{align:"left",children:"Date"}),(0,i.jsx)(n.th,{align:"left",children:"Activity"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.07.15"}),(0,i.jsxs)(n.td,{align:"left",children:["- Introduction team ",(0,i.jsx)("br",{})," - (Seminar) Introduction to Argo workflows and mentor’s application examples"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.07.30"}),(0,i.jsxs)(n.td,{align:"left",children:["- Searching and sharing issues of the week ",(0,i.jsx)("br",{})," - I was solving a local running problem. ",(0,i.jsx)("br",{})," - (Seminar) HaeMin's WebRtc, Sunyeong's keyclock and argo worfklows"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.08.13"}),(0,i.jsxs)(n.td,{align:"left",children:["- Receive feedback on Special class of beginners assignment ",(0,i.jsx)("br",{})," - Searching and sharing issues of the week ",(0,i.jsx)("br",{})," - (Seminar) Mentor’s special lecture on history and principles"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.08.20"}),(0,i.jsxs)(n.td,{align:"left",children:["- Searching and sharing issues of the week ",(0,i.jsx)("br",{})," - I share `Issue #11131`` ",(0,i.jsx)("br",{})," - (Seminar) DaHae's ‘Platform builder & K6 execution test PoC that allows developers to perform execution tests on their own’"]})]})]})]}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Searching Issue & Creating Issue"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11131",children:(0,i.jsx)(n.strong,{children:"Issue #11131"})})," ",(0,i.jsx)(n.code,{children:"Fix Bug"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:["Error occurs when ",(0,i.jsx)(n.code,{children:'"'})," in a workflow input parameter fails to escape and is referenced as ",(0,i.jsx)(n.code,{children:"workflow.parameter.json"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:"I dissmiss this issue because of the eeror occured from python environment not argo workflows."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/Argo-Issue11131",children:"records: Argo Workflows - Issue #11131"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:(0,i.jsx)(n.strong,{children:"Issue #11706"})})," ",(0,i.jsx)(n.code,{children:"Improve UI"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"issue 11706",placeholder:"blur",src:eN.Z}),"\nAn issue that would like to add a UI that can check the history of each workflow in the cron workflow tab."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-11",children:"records: Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"PR #11811"})," Closes"]}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ PR open & merge"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11732",children:(0,i.jsx)(n.strong,{children:"PR #11732"})})," ",(0,i.jsx)(n.code,{children:"docs"})," ",(0,i.jsx)(n.code,{children:"PR Merge"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[PR Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:["PR that modifies the image in the Argo Workflows official document to clearly show that the image in ",(0,i.jsx)(n.strong,{children:"Artifact Visualization"})," is a YouTube video link."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"pr1",placeholder:"blur",src:eR.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-13",children:"records: Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"result1_1",placeholder:"blur",src:eF.Z}),"\nImage replacement to add a play button to the center of the image"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"result1-2",placeholder:"blur",src:eM.Z}),"\nmerge complete"]}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:(0,i.jsx)(n.strong,{children:"PR #11811"})})," ",(0,i.jsx)(n.code,{children:"Improve UI"})," ",(0,i.jsx)(n.code,{children:"PR Merge"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[PR Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:["The PR tries to solve ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"Issue #11706"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"pr2",placeholder:"blur",src:eT.Z}),"\nModify to check completed cron-workflow when you click specific cron-workflow at cron workflow page"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"pr2_1",placeholder:"blur",src:eO.Z}),"\nIf it cannot find a completed cron-workflow, it will be display like above"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:"Merge Complete"}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-14",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Actually DevOps, Infra were unfamiliar fields to me, but through the Argo workflows project, I feel more familiar with the field than before.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I have only been learned to concepts such as Docker, Container, etc. theoretically, but I learned those concepts more easily through hands-on practice, and in addition new things (the existence of wsl...!)."}),"\n",(0,i.jsx)(n.li,{children:"It gave me an opportunity to look back on concepts that I miss (e.g Linux authority and network.)"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Also I had a vague fear of writing an issue, but I was able to overcome that fear by writing it myself."}),"\n",(0,i.jsxs)(n.li,{children:["At last, There are many ways to contribute and I realize it was important to try to contribute step by step.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The first time I focused on issues that I did not sympathize with, due to my personal greed and the idea of learning while solving problems."}),"\n",(0,i.jsx)(n.li,{children:"However I realized regardless of the difficulty of the issue, I needed to understand the repo while solving an issue that I personally sympathized with."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"I look forward to continuing to enjoy contributing to open source!"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Forward Plan"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Step 1"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Time to adapt and learn about Argo Workflows / Simple contribution"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Contribute articles via Repo's TODO"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Focuse on UI improvements"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Step 2"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Focus on template,backend contribution"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Step 3"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Write an issue that would be good to solve and then contribute"})})]})}),"\n",(0,i.jsx)(n.p,{children:"Even after the open source contribution ends, the mentor plans to continue meeting regularly, and I have a goal of contributing at least one issue per month to the Argo Workflows repo this semester."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-13",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["juijeong8324"]}),"\n",(0,i.jsx)(n.h3,{id:"15-sungrock-jung",children:"15. SungRock Jung"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-14",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"git/github Getting Started"}),"\n",(0,i.jsx)(n.strong,{children:"issue"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"pr"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"summary"}),": Familiarize yourself with git/github, the core of code shape management in the open source ecosystem.",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail"}),":",(0,i.jsx)(n.br,{}),"\n","Much of the open source world relies on git and github for collaboration.",(0,i.jsx)(n.br,{}),"\n","Therefore, in order to contribute to open source, it is necessary to familiarize yourself with git/github.",(0,i.jsx)(n.br,{}),"\n","Using git/github, it was a hands-on activity to issue issues, follow commit rules, and create PRs."]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"feat: logging for client-side throttling"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"issue"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11387",children:"#11387"}),", ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11402",children:"#11402"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"pr"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11437",children:"#11437"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"summary"}),": fix to figure out faster if user set certain options incorrectly ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail:"})," ",(0,i.jsx)(n.br,{}),"\n","It uses a library called ",(0,i.jsx)(n.code,{children:"client-go"})," to communicate with ",(0,i.jsx)(n.code,{children:"kubernetes"}),".",(0,i.jsx)(n.br,{}),"\n","This library provides options ",(0,i.jsx)(n.code,{children:"--qps"}),", ",(0,i.jsx)(n.code,{children:"-burst"})," for ",(0,i.jsx)(n.code,{children:"request limit"}),".",(0,i.jsx)(n.br,{}),"\n","If this option is set very low, it will cause ",(0,i.jsx)(n.code,{children:"throttling"}),". That's why we have a separate ",(0,i.jsx)(n.code,{children:"log level"})," to inform the user more quickly.",(0,i.jsx)(n.br,{}),"\n","While working on this issue, I learned a lot about ",(0,i.jsx)(n.code,{children:"client-go"}),", especially about ",(0,i.jsx)(n.code,{children:"RoundTrip"}),".",(0,i.jsx)(n.br,{}),"\n","It was a shock when I realized that I could add middleware using ",(0,i.jsx)(n.code,{children:"RoundTrip"})," for any object that respects the ",(0,i.jsx)(n.code,{children:"http request interface"})," provided by golang."]}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"go 1.21 upgrade"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"issue"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11556",children:"#11566"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"pr"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"#11601"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"summary"}),": golang 1.21 ver release에 따른 version upgrade 진행 ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail:"}),"\nAs a lead mentee, I decided it would be better to have a teammate who hasn't contributed yet try to solve the issue rather than me."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue-report1",placeholder:"blur",src:eG.Z})}),"\n",(0,i.jsxs)(n.p,{children:["I shared the issue with my teammate, and I was able to support him in successfully resolving the issue.",(0,i.jsx)(n.br,{}),"\n","We shared our approach to the issue in our regular weekly meeting."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue-report2",placeholder:"blur",src:eZ.Z})}),"\n",(0,i.jsx)(n.p,{children:"On weekdays, we would take questions and answer them separately in a slack channel so that everyone on the team could get experience submitting PRs."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue-report3",placeholder:"blur",src:eE.Z})}),"\n",(0,i.jsx)(n.p,{children:"Team members also gained invaluable experience merging PRs."}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"4",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Debugging 설정"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"summary:"})," 팀원의 argo-workflow debugging setting ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail:"})," ",(0,i.jsx)(n.br,{}),"\n","For team members who are new to developing with golang, we had some difficulties setting up the debugging environment, and we worked together to solve it."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"debug-1",placeholder:"blur",src:eK.Z})}),"\n",(0,i.jsx)(n.p,{children:"During this process, I realized that I'm not very good at setting up debugging for apps that are closely related to kubernetes,\nand I realized that I needed to get some help with that."}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-15",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"After"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Participating in OSSA for 13 weeks was a great experience.\nAfter applying 3 times, I was so happy to be part of a project built with my favorite community, CNCF, and my favorite language, Golang."}),"\n",(0,i.jsx)(n.li,{children:"Participating in argo-workflow under the CNCF umbrella through OSSCA and being able to contribute to the ecosystem of CNCF, even in a small way, was a very happy time for me.\nIn particular, I thought it was a good experience for beginners to be able to quickly communicate with maintainers through mentoring, a system operated by argo-workflow."}),"\n",(0,i.jsx)(n.li,{children:"With feedback through argo-workflow's mentoring system, I quickly gained confidence and good experience through PR submission and merge, which I wanted to share with all team members as a lead mentee.\nHelping a team member who was new to open source contributing made me realize how much of a barrier to entry it is for people who are new to it, and it made me think about how to bring beginners into the ecosystem more reliably."}),"\n",(0,i.jsx)(n.li,{children:"In addition to the open source contribution activities, the team members from Developer, DevOps, and SRE roles, the different skills they use in their respective roles, and the sharing of experiences broadened my horizons."}),"\n",(0,i.jsx)(n.li,{children:"If I have the opportunity next year, I would definitely participate in OSSCA and continue my open source contribution activities with various people."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Planning"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Working on this argo-workflows project has made me very interested in the projects in the argo camp.\nBy participating in the project, I was able to identify my shortcomings as a developer, and I plan to improve them.\nEven if ossca ends, I will continue to contribute to open source under the CNCF umbrella.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"argo-workflow"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"shortfalls"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Lack of understanding of kubernetes operators"}),"\n",(0,i.jsx)(n.li,{children:"Lack of frontend knowledge"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future plans"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The UI of argo-workflow is a bit lacking compared to other argo projects, and I'm going to try to improve it based on user feedback."}),"\n",(0,i.jsx)(n.li,{children:"Regarding area/artifact, I would like to extend it to use more storage."}),"\n",(0,i.jsx)(n.li,{children:"Regarding area/plugin, it currently only supports sidecar, but I'd like to make it easier to extend externally implemented plugins with code."}),"\n",(0,i.jsx)(n.li,{children:"Regarding the documentation, I'd like to think about the parts that are difficult for beginners and improve them."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Personal growth"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"shortfalls"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Talking to members from different companies and lacking their own perspective on developing and keeping the service stable."}),"\n",(0,i.jsx)(n.li,{children:"Difficulty communicating to transfer knowledge."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future plans"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I'm going to study how to organize and speak about the knowledge I want to convey."}),"\n",(0,i.jsx)(n.li,{children:"I'm going to talk to a lot of people, share my thoughts, and try not to get caught up in otherness."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-14",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["Jack-R-lantern"]}),"\n",(0,i.jsx)(n.h3,{id:"16-moonyoung-chae",children:"16. MoonYoung Chae"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-15",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Multiple Tasks"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Github Issue/Commit/PR Mission","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Learned how to use Github to contribute the ArgoWorkflow which is a large scale of open source community."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["ArgoWorkflow Running Locally","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Run ArgoWorkflow in local environment"}),"\n",(0,i.jsx)(n.li,{children:"Understanding Argo Workflow Structure, DevContainer, Container-Based Applications, and Makefile Structure"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Make a container image","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Learned Docker File Command, Docker layer structure, optimization and caching"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23"})}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Issue analysis"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Metric issue analysis","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Analysis of issues that require improvement by many users due to issues with many Github Reactions","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Increased monitoring convenience by adding metric labels"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["As a result of issue analysis, it was discovered that developing the content could cause another problem.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"When adding a metric label, a large amount of metrics are collected, which may cause performance problems due to a large amount of metric traffic flowing to existing users."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Suggest and communicate ways to solve problems by detouring","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Confirm that the monitoring requested by the issue is possible when using a custom metric, and suggest a way to resolve it by bypassing it."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337",children:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Inquire some ambiguous part in the comment in code for future improvement.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745",children:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Issue analysis through issue hackathon"}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Contribute"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Fixed a type of function name and vaiable name","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fixed parts that could cause confusion to other developers"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11604",children:"https://github.com/argoproj/argo-workflows/pull/11604"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11633",children:"https://github.com/argoproj/argo-workflows/pull/11633"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11687",children:"https://github.com/argoproj/argo-workflows/pull/11687"})}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-16",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"I wanted to contribute to a large open source community, but I felt at a loss. It was great to be able to contribute directly through this academy.\nThis was possible because a mentee with a lot of experience in contributing guided me step-by-step to contribute and encouraged me to take on the challenge.\nThrough technical seminars and technical exchanges with other developers, we were able to grow together.\nBecause ArgoWorkflow is a large-scale project, there are many difficult parts to analyze alone, but by sharing opinions with other developers, I was able to solve the problem more quickly.\nSince I have gained some understanding of the ArgoWorkflow project and have gained confidence through my small contribution experience,\nI expect that my next contribution will be easier. Even after this program ends, we plan to contribute on a larger scale by collaborating\nwith other mentees who are interested in ArgoWorkflow."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-15",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["moonyoungCHAE"]}),"\n",(0,i.jsxs)(n.h3,{id:"17-soonyeong-choi",children:["17. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/sunyeongchoi/",children:"SooNyeong Choi"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-16",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11344",children:"Issue #11344"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11662",children:"PR #11662"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsxs)(n.p,{children:["To understand this issue, I first needed to grasp what ",(0,i.jsx)(n.a,{href:"https://argoproj.github.io/argo-workflows/default-workflow-specs",children:"Default Workflows"})," are."]}),(0,i.jsxs)(n.p,{children:["I learned that the ",(0,i.jsx)(n.code,{children:"workflowDefaults"})," field in the ",(0,i.jsx)(n.code,{children:"argo workflows controller configmap"})," allows you to set default values for workflows. Additionally, I discovered that if a workflow already has values for this field, those values take precedence."]}),(0,i.jsxs)(n.p,{children:["For example, after configuring the ",(0,i.jsx)(n.code,{children:"configmap"})," as follows, when you create a Workflow,"]}),(0,i.jsx)(n.pre,{"data-language":"yaml","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"yaml","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"# This file describes the config settings available in the workflow controller configmap"})}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"v1"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"ConfigMap"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"name"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflow-controller-configmap"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"data"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"workflowDefaults"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" metadata:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" annotations:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" argo: workflows"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" labels:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" foo: bar"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" spec:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" ttlStrategy:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" secondsAfterSuccess: 5"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" parallelism: 3"})})]})}),(0,i.jsxs)(n.p,{children:["it will be automatically created with the values set in the ",(0,i.jsx)(n.code,{children:"workflowDefaults"})," field, like this:"]}),(0,i.jsx)(n.pre,{"data-language":"yaml","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"yaml","data-theme":"default",children:[(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"argoproj.io/v1alpha1"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Workflow"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"generateName"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"gc-ttl-"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"annotations"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"argo"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflows"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"labels"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"foo"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"bar"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"spec"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"ttlStrategy"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"secondsAfterSuccess"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"# Time to live after workflow is successful"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"parallelism"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"3"})]})]})}),(0,i.jsxs)(n.p,{children:["The issue was related to an error occurring when adding the ",(0,i.jsx)(n.code,{children:"volumeClaimTemplates"})," value to ",(0,i.jsx)(n.code,{children:"workflowDefaults"}),", causing errors when creating ",(0,i.jsx)(n.code,{children:"CronWorkflows"})," or ",(0,i.jsx)(n.code,{children:"Workflows"}),"."]}),(0,i.jsxs)(n.p,{children:["The error message indicated, ",(0,i.jsx)(n.code,{children:"does not contain declared merge key: name."})]}),(0,i.jsxs)(n.p,{children:["Upon checking the code, it was found that the error occurred in the ",(0,i.jsx)(n.code,{children:"StrategicMergePatch"})," function, which is related to Kubernetes' ",(0,i.jsx)(n.code,{children:"patch"})," strategy."]}),(0,i.jsx)(n.pre,{"data-language":"go","data-theme":"default",children:(0,i.jsx)(n.code,{"data-language":"go","data-theme":"default",children:(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"VolumeClaimTemplates []apiv1.PersistentVolumeClaim "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"volumeClaimTemplates,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,opt,name=volumeClaimTemplates"`'})]})})}),(0,i.jsxs)(n.p,{children:["The issue arose from the fact that the ",(0,i.jsx)(n.code,{children:"VolumeClaimTemplates"})," type defined in ",(0,i.jsx)(n.code,{children:"Workflows"})," used name as the ",(0,i.jsx)(n.code,{children:"patchMergeKey"}),"."]}),(0,i.jsxs)(n.p,{children:["However, upon inspecting the ",(0,i.jsx)(n.code,{children:"PersistentVolumeClaim"})," type below, it was found that ",(0,i.jsx)(n.code,{children:"name"})," was not present. In other words, the problem occurred because a value was defined as the ",(0,i.jsx)(n.code,{children:"patchMergeKey"})," that was not part of the structure."]}),(0,i.jsx)(n.pre,{"data-language":"go","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"go","data-theme":"default",children:[(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"PersistentVolumeClaim"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"struct"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.TypeMeta "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:",inline"`'})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// Standard object's metadata."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.ObjectMeta "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`'})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// spec defines the desired characteristics of a volume requested by a pod author."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" Spec PersistentVolumeClaimSpec "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`'})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// status represents the current information/status of a persistent volume claim."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// Read-only."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" Status PersistentVolumeClaimStatus "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`'})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsxs)(n.p,{children:["I removed the ",(0,i.jsx)(n.code,{children:"patchMergeKey"})," from ",(0,i.jsx)(n.code,{children:"VolumeClaimTemplates"}),"."]}),(0,i.jsxs)(n.p,{children:["However, the reason ",(0,i.jsx)(n.code,{children:"patchMergeKey"})," was added to ",(0,i.jsx)(n.code,{children:"VolumeClaimTemplates"})," was to maintain consistency with conventions used for ",(0,i.jsx)(n.code,{children:"Volumes"}),"."]}),(0,i.jsx)(n.p,{children:"Since this issue is related to policies, it indeed requires further discussion."}),(0,i.jsx)(n.p,{children:"This was my first PR to the ArgoWorkflows project, and it's great that i was able to identify the cause of an issue that was causing inconvenience for many people."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. Search by name for WorkflowTemplates in UI"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsx)(n.p,{children:"This issue was worked on by a team of three people."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"HackertonC",placeholder:"blur",src:eq.Z})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"WorkflowTemplates"})," do not have a search function based on 'name', so to find a specific ",(0,i.jsx)(n.code,{children:"WorkflowTemplates"}),", you could only search based on ",(0,i.jsx)(n.code,{children:"label"}),"."]}),(0,i.jsx)(n.p,{children:"So, many users were feeling inconvenienced, and it was an issue related to 'feature improvement' that they would like to provide a function to search based on 'name'."}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"namePattern",placeholder:"blur",src:eH.Z})}),(0,i.jsx)(n.p,{children:"We added additional logic to filter the results of WorkflowTemplates retrieved through the Kubernetes API based on their 'name', successfully implementing this feature."}),(0,i.jsx)(n.p,{children:"However, there was one issue."}),(0,i.jsxs)(n.p,{children:["Existing pagination was implemented using Kubernetes' own ",(0,i.jsx)(n.code,{children:"continue"})," value, so if Kubernetes results were custom manipulated like this, Kubernetes pagination could not be used."]}),(0,i.jsxs)(n.p,{children:["We had a lot of concerns about how to solve this, but We solved the problem by applying logic to implement cursor pagination using Kubernetes' ",(0,i.jsx)(n.code,{children:"resourceVersion"}),"."]}),(0,i.jsx)(n.p,{children:"It was so fun to be able to discuss it with others instead of alone."}),(0,i.jsx)(n.p,{children:"I also felt good about providing some really needed functionality to the ArgoWorkflows project."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. A problem that is not initialized when changing the number of page limits"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11702",children:"Issue #11702"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11703",children:"PR #11703"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsxs)(n.p,{children:["While resolving the ",(0,i.jsx)(n.code,{children:"Search by name for WorkflowTemplates in UI"})," issue, i discovered a new pagination bug."]}),(0,i.jsxs)(n.p,{children:["When changing the number of pages, the ",(0,i.jsx)(n.code,{children:"continue"})," value used for pagination was not initialized in the UI, so the data was not displayed properly."]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsxs)(n.p,{children:["I was able to solve the problem by simply modifying the logic to initialize ",(0,i.jsx)(n.code,{children:"offset"})," when a change in page number is detected in the UI code."]}),(0,i.jsx)(n.p,{children:"It was only a one-line code change, but this one line solved a problem that was quite inconvenient."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Pagination may not work correctly for archived workflows"})}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11715",children:"Issue #11715"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11761",children:"PR #11761"})]}),(0,i.jsx)(n.p,{children:"This issue was directly communicated to us by Maintainer @terrytangyuan through Slack."}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"Slack",placeholder:"blur",src:ez.Z}),"\n",(0,i.jsx)(c(),{alt:"Github",placeholder:"blur",src:eL.Z})]}),(0,i.jsx)(n.p,{children:"It felt like I was contacted by my favorite celebrity and I was so happy that I almost flew away. I suppressed my happy and excited heart and analyzed the issue."}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Workflows"})," and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," were previously separated into different pages, but starting from the ",(0,i.jsx)(n.code,{children:"master"})," version, ",(0,i.jsx)(n.code,{children:"Workflows"})," and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," are combined into one page, and the logic has been modified to show ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," together if they exist."]}),(0,i.jsxs)(n.p,{children:["However, when ",(0,i.jsx)(n.code,{children:"Workflows"})," and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," were merged into one, a problem occurred with pagination."]}),(0,i.jsxs)(n.p,{children:["The two resources also used completely different pagination. ",(0,i.jsx)(n.code,{children:"Workflows"})," was using the ",(0,i.jsx)(n.code,{children:"continue"})," value, which is Kubernetes' own pagination, and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," used its own database, so it was using the database to perform pagination using the ",(0,i.jsx)(n.code,{children:"offset"})," method."]}),(0,i.jsxs)(n.p,{children:["However, while passing the ",(0,i.jsx)(n.code,{children:"continue"})," value used in ",(0,i.jsx)(n.code,{children:"Workflows"})," to ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," as is, a problem occurred where ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," was not searched at all."]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsxs)(n.p,{children:["I was able to resolve the issue by referring to the pagination logic that was implemented while resolving the ",(0,i.jsx)(n.code,{children:"Search by name for WorkflowTemplates in UI"})," issue."]}),(0,i.jsx)(n.p,{children:"Since the two resources have no choice but to use different methods of pagination, rather than using pagination before merging the two resources, use a method of first searching the entire resource and merging the two resources and finally applying the pagination logic. I did it."}),(0,i.jsxs)(n.p,{children:["I was able to solve the problem of ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," not being searched, but fetching and merging the entire list every time the page is changed is a performance concern, so i'm thinking about a way to test performance."]}),(0,i.jsx)(n.p,{children:"I plan to switch to front-end pagination if performance testing indicates that it's not working well."}),(0,i.jsx)(n.p,{children:"It was great to be able to solve a critical issue, and I felt proud and fun because I felt like I was contributing properly to the ArgoWorkflows project as a contributor."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"5. Relocation of Commit Guidelines Information in the Documentation"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11700",children:"Issue #11700"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11701",children:"PR #11701"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsx)(n.p,{children:"The ArgoWorkflows project has a README document for developers attempting to contribute."}),(0,i.jsx)(n.p,{children:"However, it does not mention specific guidelines for commits."}),(0,i.jsx)(n.p,{children:"@GeunSam2 mentor mentioned that it was inconvenient when initially attempted to contribute and had difficulty finding commit guidelines."}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"ContributingDocs",placeholder:"blur",src:eU.Z})}),(0,i.jsx)(n.p,{children:"Upon hearing this feedback, I made a modification to the contribution README by adding a link to commit guidelines."}),(0,i.jsx)(n.p,{children:"This change aims to make it easier for developers who want to contribute to ArgoWorkflows."}),(0,i.jsx)(n.p,{children:"In this PR, a maintainer provided a code suggestion, which was intriguing and enjoyable for me as I was encountering the code suggestion feature for the first time."})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-17",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"If someone were to ask me what I did best this year, I would confidently say that it was my participation in the ArgoWorkflows project contribution activities."}),"\n",(0,i.jsx)(n.p,{children:"Meeting various developers in the same field, forming a sense of empathy, and engaging in discussions with them was truly enjoyable. Hearing stories about different companies was also quite interesting."}),"\n",(0,i.jsx)(n.p,{children:"During our weekly meetings, it wasn't just about working together; our mentors always conducted insightful seminars. Sundays became genuinely enjoyable, and time flew by."}),"\n",(0,i.jsx)(n.p,{children:"Meeting such capable mentors was a delight. I received advice on the concerns I had as a junior developer, my future direction, and how to study effectively as a developer, which made me happy."}),"\n",(0,i.jsx)(n.p,{children:"I always wanted to try contributing, but I was afraid to tackle such a big project. However, facing these challenges with such great mentees and mentors made my fears disappear."}),"\n",(0,i.jsx)(n.p,{children:"Submitting numerous PRs and communicating with maintainers was also a lot of fun, and it was really satisfying to see my code being incorporated."}),"\n",(0,i.jsx)(n.p,{children:"Thanks to this experience, I gained the confidence to contribute not only to ArgoWorkflows but also to other projects."}),"\n",(0,i.jsx)(n.p,{children:"I have no intention of stopping my contributions after this period ends. I plan to continue contributing to ArgoWorkflows while looking for opportunities to contribute to Kubernetes and Argo CD projects used by my company."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-16",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["sunyeongchoi"]})]})}n.default=(0,r.j)(eY)}},function(e){e.O(0,[376,762,674,774,888,179],function(){return e(e.s=9757)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/reports/finalReportEn-9f34c6aa54de741a.js b/_next/static/chunks/pages/2023/activites/reports/finalReportEn-9f34c6aa54de741a.js deleted file mode 100644 index 3cac74c2..00000000 --- a/_next/static/chunks/pages/2023/activites/reports/finalReportEn-9f34c6aa54de741a.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[710],{9757:function(e,n,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/reports/finalReportEn",function(){return s(5536)}])},5536:function(e,n,s){"use strict";s.r(n);var i=s(5893),r=s(2673),o=s(4984),t=s(979);s(9966);var l=s(1151),a=s(5675),c=s.n(a),h=s(4987),d=s(8008),u=s(3917),p=s(2154),x=s(94),j=s(480),g=s(5514),m=s(4381),w=s(8904),f=s(7727),k=s(525),y=s(8189),b=s(3434),v=s(1916),I=s(5245),A=s(4877),C=s(2583),P=s(3441),S=s(7367),D=s(6428),W=s(2107),N=s(4004),R=s(1022),F=s(7799),T=s(3880),M=s(2942),O=s(8010),G=s(9937),Z=s(9501),E=s(8050),K=s(2648),q=s(6213),H=s(513),z=s(8556),L=s(9772),U=s(7163),B=s(2562),Y=s(252),J=s(2359),_=s(628),V=s(9569),X=s(7430),Q=s(8801),$=s(1352),ee=s(2424),en=s(534),es=s(4788),ei=s(3523),er=s(8083),eo=s(178),et=s(6455),el=s(8240),ea=s(1057),ec=s(310),eh=s(6359),ed=s(9),eu=s(6838),ep=s(1802),ex=s(5739),ej=s(5531),eg=s(1931),em=s(6406),ew=s(9417),ef=s(9083),ek=s(301),ey=s(4817),eb=s(6288),ev=s(7574),eI=s(9376),eA=s(8578),eC=s(8973),eP=s(7132),eS=s(2431),eD=s(9797),eW=s(7682),eN=s(207),eR=s(5357),eF=s(4405),eT=s(5655),eM=s(4005),eO=s(7149),eG=s(7041),eZ=s(5309),eE=s(8456),eK=s(101),eq=s(7725),eH=s(1015),ez=s(4012),eL=s(2482),eU=s(3782),eB=s(555);let eY={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,l.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(eJ,{...e})}):eJ(e)},pageOpts:{filePath:"pages/2023/activites/reports/finalReportEn.mdx",route:"/2023/activites/reports/finalReportEn",headings:[{depth:2,value:"TL;TR",id:"tltr"},{depth:2,value:"☑️ Who We Are",id:"️-who-we-are"},{depth:2,value:"☑️ What is ArgoWorkflows",id:"️-what-is-argoworkflows"},{depth:2,value:"☑️ Key Accomplishments",id:"️-key-accomplishments"},{depth:3,value:"UI/UX improvements",id:"uiux-improvements"},{depth:3,value:"Improving core functionality",id:"improving-core-functionality"},{depth:3,value:"Close communication with the maintainer group",id:"close-communication-with-the-maintainer-group"},{depth:2,value:"☑️ Contribution Academy progress and activity details",id:"️-contribution-academy-progress-and-activity-details"},{depth:3,value:"From not knowing anything about Git to becoming an open source contributor",id:"from-not-knowing-anything-about-git-to-becoming-an-open-source-contributor"},{depth:3,value:"Repository creation and contribution activities to practice using Git",id:"repository-creation-and-contribution-activities-to-practice-using-git"},{depth:3,value:"Operation of a special class on container basics",id:"operation-of-a-special-class-on-container-basics"},{depth:3,value:"Opening and conducting an issue hackathon within the team",id:"opening-and-conducting-an-issue-hackathon-within-the-team"},{depth:3,value:"Join to Contributor / Community meetings",id:"join-to-contributor--community-meetings"},{depth:3,value:"Argo Workflows OSS team page creation and operation",id:"argo-workflows-oss-team-page-creation-and-operation"},{depth:3,value:"Conduct offline meeting activities at least once a week",id:"conduct-offline-meeting-activities-at-least-once-a-week"},{depth:2,value:"☑️ Participant contribution details",id:"️-participant-contribution-details"},{depth:3,value:"0. GeunCheol Yeom(Mentor)",id:"0-geuncheol-yeommentor"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review"},{depth:3,value:"1. ByeongSun Gang",id:"1-byeongsun-gang"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-1"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary"},{depth:3,value:"2. SiOn Kang",id:"2-sion-kang"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-1"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-2"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-1"},{depth:3,value:"3. YoungGil Kwon",id:"3-younggil-kwon"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-2"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-3"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-2"},{depth:3,value:"4. SuBin Kim",id:"4-subin-kim"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-3"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-4"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-3"},{depth:3,value:"5. HakJun Kim",id:"5-hakjun-kim"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-4"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-5"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-4"},{depth:3,value:"6. JinSu Park",id:"6-jinsu-park"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-5"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-6"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-5"},{depth:3,value:"7. ChungWun Seo",id:"7-chungwun-seo"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-6"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-7"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-6"},{depth:3,value:"8. HaeMin Song",id:"8-haemin-song"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-7"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-8"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-7"},{depth:3,value:"9. DaHae Ahn",id:"9-dahae-ahn"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-8"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-9"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-8"},{depth:3,value:"10. JiWan Ahn",id:"10-jiwan-ahn"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-9"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-10"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-9"},{depth:3,value:"11. YoonWoo You",id:"11-yoonwoo-you"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-10"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-11"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-10"},{depth:3,value:"12. ByeongGon Lee",id:"12-byeonggon-lee"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-11"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-12"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-11"},{depth:3,value:"13. EuiJu Lee",id:"13-euiju-lee"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-12"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-13"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-12"},{depth:3,value:"14. EuiJung Geon",id:"14-euijung-geon"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-13"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-14"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-13"},{depth:3,value:"15. SungRock Jung",id:"15-sungrock-jung"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-14"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-15"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-14"},{depth:3,value:"16. MoonYoung Chae",id:"16-moonyoung-chae"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-15"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-16"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-15"},{depth:3,value:"17. SooNyeong Choi",id:"17-soonyeong-choi"},{depth:4,value:"\uD83C\uDF3F Personal Activity Report",id:"-personal-activity-report-16"},{depth:4,value:"\uD83C\uDF35 Participation Review",id:"-participation-review-17"},{depth:4,value:"\uD83C\uDF35 Personal Summary",id:"-personal-summary-16"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Finalreporten"},pageNextRoute:"/2023/activites/reports/finalReportEn",nextraLayout:o.ZP,themeConfig:t.Z};function eJ(e){let n=Object.assign({h2:"h2",p:"p",a:"a",code:"code",strong:"strong",h3:"h3",blockquote:"blockquote",ul:"ul",li:"li",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",em:"em",pre:"pre",span:"span",hr:"hr",h4:"h4",details:"details",summary:"summary",ol:"ol",br:"br"},(0,l.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"tltr",children:"TL;TR"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"#contribute-info",children:"Go to see Contributions Summary"})}),"\n",(0,i.jsx)(n.h2,{id:"️-who-we-are",children:"☑️ Who We Are"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"ArgoWorkflows OSS 2023"}),"team have 18 member. (1 Mentor, 17 Mentees)"]}),"\n",(0,i.jsxs)(n.p,{children:["Our Team met for participant to ",(0,i.jsx)(n.a,{href:"https://www.contribution.ac/2023-ossca",children:"Open Source Contribution Academy"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["A ",(0,i.jsx)(n.strong,{children:"competition for junior developers"})," with the theme ",(0,i.jsx)(n.code,{children:"How can I contribute well to open source?"})]}),"\n",(0,i.jsxs)(n.p,{children:["This event is a competition where ",(0,i.jsx)(n.code,{children:"some mentors"})," and about ",(0,i.jsx)(n.code,{children:"20 mentees"})," are paired up and the goal is to contribute together and achieve results for four months."]}),"\n",(0,i.jsx)(n.p,{children:"We participated in this event on the open source topic of ArgoWorkflows."}),"\n",(0,i.jsx)(n.p,{children:"Most of us were afraid to even use git at first. but we made succeeded in making various contributions over the past three months."}),"\n",(0,i.jsx)(n.p,{children:"Let me introduce our achievements."}),"\n",(0,i.jsx)(n.h2,{id:"️-what-is-argoworkflows",children:"☑️ What is ArgoWorkflows"}),"\n",(0,i.jsxs)(n.p,{children:["Before the achievements introduction, Lets know about what is ",(0,i.jsx)(n.code,{children:"ArgoWorkflows"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"argoDag",placeholder:"blur",src:h.Z})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Argo Workflows"})," is a container-based workflow engine, an open source project that can run parallel jobs on Kubernetes.\nEach workflow step is defined as a container, and multi-step workflows can be modeled as a series of jobs, or dependencies between tasks can be executed using a Directed Acyclic Graph (DAG)."]}),"\n",(0,i.jsxs)(n.p,{children:["In other words, Argo Workflows makes it faster and easier to ",(0,i.jsx)(n.strong,{children:"simple workflows tasks, as well as complex tasks for machine learning or data processing, on Kubernetes"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"argo_0",placeholder:"blur",src:d.Z})}),"\n",(0,i.jsxs)(n.p,{children:["Argo Workflows is a graduated project of ",(0,i.jsx)(n.strong,{children:"the Cloud Native Computing Foundation (CNCF)."})]}),"\n",(0,i.jsxs)(n.p,{children:["To become a graduated project, it must pass all tests conducted by the CNCF to meet their rigorous standards.\nBeing recognized as a graduated project means that ",(0,i.jsx)(n.strong,{children:"Argo meets the highest standards"})," for clear governance and committer processes, healthy growth, and security and compliance adherence.\nSince the rigorous standards, ",(0,i.jsx)(n.strong,{children:"only about 13% of projects"})," registered with the CNCF succeed in graduating."]}),"\n",(0,i.jsxs)(n.p,{children:["In fact, it took about 5 years for the Argo project to be recognized as a graduated project, with ",(0,i.jsx)(n.strong,{children:"over 7,000 contributors, over 11,000 PRs, and over 370,000 contributions."})]}),"\n",(0,i.jsxs)(n.p,{children:["Moreover, the Argo project is ",(0,i.jsx)(n.strong,{children:"a very active and up-to-date open source"}),", with ",(0,i.jsx)(n.strong,{children:"over 2300 companies"})," contributing to the code and ",(0,i.jsx)(n.strong,{children:"over 8300 people"})," contributing to the code."]}),"\n",(0,i.jsxs)(n.p,{children:["Argo Workflows is recognized as ",(0,i.jsx)(n.strong,{children:"the most representative workflow engine"})," in the cloud native community."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Many companies around the world officially"})," have introduced and used Argo Workflows. This is means that Argo Workflows can solve issues with workload in big companies."]}),"\n",(0,i.jsx)(n.p,{children:"The following major companies are using Argo Workflows."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"companys",placeholder:"blur",src:u.Z})}),"\n",(0,i.jsx)(n.p,{children:"... and over 200 other global companies"}),"\n",(0,i.jsx)(n.p,{children:"Some alternative tools to Argo Workflows include Apache Airflow, Tekton, and Prefect."}),"\n",(0,i.jsx)(n.p,{children:"Argo Workflows is a Kubernetes-native engine that makes it easy to orchestrate container-based workflows and manage resources.\nApache Airflow, similiar but different to Argo Workflows, is a standalone application and does not inherently utilize the capabilities of Kubernetes.\nAs a result, Airflow can more difficult to resource management and scalability than Argo Workflows."}),"\n",(0,i.jsxs)(n.p,{children:["Also, Argo Workflows can perform a various of tasks such as CI/CD as well as data pipelines because it runs each workflow step as an independent container.\nThis is possible due to use the power of Container and Kubernetes, than it can run ",(0,i.jsx)(n.strong,{children:"anything without restrictions."})]}),"\n",(0,i.jsx)(n.h2,{id:"️-key-accomplishments",children:"☑️ Key Accomplishments"}),"\n",(0,i.jsx)(n.h3,{id:"uiux-improvements",children:"UI/UX improvements"}),"\n",(0,i.jsxs)(n.p,{children:["The Argo Workflows project is actively contributing to ",(0,i.jsx)(n.code,{children:"UI/UX improvement"})," as the main topic for contribution."]}),"\n",(0,i.jsx)(n.p,{children:"As proof of this, you can also check the dashboard for UI/UX improvement tracking."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"uiux_0.png",placeholder:"blur",src:p.Z})}),"\n",(0,i.jsx)(n.p,{children:"Our team has also made many UI improvements along these project goals."}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Key improvements for UI/UX"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"Search by name for WorkflowTemplates in UI"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"show history about completed runs in each cron workflow"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11480",children:"Improvements to DataPciker"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11444",children:"UI toolbar sticky"})}),"\n",(0,i.jsx)(n.li,{children:"... and Various other bug fixes"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"uiux_1.png",placeholder:"blur",src:x.Z})}),"\n",(0,i.jsx)(n.h3,{id:"improving-core-functionality",children:"Improving core functionality"}),"\n",(0,i.jsxs)(n.p,{children:["As contributions accumulate, our understanding of the project increased and we got more confidence.\nWe were increasingly able to contribute not only UI/UX improvements, but also ",(0,i.jsx)(n.strong,{children:"the core functionality of the workflow engine."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://blog.argoproj.io/whats-new-in-argo-workflows-v3-5-f260e8603ca6",children:"What’s new in Argo Workflows v3.5"})}),"\n",(0,i.jsxs)(n.p,{children:["The core logic of the workflow engine is ",(0,i.jsx)(n.strong,{children:"install as a CRD in Kubernetes and has a significant impact on the behavior and performance of a Kubernetes cluster."}),"\nSo, Contributing to workflow engine is ",(0,i.jsx)(n.strong,{children:"quite difficult"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["because it ",(0,i.jsx)(n.strong,{children:"requires a high level of implementation"})," and ",(0,i.jsx)(n.strong,{children:"active participation"})," in testing and policy discussions with maintainers."]}),"\n",(0,i.jsxs)(n.p,{children:["It was challenge for us, but our team was able to ",(0,i.jsx)(n.strong,{children:"make key contributions to the Argo Workflows 3.5 release"}),". Also We ",(0,i.jsx)(n.strong,{children:"were mentioned to the Argo official blog"})," by contributing very important features to ",(0,i.jsx)(n.code,{children:"Template Spec"}),", ",(0,i.jsx)(n.code,{children:"Authentication"}),", and ",(0,i.jsx)(n.code,{children:"Controller"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"core_0",placeholder:"blur",src:j.Z})}),"\n",(0,i.jsxs)(n.p,{children:["Even after the release of Argo Workflows 3.5, we made many contributions such as CI and test environments for ",(0,i.jsx)(n.code,{children:"DX improvements"}),", new features in the ",(0,i.jsx)(n.code,{children:"Nix"}),", ",(0,i.jsx)(n.code,{children:"Controller"}),", and ",(0,i.jsx)(n.code,{children:"Template specifications"}),", ",(0,i.jsx)(n.code,{children:"updating GoLang version"}),".\nWith more contributions, We are making progress in making Argo workflows a much better tool in next release."]}),"\n",(0,i.jsx)(n.h3,{id:"close-communication-with-the-maintainer-group",children:"Close communication with the maintainer group"}),"\n",(0,i.jsxs)(n.p,{children:["Our team was very fortunate that the Argo Workflows project got a new leader in May of this year, ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/terrytangyuan",children:"Yuan Tang"}),", and the breath of contributions across the project really accelerated."]}),"\n",(0,i.jsx)(n.p,{children:"Normally, in a large project like this, it would take quite a long time for reviews making it difficult to a lot of contributions.\nHowever, Thanks to the talented project head and his team, all of the ArgoWorkflows team members who participated in this competition learned a lot, experienced a lot,\nand grew through a lot of contributions in a short time."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"maintainer.png",placeholder:"blur",src:g.Z})}),"\n",(0,i.jsx)(n.p,{children:"Opportunities for contributions existed outside Issue and PR pages."}),"\n",(0,i.jsx)(n.p,{children:"We were able to have the valuable experience of being in open source project, such as deciding on a policy for processing logic in the project to resolve issues and experiencing being assigned and working on other related issues."}),"\n",(0,i.jsx)(n.p,{children:"Now, We introduce our contributions during the project."}),"\n",(0,i.jsx)(eB.Z,{contributers:["GeunSam2","qudtjs0753","umi0410","newdeal123","binkoni","Leeeuijooo","sudosubin","junkmm","shmruin","da-head0","synoti21","Jack-R-lantern","Yaminyam","zel0rd","yunwoo-yu","juijeong8324","moonyoungCHAE","sunyeongchoi"]}),"\n",(0,i.jsx)(n.h2,{id:"️-contribution-academy-progress-and-activity-details",children:"☑️ Contribution Academy progress and activity details"}),"\n",(0,i.jsx)(n.h3,{id:"from-not-knowing-anything-about-git-to-becoming-an-open-source-contributor",children:"From not knowing anything about Git to becoming an open source contributor"}),"\n",(0,i.jsx)(n.p,{children:"Of the 17 Masters stage participants, 12 of our team were made up of members who had no experience in proper collaboration/code review through GIT."}),"\n",(0,i.jsxs)(n.p,{children:["As it is a CRD that runs on Kubernetes as an engine, it is a project that requires a high level of understanding of Kubernetes, but ",(0,i.jsx)(n.strong,{children:"there were only 4 members with proper experience using Kubernetes"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"At first, I had no idea how to start and was at a loss, but as a result of practicing Git with a mentor and performing various tasks and studying in the practice REPO to become familiar with containers and Kubernetes, I gradually became familiar with the tool called Argo Workflows. It has begun."}),"\n",(0,i.jsxs)(n.p,{children:["As a result, ",(0,i.jsx)(n.strong,{children:"at the time of writing this report, we had the enjoyable experience of creating PRs for all 17 Masters stage participants"}),"."]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.th,{align:"center",children:(0,i.jsx)(c(),{alt:"chart1",placeholder:"blur",src:m.Z})})})}),(0,i.jsx)(n.tbody,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.td,{align:"center",children:(0,i.jsx)(n.em,{children:"Summary of contribution activities"})})})})]}),"\n",(0,i.jsx)(n.p,{children:"Additionally, contribution activities, which I had not been able to actively do at first because I was busy familiarizing myself with the tool and acquiring background knowledge, accelerated over time."}),"\n",(0,i.jsx)(n.p,{children:"In the end, the members' skills are growing so quickly that in September, in just the first week, they were able to match the number of PRs that were close to the PRs contributed during the previous month."}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.th,{align:"center",children:(0,i.jsx)(c(),{alt:"chart2",placeholder:"blur",src:w.Z})})})}),(0,i.jsx)(n.tbody,{children:(0,i.jsx)(n.tr,{children:(0,i.jsx)(n.td,{align:"center",children:(0,i.jsx)(n.em,{children:"Monthly Activity Graph"})})})})]}),"\n",(0,i.jsx)(n.p,{children:"Introducing the various activities our team has performed to achieve the current contribution activities."}),"\n",(0,i.jsx)(n.h3,{id:"repository-creation-and-contribution-activities-to-practice-using-git",children:"Repository creation and contribution activities to practice using Git"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Repository address: ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io"})]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Goal: Update member profile of issue template Select issue and create first PR according to issue content."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity1",placeholder:"blur",src:f.Z})}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Goal Details"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Edit/add the two files below to create a PR that updates user information."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/users.md`"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - `docs/users/[name].md`"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" To raise PR and merge, please refer to the points below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Since you do not have permission to create or push branches in the repo, you must fork and then work on it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Please refer to [PR’s Naming Convention](https://flank.github.io/flank/pr_titles/)."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - [DCO](https://github.com/apps/dco) Please commit by referring to the conditions for passing the bot's check."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)"})})]})}),"\n",(0,i.jsx)(n.h3,{id:"operation-of-a-special-class-on-container-basics",children:"Operation of a special class on container basics"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Page address: ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"https://github.com/ArgoWorkflows-OSS/container-playground"})]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Goal: Create your own service and configure CI for containerization"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity2",placeholder:"blur",src:k.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity3",placeholder:"blur",src:y.Z})}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Goal Details"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" Create your own web service and write a Docker file that can be containerized."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" To pass the assignment, please be sure to follow the instructions below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Directory and file placement"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - When developing a personal service, be sure to create your own GitHub account directory and write code under it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - `Dockerfile` must be located at the top level of your directory. (If this condition is not met, CI may fail.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - You can freely create other files under your own directory except for the location of `Dockerfile`."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - However, the image must be built successfully when you run the `docker build -t [image name] .` command at the top level of your directory."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Behavior of built images"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Personal web service must operate on port 8080."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - The built image must be serviced without problems when the `docker run -d -p [forwarding port number]:8080 [image name]` command is executed without any additional parameters."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Web service development language and service structure"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - It doesn’t matter which language or framework you prefer."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - It doesn’t matter if you create a simple API service with no UI or design."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - However, you must create two required APIs. (I don't care about the response value.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[your github account]"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - (Optional) It is better to optimize the Docker image. ([Reference](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue Please refer to #linking-a-pull-request-to-an-issue-using-a-keyword) to connect the issue and PR. (Manual connection x)"})})]})}),"\n",(0,i.jsx)(n.h3,{id:"opening-and-conducting-an-issue-hackathon-within-the-team",children:"Opening and conducting an issue hackathon within the team"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Intra-team hackathon to designate issues and solve each group issue within a period of time"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity4",placeholder:"blur",src:b.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity5",placeholder:"blur",src:v.Z})}),"\n",(0,i.jsx)(n.h3,{id:"join-to-contributor--community-meetings",children:"Join to Contributor / Community meetings"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity6",placeholder:"blur",src:I.Z})}),"\n",(0,i.jsx)(n.h3,{id:"argo-workflows-oss-team-page-creation-and-operation",children:"Argo Workflows OSS team page creation and operation"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["Page address: ",(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/",children:"https://argoworkflows-oss.github.io/"})]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Production framework: nextra"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity7",placeholder:"blur",src:A.Z})}),"\n",(0,i.jsx)(n.h3,{id:"conduct-offline-meeting-activities-at-least-once-a-week",children:"Conduct offline meeting activities at least once a week"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Regular meeting activities"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We selected every Sunday as a regular offline meeting date and conducted regular meeting activities."}),"\n",(0,i.jsx)(n.li,{children:"We conducted various communication activities such as exploring issues to be resolved through group activities, sharing our own experience in resolving issues, and discussing errors that occurred during the process."}),"\n",(0,i.jsxs)(n.li,{children:["Detailed information about offline regular meetings can be found through the link ",(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity8",placeholder:"blur",src:C.Z})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Presentation activity on topics of interest"})}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"During offline meetings, I gave presentations on topics of interest to me."}),"\n",(0,i.jsxs)(n.li,{children:["Topic of interest presentation topic and presenter","\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{align:"center",children:"order"}),(0,i.jsx)(n.th,{children:"Title"}),(0,i.jsx)(n.th,{align:"center",children:"Presenter"}),(0,i.jsx)(n.th,{align:"center",children:"Announcement date"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"1"}),(0,i.jsx)(n.td,{children:"Case study of Argo Workflows adoption at Carrot Market"}),(0,i.jsx)(n.td,{align:"center",children:"Yeom Geun-cheol"}),(0,i.jsx)(n.td,{align:"center",children:"July 15"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"2"}),(0,i.jsx)(n.td,{children:"WebRtc concept and use cases for real-time communication"}),(0,i.jsx)(n.td,{align:"center",children:"Song Hye-min"}),(0,i.jsx)(n.td,{align:"center",children:"July 30"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"3"}),(0,i.jsx)(n.td,{children:"How to link Argo Workflows and Keyclock"}),(0,i.jsx)(n.td,{align:"center",children:"Soon yeong-Choi"}),(0,i.jsx)(n.td,{align:"center",children:"July 30"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"4"}),(0,i.jsx)(n.td,{children:"Implementing CI/CD with Argo Project"}),(0,i.jsx)(n.td,{align:"center",children:"Hak jun-Kim"}),(0,i.jsx)(n.td,{align:"center",children:"August 6"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"5"}),(0,i.jsx)(n.td,{children:"Presentation of eBPF concept, filter development method, and use cases"}),(0,i.jsx)(n.td,{align:"center",children:"Seong rak-Jeong"}),(0,i.jsx)(n.td,{align:"center",children:"August 6"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"6"}),(0,i.jsx)(n.td,{children:"History of containers and creating containers without Docker"}),(0,i.jsx)(n.td,{align:"center",children:"Yeom Geun-cheol"}),(0,i.jsx)(n.td,{align:"center",children:"August 13"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"7"}),(0,i.jsx)(n.td,{children:"Platform builder that allows developers to load test themselves & K6 load test PoC announcement"}),(0,i.jsx)(n.td,{align:"center",children:"Ah Da-hye"}),(0,i.jsx)(n.td,{align:"center",children:"August 20"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"8"}),(0,i.jsx)(n.td,{children:"Considerations on the container ecosystem"}),(0,i.jsx)(n.td,{align:"center",children:"Yeom Geun-cheol"}),(0,i.jsx)(n.td,{align:"center",children:"August 27"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"center",children:"9"}),(0,i.jsx)(n.td,{children:"Github Actions Installing and operating self-hosted in Kubernetes"}),(0,i.jsx)(n.td,{align:"center",children:"Cheong woon-Seo"}),(0,i.jsx)(n.td,{align:"center",children:"September 2nd"})]})]})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity9",placeholder:"blur",src:P.Z})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Gathering together and coding individually"})}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We gathered together irregularly and did our own coding."}),"\n",(0,i.jsx)(n.li,{children:"We conducted technical exchanges, including analyzing the structure and issues of ArgoWorkflow."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"activity10",placeholder:"blur",src:S.Z})}),"\n",(0,i.jsx)(n.h2,{id:"️-participant-contribution-details",children:"☑️ Participant contribution details"}),"\n",(0,i.jsx)(n.h3,{id:"0-geuncheol-yeommentor",children:"0. GeunCheol Yeom(Mentor)"}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"I met ArgoWorkflows last year, and many things changed"}),"\n",(0,i.jsx)(n.p,{children:"I participated as a mentor at this event, but I feel like I'm the one learning and getting more out of it."}),"\n",(0,i.jsx)(n.p,{children:"I would like to sincerely thank the mentees who participated in the event and did their best until the end, and I hope that we can continue to be colleagues in open source activities together."}),"\n",(0,i.jsx)(n.p,{children:"During the event, I was able to think about the culture of the open source ecosystem once again, and I was able to study various techniques for utilizing Git that I thought I knew in the CI environment."}),"\n",(0,i.jsx)(n.p,{children:"I feel more passionate about the ArgoWorkflows project, and I'm not sure what opportunities there will be in the future, but I'd like to contribute to more diverse areas."}),"\n",(0,i.jsx)(n.h3,{id:"1-byeongsun-gang",children:"1. ByeongSun Gang"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Personal achievements"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Documentation contribution"})," ",(0,i.jsx)(n.code,{children:"#11762"})," ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11762#event-10327741834",children:"Remove helm installation guide and Add helm documentation link"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We need to install helm for MinIO configuration, but the helm installation guide only shows the configuration related to mac, so we fixed it to access the helm official documentation."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Documentation contribution"})," ",(0,i.jsx)(n.code,{children:"#11735"})," ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11735#event-10365473861",children:"Add installation option description"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We added a detailed description of the managed namespace option."}),"\n",(0,i.jsxs)(n.li,{children:["I learned from a maintainer that there is a ",(0,i.jsx)(n.a,{href:"https://kubernetes.io/docs/contribute/style/style-guide/#use-simple-and-direct-language",children:"Documentation convention"})," for Kubernetes here."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Contribution Preparation Courses and Activities"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Learn the basics of Github","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["My mentor gave me an assignment to update my profile. I familiarized myself with the concepts of GPG and DCObot to become more familiar with github.\n",(0,i.jsx)(c(),{alt:"Wang",placeholder:"blur",src:D.Z})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Docker Beginner Special Class","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["We had an activity to create a docker image using Dockerfile. I learned the concepts by reading the materials organized by my mentor.\nIn addition, when creating the image, I tried to apply ",(0,i.jsx)(n.a,{href:"https://www.notion.so/Dockerfile-65f85f55b1b647ebb85617da9747db58?pvs=21",children:"multi stage build"})," to include only the features needed for execution.\n",(0,i.jsx)(c(),{alt:"dockerfile_pull_request",placeholder:"blur",src:W.Z}),"\n",(0,i.jsx)(c(),{alt:"multi-staging-build",placeholder:"blur",src:N.Z})]}),"\n",(0,i.jsxs)(n.li,{children:["After the lab, my mentor walked me through ",(0,i.jsx)(n.a,{href:"https://ykarma1996.tistory.com/192",children:"Overlay FS"})," one by one, showing me how the images are created. This was really informative..."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Learning the basics of Kubernetes","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Before contributing, I took the time to study the basics of Kubernetes.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.notion.so/bf8924a756b34bacb82d7051a05f1168?pvs=21",children:"개인 공부자료"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Argo workflows","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["template and ",(0,i.jsx)(n.a,{href:"https://www.notion.so/e4d8e9e18f154a2181135b3e1b6b2d45?v=599976df8f114b5bb48943bdeef08360&pvs=4",children:"self-study"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Mentee Hakjun showed me the ",(0,i.jsx)(n.a,{href:"https://junkmm.tistory.com/28",children:"pipeline for deploying on GCP using ArgoCD and Argo Workflows"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Participation in OSS meetup activities"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Mentors and mentees gave presentations on various topics. It was a good time to hear what problems they are facing in the real world besides contributing and how they solved them."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Participating in the hackathon"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Mentee Sungrak helped me a lot. He shared the issues he thought were okay and always encouraged me to challenge myself.\n",(0,i.jsx)(c(),{alt:"hackImage",placeholder:"blur",src:R.Z})]}),"\n",(0,i.jsxs)(n.li,{children:["He recommended the issue ",(0,i.jsx)(n.code,{children:"#11609"})," ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:"Compile expr in config"}),", so I tried it."]}),"\n",(0,i.jsxs)(n.li,{children:["I spent some time analyzing the issue by ",(0,i.jsx)(n.a,{href:"https://www.notion.so/491f51f4142244ca875708c5556c58a2?pvs=21",children:"teaching myself Golang"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"It was a good time to become more familiar with golang."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-1",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Participant Review"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"As a junior developer, this activity is not just for contributing, it's a great way to see what developers are thinking about and how they grow."}),"\n",(0,i.jsx)(n.li,{children:"I got so much help and I'm always grateful. It was a great time to meet so many nice people."}),"\n",(0,i.jsx)(n.li,{children:"I'm glad I took the first step in getting acquainted with containers."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future plans"}),".","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I will continue to be interested in and contribute to all open source projects that I use in my development."}),"\n",(0,i.jsx)(n.li,{children:"I will apply Argo workflows to real projects and find ways to contribute more!"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["qudtjs0753"]}),"\n",(0,i.jsxs)(n.h3,{id:"2-sion-kang",children:["2. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/sion-kang-3146551bb/",children:"SiOn Kang"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-1",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"1 issue, 3 PRs"}),"\n",(0,i.jsxs)(n.li,{children:["Modified GitHub Actions log name to improve readability","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11670",children:"https://github.com/argoproj/argo-workflows/pull/11670"})}),"\n",(0,i.jsx)(n.li,{children:"Among the steps performed in publish-release, Run actions/cache@v3 is performed a total of three times."}),"\n",(0,i.jsx)(n.li,{children:"Each person has a different role, but the same name is used, so the part where it may feel like the same task is being done three times has been changed to a name that fits each role."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Delete cache logic that does not require GitHub Actions","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11754",children:"https://github.com/argoproj/argo-workflows/pull/11754"})}),"\n",(0,i.jsx)(n.li,{children:"Fixed an error that occurred due to overlapping cache because caching is performed by default unless the cache option is set to false in setup-go actions."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Upgrade all checkout@v3 that uses the deprecated NodeJS 16 version to checkout@v4.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11782",children:"https://github.com/argoproj/argo-workflows/pull/11782"})}),"\n",(0,i.jsx)(n.li,{children:"Since NodeJS will soon end its security support, changes have been made to use actions using the latest version."}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-2",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"I enjoyed last year's experience so much that I decided to participate again this year, but this year was a great experience again with a different feel from last year.\nThanks to all the passionate team members and active projects, I was able to maintain interest in the project without losing tension, and I am very happy that I have a colleague with whom I can share not only the project but also related stories."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-1",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["Yaminyam"]}),"\n",(0,i.jsx)(n.h3,{id:"3-younggil-kwon",children:"3. YoungGil Kwon"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-2",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:"[Project Contributions]"}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["'Bug modification' Argo Workflow Datpicker improvement ",(0,i.jsx)(n.em,{children:"(completed)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"Improve the ui of datepick, one of the filter functions of the workflow list page"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"1.UI.png",placeholder:"blur",src:F.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"2.UI.png",placeholder:"blur",src:T.Z})}),(0,i.jsx)(n.p,{children:"Issue Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11476",children:"UI: Datepicker Style Malfunction Issue \xb7 Issue #11476 \xb7 argoproj/argo-workflows"})}),(0,i.jsx)(n.p,{children:"PR Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11480",children:"fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd \xb7 Pull Request #11480 \xb7 argoproj/argo-workflows"})}),(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["'Bug modification' ",(0,i.jsx)(n.em,{children:"Cronworkflow's State filter initial value setting (completed)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"Fixed a bug where the status filter in the cronworkflow is rendered regardless of the initial value"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"3.UI.png",placeholder:"blur",src:M.Z})}),(0,i.jsx)(n.p,{children:"Issue Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11685",children:"ui: Cron workflow initial filter value \xb7 Issue #11685 \xb7 argoproj/argo-workflows"})}),(0,i.jsx)(n.p,{children:"PR Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11686",children:"https://github.com/argoproj/argo-workflows/pull/11686"})}),(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["'Fix the bug' ",(0,i.jsx)(n.em,{children:"Remove webpack-related alerts from the initial page (in progress)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"To remove web pack monitoring that occurs when loading argo workflow ui"}),(0,i.jsx)(n.p,{children:"Currently testing the dependence and functionality of the associated libraries"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"4.UI.png",placeholder:"blur",src:O.Z})}),(0,i.jsxs)(n.ol,{start:"4",children:["\n",(0,i.jsxs)(n.li,{children:["'Improvement' ",(0,i.jsx)(n.em,{children:"Improvement of login page (in progress)"})]}),"\n"]}),(0,i.jsx)(n.p,{children:"Issues that improve the existing login page in Argo Workflow in the same form as the Argo CD"}),(0,i.jsx)(n.p,{children:"We will analyze the login capabilities provided by current workflow and apply new designs and designs afterwards"}),(0,i.jsx)(n.p,{children:"Issue Link"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/10816",children:"Similar login page to Argo CD \xb7 Issue #10816 \xb7 argoproj/argo-workflows"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Project Activity History]"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"7.8 Opening Ceremony (Project Introduction and Self-Introduction)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Opening ceremony\n",(0,i.jsx)(c(),{alt:"5.meet.png",placeholder:"blur",src:G.Z})]}),"\n",(0,i.jsx)(n.li,{children:"Time for self-introduction using nicknames"}),"\n",(0,i.jsx)(n.li,{children:"A rough introduction to the project"}),"\n",(0,i.jsxs)(n.li,{children:["a majority vote for the rules of gathering activity","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The next meeting activity will be held from 1 p.m. on Saturday (07/15) unlike the regular schedule, depending on the majority vote of the participants at the opening ceremony. The planned activity topic is:"}),"\n",(0,i.jsx)(n.li,{children:"Time to review or talk about *common activities** for the next week"}),"\n",(0,i.jsx)(n.li,{children:"Time to communicate about topics of interest"}),"\n",(0,i.jsx)(n.li,{children:"You can also set up the development environment according to your progress. (Optional)"}),"\n",(0,i.jsx)(n.li,{children:"(Common activities will be organized and shared within tomorrow's work hours.)"}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"7.15 First Meeting (Introduction to Development Environment Settings and Workflow Features)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Open Up to the First Meeting"}),"\n",(0,i.jsx)(n.li,{children:"Development Environment Settings (dev-container)"}),"\n",(0,i.jsxs)(n.li,{children:["Playground Mission (DCO Bot Check Passed, Commit Using GPG, Commit Message Convention)","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I created a playground before I immediately challenged a real open-source project. The first goal is to do issues/PR/commitments, etc., from an outsider's perspective on the project in this Playground.\nIt's simple, but there may be unexpected gateways for the first time, so please focus. If we resolve the first issue early, we will give you additional instructions. Haha"}),"\n",(0,i.jsxs)(n.li,{children:["저장소: ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS"})]}),"\n",(0,i.jsx)(n.li,{children:"Objective: Select member profile update issue in issue template and generate first PR according to issue content."}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"7.23 Second meeting (share issues of interest)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Gathering at Seongsu to conduct the second meeting (provided by Musinsa-Andahye Mentee)"}),"\n",(0,i.jsxs)(n.li,{children:["Introduce issues of interest, share issues with each other\n",(0,i.jsx)(c(),{alt:"6.meet.png",placeholder:"blur",src:Z.Z})]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"8.6 Fourth meeting"})}),(0,i.jsx)(n.p,{children:"Presentation activities"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"argo event와 workflow, cd연동"}),"\n",(0,i.jsx)(n.li,{children:"eBpf"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"7.meet.png",placeholder:"blur",src:E.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"8.13 Fifth Meeting"})}),(0,i.jsx)(n.p,{children:"Presentation activities"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"webRTC"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"8.meet.png",placeholder:"blur",src:K.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"8.20 6th Meeting"})}),(0,i.jsx)(n.p,{children:"presentation activityEast"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Platform builder & K6 load test PoC for developers to load test themselves"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"9.meet.png",placeholder:"blur",src:q.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Project Activities]"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"[Learning to contribute]"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Kubernetes Architecture Lecture - ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=Iue9TC13vPQ",children:"YouTube link"})]}),"\n",(0,i.jsxs)(n.li,{children:["Kubernetes Resources Lecture - ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=6n5obRKsCRQ&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c",children:"YouTube link"})]}),"\n",(0,i.jsxs)(n.li,{children:["Go Playground - ",(0,i.jsx)(n.a,{href:"https://go.dev/play/",children:"https://go.dev/play/"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Learnings and impressions"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"I realized that domain knowledge in the field is important to contribute to the project.\nI wanted to simply contribute to web services, but it was not easy to set up the environment due to lack of knowledge about Kubernetes."}),"\n",(0,i.jsx)(n.li,{children:"I learned that big open source projects use things like DCO/GPG, and I was able to learn how open source projects are managed and operated."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Issues and PR details"})}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-3",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"For me, the idea of contributing to open source brings up a lot of mixed feelings.\nContributing to open source with other developers and experiencing the sharing and collaborative culture of open source is a great joy and reward for developers.\nHowever, the uncertainty and fear that I had experienced when contributing several times before was a big barrier that made me hesitate to try again.\nWhen I decided to participate for the third time, I said to myself, \"Excuses like \"I'm a student, I don't know enough, I'm busy preparing for a job, etc.\" don't work anymore. I must succeed this time'.\nI can still remember the promise I made to myself when I started, which made it all the more overwhelming and exciting.\nWhen I was applying for projects, I had to decide whether I wanted to work on something I knew or something new. I applied for a project related to devops, a field I hadn't been exposed to before, in order to educate myself and work harder.\nIt didn't take long for me to regret this decision. There was a lot to learn before I could even contribute, and a lot of time was wasted in building the basic environment of the project. However, when the development environment was built with other team members,\nsharing each other's difficulties every day and actively trying to help each other, it was an exciting time.\nErrors and bugs that occurred in my work always made me sensitive and annoyed, but in the academy, it was like a mission that I could do, and the process was fun like a game.\nNow that I'm writing this recap, I'm very proud of my contributions and I'm grateful to my colleagues and mentors who helped me along the way.\nIn the future, I will think about how I can apply the argo-workflow project to my work and actively contribute to the issues that arise. I would also like to contribute to new projects if there are other good projects.\nThank you."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-2",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["zel0rd"]}),"\n",(0,i.jsxs)(n.h3,{id:"4-subin-kim",children:["4. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/sudosubin",children:"SuBin Kim"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-3",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Personal performance"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Contributing one 'issue' and one 'PR'"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Preparation for Countryview"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Viewed: OSSCA Basic Training uploaded to YouTube. I've used it a lot before, such as Git and Vim, and I knew the concept, but I was able to know and understand a lot of parts that I didn't know or roughly used."}),"\n",(0,i.jsxs)(n.li,{children:["In the 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository, we performed an example of Git configuration settings and linking and closing Issue and PR.\nArgo Workflows must have all commitments signed with gpg private key and signed off when creating PR. Otherwise, it will fail in the GitHub CI. Before I actually contributed to Argo Workflows, it helped me greatly to set up a local Git environment in advance and create a simulated PR.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38",children:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/38"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"You have set up the Argo Workflows development environment. At first, I set it up with devcontainer, and then I used Nix.\nArgo Workflows requires multiple components in the development environment, including React UI, Argo Server, and MySQL, making it difficult to configure the development environment, but we were able to fully configure it over several weeks."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Countryview progress"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Fix 'Bug Fix' Fix go build","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11635",children:"https://github.com/argoproj/argo-workflows/pull/11635"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"The existing code base was using Go 1.20, but there was a problem with using Go 1.19 in the Nix build file. Previously, the build was fine, but when I started using the newly added grammar in Go 1.20, I encountered problems with the Nix build."}),"\n",(0,i.jsx)(n.li,{children:"Using '_module.args', I modified Go 1.20 to be the default and modified the Nix build."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Automatic update of 'function improvement' Nix go vendor hash","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11691",children:"https://github.com/argoproj/argo-workflows/issues/11691"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"This is an issue that I learned when I set up the development environment during the preparation of the contention. Nix pursues a reproducible build, but when GitHub's Dependency Hash value is not changed together when GitHub's Dependency Abot automatically raises the Go module version."}),"\n",(0,i.jsx)(n.li,{children:"This often requires developers to manually calculate and update Nix's go vendor hash when setting up a development environment, and we are looking for workable ways to improve it."}),"\n",(0,i.jsx)(n.li,{children:"In order to find a solution with the contributors, an issue was created by collecting the contents of existing PRs and Comments."}),"\n",(0,i.jsx)(n.li,{children:"Developers are reflecting it manually without solving it in other open-source projects, so after contributing to Argo Workflows, I think I can contribute to other projects as well."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["'Improvement' 'CHANGELOG.md '","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11733",children:"https://github.com/argoproj/argo-workflows/pull/11733"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Markdownlint is a tool that forces documents in a project to be written in a consistent format and makes them easier to read and modify."}),"\n",(0,i.jsx)(n.li,{children:"Previously, we used Markdownlint to configure the linker settings for the Project Markdown document, but we improved the 'CHANGELOG.md ' file, which is automatically generated using the script, because it does not comply with the linker rules."}),"\n",(0,i.jsxs)(n.li,{children:["New 'CHANGELOG.md ' changes created by the changed script are contained in this PR. → → ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11773",children:"https://github.com/argoproj/argo-workflows/pull/11773"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["'Improvement' document style improvement","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11787",children:"https://github.com/argoproj/argo-workflows/pull/11787"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"We've improved the style of some documents that don't follow Markdownlint, and we've shared that we'll revise the documents that are automatically generated later in PR."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-4",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Review of participation in the program"})}),"\n",(0,i.jsx)(n.li,{children:"It would have been impossible if I had tried to contribute by myself, but I think I was able to prepare and contribute while gathering with mentor and other mentees to study and contribute."}),"\n",(0,i.jsx)(n.li,{children:"It was great to understand the Argo Project ecosystem and community, and to understand Argo Workflows much deeper than before."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Planning future contributions"})}),"\n",(0,i.jsx)(n.li,{children:"We will discuss the solution with the contributors in the issue we have created and implement it will be implemented."}),"\n",(0,i.jsx)(n.li,{children:"Afterwards, we will improve the Nix development environment and gradually transfer the devcontainer development environment to Nix."}),"\n",(0,i.jsx)(n.li,{children:"The documents related to Nix are poor, so we are going to improve the documents."}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-3",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["sudosubin"]}),"\n",(0,i.jsx)(n.h3,{id:"5-hakjun-kim",children:"5. HakJun Kim"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-4",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"refactory"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"fix: Upgrade Go to v1.21 Fixes #11556"}),"[**Merged]**"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Argo Workflows are developed in Go language."}),"\n",(0,i.jsx)(n.li,{children:"An issue was issued to upgrade Go Version from 1.20 → 1.21, so we decided to resolve it."}),"\n",(0,i.jsx)(n.li,{children:"During the ‘Issue Hackathon’ period, we presented the issue and worked with the same team members to resolve the issue and conduct PR."}),"\n",(0,i.jsx)(n.li,{children:"As a result, it was a glorious time to have my first PR and my first contributor badge."}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"fix: Upgrade Go to v1.21 Fixes #11556 by junkmm \xb7 Pull Request #11601 \xb7 argoproj/argo-workflows(opens in a new tab)"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"presentation"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"During the Challenges period, we had time to present at an offline meeting the results of CI/CD implementation using Argo Projects."}),"\n",(0,i.jsxs)(n.li,{children:["It was a useful time to organize my thoughts during the presentation, talk with each other, and understand DevOps and the Argo Project ecosystem.\n",(0,i.jsx)(c(),{alt:"meet",placeholder:"blur",src:H.Z})]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Issue Hackathon"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"An ‘Issue Hackathon’ was held under the leadership of a mentor with the opinion of Da-hye A to reduce entry barriers and motivate contribution activities."}),"\n",(0,i.jsx)(n.li,{children:"Under the leadership of our mentor, we became a team with Seongrak, Moonyoung, and Byeongseon."}),"\n",(0,i.jsx)(n.li,{children:"During this period, I achieved the resolution of the go 1.20 → 1.21 upgrade issue that I suggested."}),"\n",(0,i.jsxs)(n.li,{children:["We attempted to resolve the issue of adding Prometheus Metric values built into Argo Workflows, but were discontinued due to the high level of difficulty. However, through this process,\nI had a great experience breaking down my stereotype that Prometheus requires a separate exporter to be installed and expanding my horizons.\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849",children:"plan to add workflow labels to the metric? \xb7 Issue #9849 \xb7 argoproj/argo-workflows(opens in a new tab)"})]}),"\n",(0,i.jsxs)(n.li,{children:["We are trying to resolve the following issue: ",(0,i.jsxs)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11609",children:["Compile ",(0,i.jsx)(n.code,{children:"expr"})," in config \xb7 Issue #11609 \xb7 argoproj/argo-workflows"]})]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Beginner’s Special Class - Container Playground"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Argo Workflows is an open source that runs in the Kubernetes native environment."}),"\n",(0,i.jsx)(n.li,{children:"The mentor opened the Kubernetes Study, saying that knowledge of Kubernetes would be helpful in approaching our project."}),"\n",(0,i.jsxs)(n.li,{children:["The first mission was to create a Web Container that satisfied the conditions presented.\n",(0,i.jsx)(c(),{alt:"goal",placeholder:"blur",src:z.Z})]}),"\n",(0,i.jsx)(n.li,{children:"It made me reflect on how I usually write Dockerfiles thoughtlessly, and it was a good time to learn about the relationship between multi-staging, build speed, and how to write Dockerfiles."}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-5",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Participation review"})}),"\n",(0,i.jsx)(n.p,{children:"First of all, I am very satisfied. I don't think it can be compared to the person I am today, who didn't know much about the open source ecosystem in the early days of contribution. The reason I'm so satisfied First, we are smart team members.\nEvery week, there were many presentations on various topics, technologies used by people in the workplace, technologies of interest, etc. It was a premium lecture that could not be heard anywhere else, and it was a very helpful time. Second, we have reliable team members.\nAs someone with little development experience, I was a little scared of this contribution period. However, thanks to many people, including our leader mentee, Seongrak, who actively provided information when they posted questions on Slack, I was able to smoothly overcome the problems I experienced.\nThird, it is a comfortable meeting space and reliable support. We met every Sunday at the open-up space in Seocho. It was really clean, probably because it was a new building, and the coffee and snacks in the bathroom were just brilliant. Also,\nit was nice to be able to eat really delicious lamb skewers during the mid-day company dinner."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"Future plans"})}),"\n",(0,i.jsx)(n.p,{children:"Through this year's contribution activities, I was able to clearly understand the open source ecosystem. The only thing I regret is that it was scary in the beginning? It's about being active passively and my cute little coding skills that I couldn't help but be passive about.\nBecause the period of contribution activities was truly valuable, I would like to make up for my shortcomings and participate next year as well."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-4",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["junkmm"]}),"\n",(0,i.jsxs)(n.h3,{id:"6-jinsu-park",children:["6. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/jinsu-park-dev/",children:"JinSu Park"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-5",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.p,{children:["Improvements\n",(0,i.jsxs)(n.strong,{children:["A new feature to support Secrets as a type of parameters (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11446",children:"link"}),")"]})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"1.picture",placeholder:"blur",src:L.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"2.picture",placeholder:"blur",src:U.Z})}),(0,i.jsx)(n.p,{children:"The original Argo Workflow allowed you to define arguments directly when passing them to the WorkflowTemplate, or you could set it to reference a ConfigMap. However, unlike other tools that support the common kubernetes ecosystem, the ability to reference Secrets was not supported."}),(0,i.jsxs)(n.p,{children:["We started getting feature requests ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/5506%EC%97%90%EC%84%9C",children:"https://github.com/argoproj/argo-workflows/issues/5506에서"})," for this, and we've implemented it and created a Draft PR."]}),(0,i.jsx)(n.p,{children:"This feature was not easy to develop, especially since it required redefining things like the CustomResourceDefinition interface in Kubernetes, and figuring out the entire lifecycle of how a workflow is created, injected with sidecars, and created as a Pod."}),(0,i.jsx)(n.p,{children:"However, as we implemented the feature, we were able to gain a deeper understanding of how workflows are eventually transformed into pods and containers, and the logic behind how workflows templatize context and arguments internally."}),(0,i.jsxs)(n.p,{children:["Create Issue` ",(0,i.jsxs)(n.strong,{children:["Incorrect creator labels on a resubmitted Workflow (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11414",children:"link"}),")"]})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"3.picture",placeholder:"blur",src:B.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"4.picture",placeholder:"blur",src:Y.Z})}),(0,i.jsx)(n.p,{children:"Argo Workflow has a feature called Resubmit that recreates and runs a Workflow based on the same template. In the case of a resubmitted Workflow, the k8s object label related to the user who created the Workflow was not set based on the resubmitted user, but was set to the existing incorrect value."}),(0,i.jsx)(n.p,{children:"As a result, if the user who ran a workflow was different from the user who resubmitted the workflow, the workflow created by the resubmission would have an incorrect workflow creation user-related k8s object label."}),(0,i.jsx)(n.p,{children:"We raised an issue about this."}),(0,i.jsxs)(n.p,{children:["Bugfix: ",(0,i.jsxs)(n.strong,{children:["fix: Apply the creator labels about the user who resubmitted a Workflow (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11415",children:"link"}),")"]})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"5.picture",placeholder:"blur",src:J.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"6.picture",placeholder:"blur",src:_.Z})}),(0,i.jsx)(n.p,{children:"We created a Pull Request to resolve the issue (bug) we created earlier."}),(0,i.jsx)(n.p,{children:"We fixed the bug by labeling the correct Workflow constructor k8s object based on the resubmitted user information only, without considering the information of the existing Workflow executor when resubmitting."}),(0,i.jsx)(n.p,{children:"As an example of the change, we showed how a Workflow executed by a user named foo would be resubmitted by a user named bar, and how the creator-related label would be different if it was resubmitted by an unauthenticated user."}),(0,i.jsx)(n.p,{children:"We also found that there were a lot of other code that was impacted, so we wrote test code to make it more stable."}),(0,i.jsx)(n.p,{children:"Improvements"}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["feature: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11407",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"7.picture",placeholder:"blur",src:V.Z})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"8.picture",placeholder:"blur",src:X.Z})}),(0,i.jsx)(n.p,{children:"If the CronWorkflow was created by a logged-in user, the CronWorkflow will be labeled with a k8s object for the constructor. However, there was an issue that the k8s object label would not be attached to Workflows that are created periodically based on the settings of CronWorkflow."}),(0,i.jsx)(n.p,{children:"Therefore, we have improved Workflows created with CronWorkflow to propagate CronWorfklow's constructor label."}),(0,i.jsx)(n.p,{children:"Issue."}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Insufficient logging in /oauth2/callback handler when using SSO Authentication (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11369",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"9.picture",placeholder:"blur",src:Q.Z})}),(0,i.jsx)(n.p,{children:"We tried to activate the Authentication with Single Sign On (SSO) feature in Argo Workflows using the Identity Provider open source product called Keycloak, but we experienced a significant delay in the activation process due to the lack of logs.\nTherefore, we opened an issue on the topic of enhancing the logging of the feature activation operation."}),(0,i.jsx)(n.p,{children:"Feature."}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["feature: Improve logging in the oauth2 callback handler (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11370",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"10.picture",placeholder:"blur",src:$.Z})}),(0,i.jsxs)(n.p,{children:["This is the pull request that resolved the issue mentioned above (",(0,i.jsx)(n.a,{href:"https://www.notion.so/82d2ee40c48e482a8db93123a7b38407?pvs=21",children:"block link"}),"). We improved the feature to output error logs for each error case that occurs while using OAuth2 Protocol for SSO."]}),(0,i.jsx)(n.p,{children:"Also, to make it easier for reviewers to review the pull request, we've added code verification to make the pull request more convincing."}),(0,i.jsx)(n.p,{children:"Study`"}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["docs: Add a user named Park Jinsoo (",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/51",children:"link"}),")"]})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"11.picture",placeholder:"blur",src:ee.Z})}),(0,i.jsx)(n.p,{children:"At the beginning of the event, we practiced creating a pull request by adding an introduction about myself to the member profile of a repository that my mentor created for us to get acquainted with GitHub."})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-6",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"It was a great opportunity for me to become a contributor to a well-known open source project after having been a user of many open source projects for my work and hobbies."}),"\n",(0,i.jsx)(n.p,{children:"With the help of my mentor, I was able to get started in open source contributing with Argo Workflow, overcome my fear of live video meetings between contributors, and develop the habit of reading code written by others."}),"\n",(0,i.jsx)(n.p,{children:"I'm now very interested in Argo Workflow, as well as other cloud-native, open source favorites like Argo Rollouts and Istio, and I've been communicating with contributors frequently via Slack."}),"\n",(0,i.jsx)(n.p,{children:"Before I started contributing to open source, I'm sure I would have been reluctant to do so. But now I don't feel intimidated by this communication at all, and in the future I hope to contribute as much to Argo Rollouts and Istio as I did to Argo Workflow!"}),"\n",(0,i.jsx)(n.p,{children:"I would like to thank the organizers and mentors for all their hard work over the years. Thank you."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-5",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["umi0410"]}),"\n",(0,i.jsx)(n.h3,{id:"7-chungwun-seo",children:"7. ChungWun Seo"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-6",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"individual performance"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["1 ",(0,i.jsx)(n.code,{children:"PR"})," Open"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Countryview preparation process"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We checked the shared video of the basic Git strategy shared by the OSSCA Secretariat and combined the new parts we missed with the existing concepts to enhance our understanding and application of Git."}),"\n",(0,i.jsx)(n.li,{children:"The team's 'ArgoWorkflows-OSS/ArgoWorkflows-OSS' repository allowed us to learn the gpg private keys, issues, PR titles, etc., which are essential for open-source attributes, by actually performing missions and gaining experience."}),"\n",(0,i.jsx)(n.li,{children:"dWe used devcontainer to build and test Argo Workflow's local development environment, and to test the requirements for actually doing the content. The portability tool for multiple library dependencies made it very easy to use."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Content progress"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Modifying fields example in formula docs","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11748",children:"https://github.com/argoproj/argo-workflows/pull/11748"})}),"\n",(0,i.jsx)(n.li,{children:"An example of a document that does not use Cron Workflow was included in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields in the existing official document, causing confusion in finding the required data."}),"\n",(0,i.jsx)(n.li,{children:"So, in the 'CronWorkflowSpec' and 'CronWorkflowStatus' fields, we only allowed examples using CronWorkflow to find the data we needed."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-7",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Program Participation Review"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Mentors and mentees led the meeting so well that I wondered if there would be another meeting where I could get to know and understand the open-source ecosystem in depth."}),"\n",(0,i.jsx)(n.li,{children:"As an individual, I was very disappointed. I could have invested a little more time and actively participated in the meeting to make it a better meeting as well as personal growth, but it was a period that left a lot of regret because of various external factors and my own laziness."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future Contribution Plan"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"With great confidence that open-source attributes are no longer scary (?) things, we will be able to explore open-source beyond the Argo ecosystem and be more interested in the CNCF ecosystem."}),"\n",(0,i.jsx)(n.li,{children:"Based on the fact that we can make contributions through previous PR records and the help of the main container without having to look at the source from the beginning, we plan to actively continue our contribution beyond the psychological hurdle of the country."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-6",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["newdeal123"]}),"\n",(0,i.jsxs)(n.h3,{id:"8-haemin-song",children:["8. ",(0,i.jsx)(n.a,{href:"www.linkedin.com/in/haemin-song-771626120",children:"HaeMin Song"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-7",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Contribution Activities"})}),"\n"]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Mutex check happens after memoization cache check and lock info missing from UI"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11219",children:"Issue #11219"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11456",children:"PR #11456 - Merged/Included in 3.4.10 release"})]}),(0,i.jsx)(n.p,{children:"I managed to modify Argo Workflow to simultaneously utilize the Synchronization and Cache functionalities."}),(0,i.jsx)(n.p,{children:"This bug manifested when using both the Synchronization and Memoize keywords in Argo Workflow, causing it not to operate correctly."}),(0,i.jsx)(n.p,{children:"The expected behavior was for the Mutex Synchronization to function first followed by the cache, however, after Synchronization occurred, the cache failed to operate."}),(0,i.jsxs)(n.p,{children:["For instance, when there are ",(0,i.jsx)(n.code,{children:"job-1"})," and ",(0,i.jsx)(n.code,{children:"job-2"}),", if ",(0,i.jsx)(n.code,{children:"job-1"})," operates first due to Mutex Synchronization and writes to the cache, ",(0,i.jsx)(n.code,{children:"job-2"})," ** should pass without operating, courtesy of the shared cache.**"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:en.Z})}),(0,i.jsx)(n.p,{children:"I was able to fix this by adjusting the sequence of Synchronization and Cache."}),(0,i.jsxs)(n.p,{children:["While the fix was not complicated, modifying the ",(0,i.jsx)(n.code,{children:"operation.go"}),", one of the intricate files, allowed me to explore various features of Argo Workflow with many reviews."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Parent level memoization is broken"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11612",children:"Issue #11612"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11623",children:"PR #11623 - Merged/Included in 3.4.11 release"})]}),(0,i.jsx)(n.p,{children:"A new bug arose from the above fix. When using the Memo function in child components rather than at the Template level in Argo Workflow, a bug was reported that caused infinite pending."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:es.Z})}),(0,i.jsx)(n.p,{children:"I realized that there were unaddressed cases in the tests added in the previous PR. After identifying the cause of the error, I quickly patched it. I included four tests in the PR to detect such exceptions in the future."}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"UI: workflowDrawer's information link is not correctly working"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11494",children:"Issue #11494"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11495",children:"PR #11495 - Merged/Included in 3.4.10 release"})]}),(0,i.jsx)(n.p,{children:"I fixed an issue where the Information icon link was broken when expanding a workflow on the Argo Workflow dashboard."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:ei.Z})}),(0,i.jsxs)(n.p,{children:["I introduced code to prevent incorrect event propagation caused by nested ",(0,i.jsx)(n.code,{children:""})," tags. This correction ensured that clicking on the icon now directs users to the correct documentation."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Search by name for WorkflowTemplates in UI"}),(0,i.jsx)(n.code,{children:"Feature Enhancement"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684 - Merged/Included in 3.4.10 release"})]}),(0,i.jsx)(n.p,{children:"This was a collaborative effort with two other contributors."}),(0,i.jsx)(n.p,{children:"A helpful feature that allows templates in Argo Workflow to function through name patterns was missing."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:er.Z})}),(0,i.jsxs)(n.p,{children:["We developed an additional feature that lets users search for templates not just by Yaml labels, but also by names.\n",(0,i.jsx)(n.code,{children:"The LIKE search, not just precise naming, will prove useful in the future."})," Plans are underway to extend this search and pagination functionality to other pages, making this a particularly meaningful PR."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add more readable Argo CLI installation guide into github documentation"}),(0,i.jsx)(n.code,{children:"Documentation Contribution"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11750",children:"Issue #11750"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11751",children:"PR #11751 - Merged"})]}),(0,i.jsx)(n.p,{children:"This contribution pertains to the documentation of the Argo CLI, the command-line interface used with Argo Workflows."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:eo.Z})}),(0,i.jsx)(n.p,{children:"The current Argo CLI GitHub documentation lacked installation procedures, making it challenging for first-time users to determine how to install the Argo CLI. Initially, users had to directly navigate to the Release Note or the Quick Start page.\nBy adding an Installation section to the Argo CLI page alongside the existing Usage details, I aimed to enhance user convenience."}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Workflow templating is skipped when whitespace is added to template parameters"}),(0,i.jsx)(n.code,{children:"Bug Fix"})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11767",children:"Issue #11767"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11781",children:"PR #11781 - Merged"})]}),(0,i.jsxs)(n.p,{children:["In Argo Workflow, when authoring a workflow template, the placeholder in the form ",(0,i.jsx)(n.code,{children:"{{parameter}}"})," did not undergo validation when spaces were added, such as ",(0,i.jsx)(n.code,{children:"{{ parameter }}"}),".\nThe root cause was the internal validation code not trimming spaces before and after the parameter. By adding the trim function to remove spaces, I resolved this issue. This contribution also rectified other placeholder content that previously bypassed validation."]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Development Activities"})}),"\n"]}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Contributing to the Argo Workflow OSS Common Repo"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/22",children:"PR #22 - Merged"})}),(0,i.jsx)(n.p,{children:"I undertook a preliminary exercise for multiple people to contribute to the Argo Workflow. We simultaneously modified new and existing documents with other participants, learning the importance of Git commands and the process of rebasing."}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Creating a Web Server with Dockerfile"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/6",children:"PR #6 - Merged"})}),(0,i.jsx)(n.p,{children:"This exercise was about creating a Dockerfile that communicates with a local 8080 server and makes it accessible via localhost:8080.\nWe simply crafted a Python server using Flask, and through the Dockerfile, we set up the environment, initiated the server, and connected the port, making the server accessible externally via Docker commands."}),(0,i.jsx)(n.hr,{})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-8",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Post-Participation Review","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"While I had participated in the open-source contribution academy before, I was especially satisfied with the program, members, and content of this academy."}),"\n",(0,i.jsx)(n.li,{children:"It's not easy to understand the source code and start contributing in a short time, but it was an astonishing experience to be able to start contributing, even if it was a minor contribution."}),"\n",(0,i.jsx)(n.li,{children:"I deeply felt that the concentrated care from the mentor and the passion of other participants were genuinely helpful."}),"\n",(0,i.jsx)(n.li,{children:"Starting alone, I might have quickly given up and forgotten the content, but the experience was so different when progressing with others."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Future Plans","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I plan to continue contributing to Argo Workflow and may even start contributing to other open-source projects."}),"\n",(0,i.jsx)(n.li,{children:"Especially now that I have learned how to approach and start with an open source I am interested in, I believe it will be a bit smoother as long as I have the passion."}),"\n",(0,i.jsx)(n.li,{children:"I will actively promote the fun of contributing to open source to others and confidently recommend it."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-7",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["shmruin"]}),"\n",(0,i.jsxs)(n.h3,{id:"9-dahae-ahn",children:["9. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/dahye-ahn-223244234/",children:"DaHae Ahn"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-8",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Document modification"})," The ",(0,i.jsx)(n.a,{href:"https://argoproj.github.io/argo-workflows/running-locally/",children:"running-locally"})," part of the official document is not intuitive for people who are new to Dev-container and Makefile, and is broken.\nThere were links, so I uploaded pr ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11405",children:"#11405"})," and contributed to editing the official document."]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Issue Contribution"})," Although ",(0,i.jsx)(n.code,{children:"incomplete"}),", this is an issue where secret information can be exposed through commands such as echo within Argo-workflows workflows or Pods within workflows [#8685](",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/",children:"https://github.com/argoproj/"})," argo-workflows/issues/8685), so I tried to solve it."]}),(0,i.jsxs)(n.p,{children:["I invested about 3 hours a day for 4 days, for a total of 12 hours, on this issue, but I have not yet been able to resolve it. (",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/commit/35866a599de80c02a950c52e800e69fc894d5b80",children:"Intermediate commit"}),")"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["We added ",(0,i.jsx)(n.code,{children:"ARGO_HIDE_SECRETS"}),", an environment variable that can be injected when running Argo-workflows, across a total of 11 files, and set the option to ",(0,i.jsx)(n.code,{children:"true"})," by default.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The above environment variables can be entered from the command line or added as settings when running Argo-workflows."}),"\n",(0,i.jsxs)(n.li,{children:["If you set ",(0,i.jsx)(n.code,{children:"ARGO_HIDE_SECRETS=false"}),', "You are running with logging include secrets. Be careful." A log saying was recorded.']}),"\n",(0,i.jsxs)(n.li,{children:["If information corresponding to Secret is included in the workflow or pod log, the code has been modified to mask SecretValue.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We wrote test code and verified that the above function works as intended."}),"\n",(0,i.jsxs)(n.li,{children:["However, since the above function did not work as intended, I started exploring the process of recording logs. I found out that the ",(0,i.jsx)(n.a,{href:"https://github.com/sirupsen/logrus",children:"logrus"})," library used in the Go language uses io.Writer from the ",(0,i.jsx)(n.a,{href:"https://pkg.go.dev/io",children:"io"})," package. ."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Assignment Performance"})," For the Argo-workflows team, the mentor created the OSS-Argo-workflows repository and assigned several tasks."]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"In the actual Argo-workflows repo, I learned through assignments how to upload a PR by following the principles (presigned commit, gpg check) that must be followed when uploading a PR, and how to resolve git conflicts."}),"\n",(0,i.jsxs)(n.li,{children:["In order to upload pr from the actual Argo-workflows repo, modify the code and check whether Argo-workflows is working properly, you must run Argo-workflows with a Dev Container in the local environment.\n-Our team was given the task of carrying out this process ourselves, and along the way, we helped each other with members who had difficulty performing it. I summarized how to perform the method in a blog post and shared it with my team members.",(0,i.jsx)(n.a,{href:"https://aimb.tistory.com/317",children:"blog"})]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-9",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"While participating in the open source contributionthon, I met amazing mentors and team members. We met offline every week, shared issues we had contributed to, and made presentations that were helpful to our work in turns every week."}),"\n",(0,i.jsx)(n.p,{children:"Also, at the last minute, we created an ‘Issue Hackathon’ where we split into groups to focus on solving issues. As a result, more than 4 PRs were merged from the Argo-workflows team itself, and I was able to focus my time on one issue and dig deep into open source."}),"\n",(0,i.jsx)(n.p,{children:"Since I was considering a career developing in the Go language, it was a really valuable experience to see and modify production-level Go code. It makes me wonder if I could belong to the same group as these hard-working people."}),"\n",(0,i.jsx)(n.p,{children:"Even after Masters is over, I plan to dig into the issues I was trying to solve above until the end, and I plan to upload one more development pr."}),"\n",(0,i.jsx)(n.p,{children:"And if I get the chance, I would like to participate in the 2024 Open Source Contribution Thon."}),"\n",(0,i.jsx)(n.p,{children:"Thank you for providing a great opportunity and venue."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-8",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["da-head0"]}),"\n",(0,i.jsx)(n.h3,{id:"10-jiwan-ahn",children:"10. JiWan Ahn"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-9",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"1. Open Source's first contribution"})}),(0,i.jsxs)(n.p,{children:["For the first time, I made a documented contribution to ArgoWorkflows. We've fixed the parts on the official site where there's room to confuse whether it's an image or a video, so that users know it's definitely a video.\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11755",children:"docs: modify demo image in intermediate-inputs.md #11755"})]}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. Learn how to contribute to open source by watching other members' activities"})}),(0,i.jsx)(n.p,{children:"Through this Open Source Country View Line Academy, I learned how to contribute to open source and how to find issues. The summary is as follows."}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"There are many issues than the main logic, or UI parts, or UI parts, or UI parts."}),"\n",(0,i.jsx)(n.li,{children:"There are many issues that can contribute to the open source sufficiently, even if you are a professional knowledge of the open source or a practitioner in another field (ex. UI issue)"}),"\n",(0,i.jsx)(n.li,{children:"When you want to contribute, you first comment that you want to solve this issue directly to the issue and then start working."}),"\n",(0,i.jsx)(n.li,{children:"This part was a little strange, but in the case of Argo Workflow, it was a little strange that the person in charge was assigned when making a contribution. Something I don't know? Or, it seems to assign a person in charge when you feel unfamiliar."}),"\n",(0,i.jsx)(n.li,{children:"There are many different people. Some people write just one line, and some people write very kindly comments."}),"\n"]}),(0,i.jsx)(n.p,{children:"I learned how to contribute directly to the issue by looking at other members' issue hackathons. In particular, I found the issue of \"Pagination\" very interesting among other members' issues.\nI didn't notice when I was using argo workflow, but I realized that it was possible to contribute to places that could pass by by catching that page-nation is inconsistent and making issues."}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. Development container construction"})}),(0,i.jsx)(n.p,{children:"Personally, I set up the development environment by flying devcontainer myself. In fact, there were countless errors in the process, and I could imagine that other developers would come and squeeze their brains together if there was a bug in practice."}),(0,i.jsx)(n.p,{children:"I found out that when you solve dependency issues and later someone else makes an issue on my project, you use development containers to ensure you're working in the same environment,\nand I thought I'd have to use development containers in other projects I'm working on (discord bot-related projects)."}),(0,i.jsx)(n.p,{children:"After the interim report, rather than changing my mind a little and feeling intimidated, I wanted to take the opportunity to overhear how other current employees operate the service in practice.\nIn fact, mentees presented various topics, and I was able to hear interesting topics such as load tests and explanations about ebpf in the company. I think it was a very valuable presentation that was hard to hear while attending school."}),(0,i.jsx)(n.hr,{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Mastering the Verified Commit method using GPG Sign and uploading the introduction to Team GitHub"})}),(0,i.jsx)(n.p,{children:"Until now, I've been committing without a separate GPG Key, but in the process of uploading the member introduction, I checked the DCObot and GPG and kept getting blocked,\nso I learned how to create a Verified commit and uploaded the introduction to Team GitHub Repo. In the process, I solved it with the help of the same team member while constantly stopping whenever I committed."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/49",children:"docs: 안지완 프로필 업데이트"})})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-10",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"In fact, until I wrote the interim report, this activity was too high for my level and others were so good that I felt intimidated by myself, but thanks to the mentor's individual counseling and encouragement, I have since tried to participate in the regular meeting harder."}),"\n",(0,i.jsx)(n.p,{children:"I saw a lot of issues in Argo Workflow and looked for it to contribute to anything, but I couldn't touch it because it was so complicated and I didn't know the Go language.\nInstead, I felt like I entered the world of open source by looking at other people's contributions, even though I may not be able to contribute directly."}),"\n",(0,i.jsx)(n.p,{children:'Another person\'s most memorable contribution was "Page Nation." I was impressed to see that some parts of Argo Workflow are page-nations, some parts are not,\nand some parts are not title-free, but you found a problem of consistency in the UI, and you found a team member in the issue hackathon to solve this problem.'}),"\n",(0,i.jsx)(n.p,{children:"When I was looking for something to contribute, I tried to find issues related to logic, but it was too difficult and I couldn't figure out how it worked, but I can't believe it can contribute like that…I thought that I didn't have to be so scared of contributions than I thought."}),"\n",(0,i.jsx)(n.p,{children:"As everyone else, including you, is an incumbent and is very talented, I learned a lot from going to the meeting.\nYou can see the differences between theory and practice, how workflows are being used in practice, especially why the really universal airflow that I'm studying these days isn't being used very much in practice."}),"\n",(0,i.jsx)(n.p,{children:"To be honest, as I participated in open-source competition, I also have a desire to contribute at least one issue.\nAs there is not much time left, my plan is to contribute at least one small issue before the end of the activity, and now the semester is waiting, so I want to have as much time to learn as possible to go to regular meetings and learn even if the semester begins."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-9",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["synoti21"]}),"\n",(0,i.jsxs)(n.h3,{id:"11-yoonwoo-you",children:["11. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/yunwoo-yu-65095b263/",children:"YoonWoo You"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-10",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"1. Create a beginner's dockerfile"}),"\n",(0,i.jsx)(c(),{alt:"task1",placeholder:"blur",src:et.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Create your own web service, build an image via dockerfile, and run a container."}),"\n",(0,i.jsx)(n.li,{children:"Build your service using a framework and language of your choice, I used Nest.js."}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. Learn the Nest.js framework"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/yunwoo-yu/nest-board-app",children:"Nest.js Learning Repository"})}),"\n",(0,i.jsx)(n.li,{children:"Since I only knew the front end, I quickly learned to create a simple API service using the"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"3. PR after creating the dockerfile"}),"\n",(0,i.jsx)(c(),{alt:"task2",placeholder:"blur",src:el.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I created a docker file to build the image, verified that the service is working, and raised a PR, but the build test of the github action fails."}),"\n",(0,i.jsx)(n.li,{children:"Remove the --production option and it passes the test, but the image is not optimised. Ask your mentor for advice"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"task3",placeholder:"blur",src:ea.Z})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Start troubleshooting based on your mentor's feedback"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"4. Trouble Shooting"}),"\n",(0,i.jsx)(c(),{alt:"task4-1",placeholder:"blur",src:ec.Z}),"\n",(0,i.jsx)(c(),{alt:"task4-2",placeholder:"blur",src:eh.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I tried to install node_modules for production only to reduce the size when creating images with dokerfile, but it didn't pass the github action."}),"\n",(0,i.jsx)(n.li,{children:"After a lot of shovelling, I realised that a module called nest-cli is required for nest build, but it was in the devdependency, so I changed it and it worked. (My mentor gave me a hint, but I didn't understand and shovelled it in)"}),"\n",(0,i.jsx)(n.li,{children:"The reason I was confused was that I had nest-cli installed globally on my MacBook."}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"5. Open source contributor activity"}),"\n",(0,i.jsx)(n.strong,{children:"[UI: The position sticky on the workflow toolbar is not working]"})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fixed a bug where the position of the toolbar when selecting a checkbox in the workflows-list was not fixed at the top."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11442",children:"Read the issue"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11444",children:"Read the PR"})}),"\n"]}),(0,i.jsxs)(n.p,{children:["[before]\n",(0,i.jsx)(c(),{alt:"before1",placeholder:"blur",src:ed.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The top toolbar was not visible when checkboxes were selected and scrolling."}),"\n",(0,i.jsxs)(n.li,{children:["Fixed an issue with the existing ",(0,i.jsx)(n.code,{children:"position : sticky"})," not being applied by changing it to ",(0,i.jsx)(n.code,{children:"position : fixed"}),"."]}),"\n"]}),(0,i.jsxs)(n.p,{children:["[after]\n",(0,i.jsx)(c(),{alt:"after1",placeholder:"blur",src:eu.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"After checking a checkbox, you can pin the toolbar to the top of the scroll to fire events for that list without having to scroll further."}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[UI - show history about completed runs in each cron workflow]"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Work with a good improvement found by a Uijeong Issue to add a list to the ",(0,i.jsx)(n.code,{children:"cron-workflows-detail"})," component to view the history of a given workflow."]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"Read the issue"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"Read the PR"})}),"\n"]}),(0,i.jsxs)(n.p,{children:["[before]\n",(0,i.jsx)(c(),{alt:"before2",placeholder:"blur",src:ep.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["There was nothing on the existing ",(0,i.jsx)(n.code,{children:"cron-workflows-detail"})," page, but the"]}),"\n"]}),(0,i.jsxs)(n.p,{children:["[after]\n",(0,i.jsx)(c(),{alt:"after2-1",placeholder:"blur",src:ex.Z}),"\n",(0,i.jsx)(c(),{alt:"after2-2",placeholder:"blur",src:ej.Z})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Added a history ",(0,i.jsx)(n.code,{children:"workflows"})," to the corresponding ",(0,i.jsx)(n.code,{children:"cron-workflows"})," and an example of when there is no history."]}),"\n",(0,i.jsx)(n.li,{children:"This PR is still under verification"}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-11",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"It was a great experience."}),"\n",(0,i.jsx)(n.p,{children:"Unfortunately, when I got a job, I became busy and lacked knowledge of server and DevOps, so I didn't participate in many contributor activities or offline gatherings."}),"\n",(0,i.jsx)(n.p,{children:"However, I will not give up and try to contribute more to argoWorkflow by doing more front-end contributions and studying server side as well!"}),"\n",(0,i.jsx)(n.p,{children:"Thank you for making such a good activity and thank you to the mentors and mentees for helping me grow step by step even though I'm a beginner \uD83D\uDC4D"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-10",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["yunwoo-yu"]}),"\n",(0,i.jsx)(n.h3,{id:"12-byeonggon-lee",children:"12. ByeongGon Lee"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-11",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Participate in the launching ceremony"}),"\n",(0,i.jsxs)(n.li,{children:["K8s learning","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Learn Operator concept"}),"\n",(0,i.jsx)(n.li,{children:"Helm learning"}),"\n",(0,i.jsx)(n.li,{children:"Learning CNI concepts"}),"\n",(0,i.jsx)(n.li,{children:"Learning Service Mesh concepts"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Learn Argo Workflows","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Learn basic usage","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoproj.github.io/argo-workflows/workflow-concepts/",children:"https://argoproj.github.io/argo-workflows/workflow-concepts/"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=kxl6wYd5i2g",children:"https://www.youtube.com/watch?v=kxl6wYd5i2g"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Learn skills around you","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"DevContainer learning"}),"\n",(0,i.jsx)(n.li,{children:"Nix Learning"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://nixos.org/manual/nixos/stable/",children:"https://nixos.org/manual/nixos/stable/"})}),"\n",(0,i.jsx)(n.li,{children:"Learning MinIO"}),"\n",(0,i.jsx)(n.li,{children:"Learn KeyCloak"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Argo Workflows contribution ‘bug fix’","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Create issue related to DevContainer malfunction ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11439",children:"https://github.com/argoproj/argo-workflows/issues/11439"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Issue with /etc/hosts entries being deleted when container restarts"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["DevContainer malfunction resolved PR created and merge completed ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11440",children:"https://github.com/argoproj/argo-workflows/pull/11440"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Solved by adding —add-host option to runArgs in devcontainer.json"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.hr,{}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Learn technologies around Argo Workflows","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Install and use NixOS based on what you have learned"}),"\n",(0,i.jsx)(n.li,{children:"Research on Argo CD, Argo Events, and Argo Rollout"}),"\n",(0,i.jsxs)(n.li,{children:["Learn Keycloak","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Argo Workflows supports Keycloak integration, so I became curious and investigated Keycloak."}),"\n",(0,i.jsx)(n.li,{children:"Learn about the differences between OAuth2 and OIDC"}),"\n",(0,i.jsx)(n.li,{children:"Learn about Keycloak concepts\n-Role\n-Ream\n-Client"}),"\n",(0,i.jsx)(n.li,{children:"Learn how to set up Keycloak"}),"\n",(0,i.jsx)(n.li,{children:"Learn about Keycloak API and integration methods"}),"\n",(0,i.jsxs)(n.li,{children:["Study Keycloak official documentation","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.keycloak.org/docs/latest/securing_apps/index.html",children:"https://www.keycloak.org/docs/latest/securing_apps/index.html"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html",children:"https://www.keycloak.org/docs-api/22.0.1/rest-api/index.html"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Practice installing and using Keycloak yourself"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-12",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"It was great to be motivated not only to contribute to open source but also to learn about new technologies through this Contribution Academy.\nIt wasn't easy to participate while I was busy at work, but my long-term goal is not only to contribute to Argo Workflows in this year's contribution, but also in future contributions for the next few years.\nMy future plans are to build not only Argo Workflows, but also other Argo Projects and apply them to my personal toy project, as well as to study more about K8s."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-11",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["binkoni"]}),"\n",(0,i.jsxs)(n.h3,{id:"13-euiju-lee",children:["13. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/euijoolee3233",children:"EuiJu Lee"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-12",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),"\nlint test\n",(0,i.jsx)(n.strong,{children:"1. how to use Git & Commit, PR rules"})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Tasked with mastering basic Git usage and sending strict commits and pull requests for contributions."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["In the official Argo Workflow project, it was helpful to use the ",(0,i.jsx)(n.strong,{children:"Issue Template"})," and send a PR for the issue you want to contribute to, and it was also an opportunity to learn about the existence of the Issue Template."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"It was an opportunity to indirectly experience the elements essential for future contributions."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://flank.github.io/flank/pr_titles/",children:"PR naming convention"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/apps/dco",children:"DCO Bot Check"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg",children:"GPG Commit"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.conventionalcommits.org/en/v1.0.0/",children:"Commit Message convention"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword",children:"Link issues and PR"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Issue creation - Member profile update - PR - Review - Merge process"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"menberprofile1",placeholder:"blur",src:eg.Z})}),"\n"]}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"2. Participate in a special beginner class"})," - ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground",children:"Repository for beginner special class missions(container-playground)"})})," - The purpose was to help people who are unfamiliar with Docker or Kubernetes or who are new to it."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"class1",placeholder:"blur",src:em.Z})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Learn about the need for Docker Image optimization while performing tasks presented by a mentor"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Since it is a process of stacking certain packages and static files by layer from the From clause, we realized that optimization is essential because the Docker image can become heavy and have a negative impact on performance improvement."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Mission"}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"❗️objective❗️"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"Create your own web service and write a Docker file that can be containerized."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"To pass the assignment, please be sure to follow the instructions below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• Directory and file placement"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Be sure to create your own github account directory for your own service and write it there."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • The `Dockerfile` must be located at the top of your directory. (If this condition is not achieved, CI will fail.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • As long as it is under your own directory, you can freely write the rest of the files except for the location of `Dockerfile`."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • However, the image must be built successfully when you execute the command `docker build -t [image name] .` at the top of your directory."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• Behavior of built images"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Your web service must operate on port 8080."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • The built image must be serviced without problems when run with `docker run -d -p [forwarding port number]:8080 [image name]` without any additional parameters."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• Web service development language and service structure"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • It doesn’t matter which language or framework you prefer."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • It doesn't matter if you create a simple API service with no UI or design."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • However, you must create two required APIs. (I don't care about the response value.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 1. /api/v1/[your github account]"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 2. /healthcheck"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• (Optional) It would be better to optimize the Docker image.([참고](https://thearchivelog.dev/article/optimize-docker-image/))"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"• [How to link PR and issues using keywords](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an Please refer to -issue-using-a-keyword) to connect the issue and PR. (Manual connection x)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"❗️Note❗️"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"•It would be a good idea to refer to the documents below to understand Docker concepts and write a Dockerfile."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • [Official documentation for creating a Dockerfile](https://docs.docker.com/engine/reference/builder/)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • [How to use Docker for beginners](https://mysetting.io/slides/xxj85vnvey) (Content related to Docker Toolbox has been deprecated)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"•To raise PR and merge, please refer to the points below."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Since you do not have permission to create or push branches in the repo, you must fork and then work on it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Please refer to [PR's naming convention](https://flank.github.io/flank/pr_titles/)."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • [DCO](https://github.com/apps/dco) Please commit while referring to the conditions for passing the bot's check."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Please understand how to commit using [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg) and create a signed commit."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • It would be good if [Commit Message Convention](https://www.conventionalcommits.org/en/v1.0.0/) could also be applied. Even if you don't have to follow it, please avoid making commit messages that are too meaningless. (Optional)```"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})})]})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Having previous experience with the Python-based Django framework, I wrote a Docker file that creates a Django REST API."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["I sent out a PR, but was pointed out a ",(0,i.jsx)(n.strong,{children:"security issue"})," or an error in ",(0,i.jsx)(n.strong,{children:"unnecessary package import syntax"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"review1",placeholder:"blur",src:ew.Z}),"\n",(0,i.jsx)(c(),{alt:"review1",placeholder:"blur",src:ef.Z})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["This is the first time I learned that ",(0,i.jsx)(n.strong,{children:"SECRET_KEY"})," is exposed in the settings.py code of the Django project, and I will take the time to think about how to solve this security issue."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"We created a .json file containing the secret key and proceeded to refer to the json file in settings.py."}),"\n",(0,i.jsxs)(n.li,{children:["Since the secret.json file cannot be uploaded to Commit, I learned how to ignore the json file through ",(0,i.jsx)(n.strong,{children:".gitignore"}),", and was able to ignore unnecessary files created after executing certain commands such as dbsqlite3."]}),"\n",(0,i.jsx)(n.li,{children:"It was an experience that made me realize that several considerations are needed to upload locally developed results to a Git project."}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. Argo Workflow Contributor"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["While looking into Argo Workflow, I came across the Argo Workflow Slack channel marked ",(0,i.jsx)(n.strong,{children:"Deprecated"})," in the ",(0,i.jsx)(n.strong,{children:"Argo Workflow - Contact - Help"})," field."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["I thought it was a minor ",(0,i.jsx)(n.strong,{children:"UI Issue"}),", but I thought it was an opportunity to check what language the UI is displayed in and how it was developed, so I raised an issue and submitted a PR."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"slack11",placeholder:"blur",src:ek.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Created ",(0,i.jsx)(n.strong,{children:"Issue"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11615",children:"UI: non-existent Slack Workspace link on help page Issue"})})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue1",placeholder:"blur",src:ey.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"When I created an issue, the Maintainer of the Argo project quickly left a comment."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"I randomly tried to fix it with the CNCF Argo Channel link, but I received a comment from the maintainer asking me to update it with a different link."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Created ",(0,i.jsx)(n.strong,{children:"PR"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11627",children:"fix: deprecated Link(Help-Contact) Issue"})})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue2",placeholder:"blur",src:eb.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Argo Workflow had a UI based on React, and the directories were arranged by component, making it easy to analyze the code."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"I didn't pass the DCO bot test because I accidentally omitted the Signed-off option during Commit"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["but I learned about the ability to revert previous commits (",(0,i.jsx)(n.strong,{children:"Rebase"}),") or merge multiple unnecessary commits into one (",(0,i.jsx)(n.strong,{children:"Squash"}),") in GIt. And I returned the previous commit and committed it with ",(0,i.jsx)(n.code,{children:'git commit -S -s -m "Commit Message"'}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"I looked up what the comment ‘LGTM’ meant, and on Google, I used the tag LGTM to express my opinion. 'Looks Good To Me'. In other words, it was a rewarding experience because it meant it looked good."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"The process of finding bugs or modifying the UI is important, but I think the most important thing is the process of performing contributions according to the rules set by the Argo Workflow ecosystem."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Participating in Argo Workflow Hackerton (Argo workflow - Hackathon held within the OSSCA team)"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Pull Request(Merged) :"})," ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"feat: Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Issue :"})," ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Search by name for WorkflowTemplates in UI"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Hackathon activity period"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"1st Hackathon (Hackathon Group C) : 23.08.16 - 23.08.20"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"2st Hackathon (Hackathon Group C) : 23.08.20 - 23.08.27"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"hack1",placeholder:"blur",src:ev.Z}),"\n",(0,i.jsx)(c(),{alt:"hack2",placeholder:"blur",src:eI.Z})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Issue content"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"When there are a large number of templates in a cluster, it is good to search by name, but scrolling through all the templates is always inconvenient due to the lack of a search function."}),"\n",(0,i.jsx)(n.li,{children:"It was thought that the Argo Workflow UI needed a function to filter the results of workflow templates by name, so the issue was adopted as a result of a group meeting."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Role"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Front-End","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Creating a search field (Bar) in Argo workflow Template UI"}),"\n",(0,i.jsx)(n.li,{children:"Analyze .get logic to analyze where the Name Pattern (Like search) is sent"}),"\n",(0,i.jsx)(n.li,{children:"Modify workflow-template-filter.tsx and workflow-template-list.tsx in the workflow-template component directory."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Meeting details"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The meeting is held through the Slack hackathon channel, where opinions and information are shared every day."}),"\n",(0,i.jsx)(n.li,{children:"1st Meeting details"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"1. name search function (backend)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"2. name search function (frontend)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search ui"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add search sidebar (name, label)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add name search ui"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"3. pagenation (frontend)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • WorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • pagination based on name"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • ClusterWorkflowTemplate page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add pagination"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • CronWorkflow page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add pagination"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"4. Write test code"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - name search (LIKE search)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" - Need more analysis on what test code should be written"})})]})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"2nd discussion content"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"1st offline meeting"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"hack3",placeholder:"blur",src:eA.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"1. Co-commit method"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Clone the repository https://github.com/ArgoWorkflows-OSS/argo-workflows locally."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • We create a branch in the repository for our team to work on. (`master` vs `release-3.4.10`)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Work on the functions you are responsible for in the corresponding branch of the repository. (Commit by carefully following the commit rules for raising PR.)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • When everyone's work is completed, 1 out of 3 people will send out a PR according to the PR template."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • All 3 people can be contributors"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"2. Since it is a hackathon and there is a set period, we decided to first implement the workflow-template name filter, which we think is the main one among workflow-template, cluster-workflow, and cron-workflow, send a PR, and move on once the maintainer merges it."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Roles for each part"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Back-End"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server.go"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Name filtering and pagination recalculation"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Front-End :"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workfflow-template-filter.tsx"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add Name search UI"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Receiving and filtering the Name argument"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template-list.tsx"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Add Name state"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Pass name to userEffect list"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow-template.tsx, Utils.tsx"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Passing the Name argument"})})]})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"3rd discussion details"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"2nd offline meeting"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"hack4",placeholder:"blur",src:eC.Z})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 1. Offline Meeting Meeting Contents"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • An opinion that even cases where there is no namespace should be included in the filter. (Insufficient grounds to say to eliminate namespace - Other sites (Kubernetes Dashboard, OpenShift, Argo CD, etc.) also provide namespace without namespace)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Thoughts on whether it is possible to import and apply the logic used in continue and whether continue can be maintained as is even with custom results."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • After analyzing the continue logic until Wednesday night, if it is concluded that pagination using continue is not possible, upload a question in the issue comment."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Front-end pagination (data is not reloaded, the method used in argocd) vs. server-side pagination (pagination after checking the entire list each time, will the load be okay?)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • If server-side caching is implemented, is there a place to store it?"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 2. I decided to do a full K8s search by applying only the namespace and label every time I turned the page."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 3. Additional logic implemented in offset-based pagination method"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • The part that didn't work"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • If you perform a filtered search after clicking the next page button, no data appears even if there are search results."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • If you increase the number of pagination after clicking the next page button, the search results do not display properly."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • What changed"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • As the continue value is updated on the server, when increasing the number of pages or applying filtering, there is a problem with pagination based on the continue value already set on the server."})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • A method of changing the continue value to be passed from the front was adopted ( When increasing the number of pages or applying filtering, set continue back to 0)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 4. Pagination Test"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • workflow_template_server_test.go passed"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • (14 workflow templates registered)"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Normal : UI workflow template first page"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Normal : when workflow template page limit is 5, 10, 50"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Workflow template page Add workflow template on page 1 and move to page 2"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Workflow template page Delete the workflow template from page 1 and move to page 2"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Test the above with `name pattern` filtering search"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • Search without name pattern and then re-search by adding name pattern"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" • After searching including the name pattern, deleting the name pattern and searching again"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" 5. Create PR"})})]})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Like filter (Name Pattern) implementation"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"ex) Workflow-template starting with sp can be searched"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"filter1",placeholder:"blur",src:eP.Z})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Result"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"filter2",placeholder:"blur",src:eS.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The implementation was a success, and we plan to modify the previously discussed cluster-template and cron-template components."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"5. Learning outside of contribution activities"})," - Completion of Google Kubernetes Study Jam training - ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://www.cloudskillsboost.google/public_profiles/7f855d64-3f2e-432a-9763-fde644b6af4b",children:"Badge"})})," - Architecting with Google Kubernetes Engine: Foundations\nEarned 7월 18, 2023 EDT - Architecting with Google Kubernetes Engine: Workloads\nEarned 7월 26, 2023 EDT - Architecting with Google Kubernetes Engine: Production\nEarned 8월 4, 2023 EDT"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["The organized contents are recorded on a personal blog (velog)\n",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@euijoo3233/series/GCP",children:"euijoo's Velog GCP Series"})})]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-13",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Post-Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Before the Academy, I only had knowledge of Argo CD, but afterward, I was able to research and analyze Argo Workflow projects and reach a level where I could think about how to utilize its powerful functions."}),"\n",(0,i.jsx)(n.li,{children:"When making my first contribution, I created an issue, communicated with the maintainers, modified the requested items, and created a PR, so I quickly received comments and achieved the result of merging."}),"\n",(0,i.jsx)(n.li,{children:"It may be a minor issue, but it was an experience that made me feel that a holistic analysis of the part I wanted to contribute was necessary."}),"\n",(0,i.jsx)(n.li,{children:"Not only this, it was an opportunity to analyze how the Argo workflow interacts internally by conducting an issue hackathon within the team, analyzing not only the UI, i.e. the front part, but also the logic of the back end part."}),"\n",(0,i.jsx)(n.li,{children:"Our group's body was a big issue, so we were able to reach our goal by holding online as well as offline meetings accordingly, and since the two members were working in the field, they kindly explained difficult parts, so it was a useful experience."}),"\n",(0,i.jsx)(n.li,{children:"I have a desire to continue communicating with the hackathon team members or the entire team."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Future plans"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Since the OSSCA period has not yet ended, we plan to continue exploring issues (Cluster-workflow-template, Cron-workflow, etc.), discover typos or translation errors in the Argo Workflow document, and continue to submit PRs."}),"\n",(0,i.jsx)(n.li,{children:"In addition, after the OSSCA period ends, we plan to portfolioize the contents that have been organized so far."}),"\n",(0,i.jsx)(n.li,{children:"As a toy project, we plan to complete data ETL work using Argo Workflow, which is currently in progress."}),"\n",(0,i.jsx)(n.li,{children:"If I get a job, I hope to create many insights by introducing many of Argo Workflow's functions into my field."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-12",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["Leeeuijooo"]}),"\n",(0,i.jsxs)(n.h3,{id:"14-euijung-geon",children:["14. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/jeon01/",children:"EuiJung Geon"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-13",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Records about Contribution"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/series/2023-OSSCA",children:"Series | 2023 OSSCA - ddubi.log"})}),(0,i.jsx)(n.p,{children:"-> Unfortunately It is not translated.."}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Various tasks"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"The task regarding issue/commit/PR in Github"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"mission1",placeholder:"blur",src:eD.Z})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Select ",(0,i.jsx)(n.code,{children:"the profile update"})," issue, fork ArgoWorkflows-OSS repository, and commit it by adding ",(0,i.jsx)(n.code,{children:"users.md"})," and ",(0,i.jsx)(n.code,{children:"[name].md"})," under ",(0,i.jsx)(n.code,{children:"docs/user"})," in the repository. After that, link the issue and submit a PR."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS/pull/19",children:"docs : update UiJeong Profile by juijeong8324 \xb7 Pull Request #19 \xb7 ArgoWorkflows-OSS/ArgoWorkflows-OSS"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-2",children:"records: Github에서 issue/commit/PR"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Running Locally"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Running Argo workflows locally"}),"\n",(0,i.jsxs)(n.li,{children:["Install ",(0,i.jsx)(n.code,{children:"Linux"})," on ",(0,i.jsx)(n.code,{children:"Windows"})," with wsl2 and run argo workflows using devcontainer cli."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-3",children:"records: Argo Workflows running locally"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-4",children:"records: Argo Workflows running locally - retry"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-5",children:"records: Argo Workflows running locally - final"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-6",children:"records: Argo Workflows running locally - real final"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Special class for Beginners - Create my own service container image"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"mission2",placeholder:"blur",src:eW.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Special class for Beginners"})," is a class for beginners(It's me) who don't know much about Container, kubernetes, argo from Argo-workflows oss team."]}),"\n",(0,i.jsx)(n.li,{children:"The task is creating my own web service, writing dockerfile for containerize the application."}),"\n",(0,i.jsx)(n.li,{children:"You need to understand Dockerfile, docker, images, and containers."}),"\n",(0,i.jsx)(n.li,{children:"In my case, build web server with express and write dockerfile."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/tree/main/juijeong8324",children:"code: About task"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-7",children:"records: 왕초보 특별반 - 1. 나만의 서비스 컨테이너 이미지 제작"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/Docker-dockerfile",children:"records: [Docker] Dockerfile 기본 명령어에 대해 알아보자"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Offline meeting"})}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{align:"left",children:"Date"}),(0,i.jsx)(n.th,{align:"left",children:"Activity"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.07.15"}),(0,i.jsxs)(n.td,{align:"left",children:["- Introduction team ",(0,i.jsx)("br",{})," - (Seminar) Introduction to Argo workflows and mentor’s application examples"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.07.30"}),(0,i.jsxs)(n.td,{align:"left",children:["- Searching and sharing issues of the week ",(0,i.jsx)("br",{})," - I was solving a local running problem. ",(0,i.jsx)("br",{})," - (Seminar) HaeMin's WebRtc, Sunyeong's keyclock and argo worfklows"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.08.13"}),(0,i.jsxs)(n.td,{align:"left",children:["- Receive feedback on Special class of beginners assignment ",(0,i.jsx)("br",{})," - Searching and sharing issues of the week ",(0,i.jsx)("br",{})," - (Seminar) Mentor’s special lecture on history and principles"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{align:"left",children:"2023.08.20"}),(0,i.jsxs)(n.td,{align:"left",children:["- Searching and sharing issues of the week ",(0,i.jsx)("br",{})," - I share `Issue #11131`` ",(0,i.jsx)("br",{})," - (Seminar) DaHae's ‘Platform builder & K6 execution test PoC that allows developers to perform execution tests on their own’"]})]})]})]}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ Searching Issue & Creating Issue"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11131",children:(0,i.jsx)(n.strong,{children:"Issue #11131"})})," ",(0,i.jsx)(n.code,{children:"Fix Bug"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:["Error occurs when ",(0,i.jsx)(n.code,{children:'"'})," in a workflow input parameter fails to escape and is referenced as ",(0,i.jsx)(n.code,{children:"workflow.parameter.json"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:"I dissmiss this issue because of the eeror occured from python environment not argo workflows."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/Argo-Issue11131",children:"records: Argo Workflows - Issue #11131"})}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:(0,i.jsx)(n.strong,{children:"Issue #11706"})})," ",(0,i.jsx)(n.code,{children:"Improve UI"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"issue 11706",placeholder:"blur",src:eN.Z}),"\nAn issue that would like to add a UI that can check the history of each workflow in the cron workflow tab."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-11",children:"records: Argo Workflows - Issue #11706 (인생 처음으로 올린 감격적인 나의 소중한 Issue)"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:"PR #11811"})," Closes"]}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsx)("br",{}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"✅ PR open & merge"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11732",children:(0,i.jsx)(n.strong,{children:"PR #11732"})})," ",(0,i.jsx)(n.code,{children:"docs"})," ",(0,i.jsx)(n.code,{children:"PR Merge"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[PR Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:["PR that modifies the image in the Argo Workflows official document to clearly show that the image in ",(0,i.jsx)(n.strong,{children:"Artifact Visualization"})," is a YouTube video link."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"pr1",placeholder:"blur",src:eR.Z})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://velog.io/@juijeong8324/OSSCA-2023-13",children:"records: Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"result1_1",placeholder:"blur",src:eF.Z}),"\nImage replacement to add a play button to the center of the image"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"result1-2",placeholder:"blur",src:eT.Z}),"\nmerge complete"]}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11811",children:(0,i.jsx)(n.strong,{children:"PR #11811"})})," ",(0,i.jsx)(n.code,{children:"Improve UI"})," ",(0,i.jsx)(n.code,{children:"PR Merge"})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[PR Summary]"})}),"\n",(0,i.jsxs)(n.p,{children:["The PR tries to solve ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11706",children:"Issue #11706"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"pr2",placeholder:"blur",src:eM.Z}),"\nModify to check completed cron-workflow when you click specific cron-workflow at cron workflow page"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"pr2_1",placeholder:"blur",src:eO.Z}),"\nIf it cannot find a completed cron-workflow, it will be display like above"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"[Outcome]"})}),"\n",(0,i.jsx)(n.p,{children:"Merge Complete"}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-14",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Actually DevOps, Infra were unfamiliar fields to me, but through the Argo workflows project, I feel more familiar with the field than before.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I have only been learned to concepts such as Docker, Container, etc. theoretically, but I learned those concepts more easily through hands-on practice, and in addition new things (the existence of wsl...!)."}),"\n",(0,i.jsx)(n.li,{children:"It gave me an opportunity to look back on concepts that I miss (e.g Linux authority and network.)"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Also I had a vague fear of writing an issue, but I was able to overcome that fear by writing it myself."}),"\n",(0,i.jsxs)(n.li,{children:["At last, There are many ways to contribute and I realize it was important to try to contribute step by step.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The first time I focused on issues that I did not sympathize with, due to my personal greed and the idea of learning while solving problems."}),"\n",(0,i.jsx)(n.li,{children:"However I realized regardless of the difficulty of the issue, I needed to understand the repo while solving an issue that I personally sympathized with."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"I look forward to continuing to enjoy contributing to open source!"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Forward Plan"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Step 1"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Time to adapt and learn about Argo Workflows / Simple contribution"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Contribute articles via Repo's TODO"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Focuse on UI improvements"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Step 2"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Focus on template,backend contribution"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"}})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"- Step 3"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:": Write an issue that would be good to solve and then contribute"})})]})}),"\n",(0,i.jsx)(n.p,{children:"Even after the open source contribution ends, the mentor plans to continue meeting regularly, and I have a goal of contributing at least one issue per month to the Argo Workflows repo this semester."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-13",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["juijeong8324"]}),"\n",(0,i.jsx)(n.h3,{id:"15-sungrock-jung",children:"15. SungRock Jung"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-14",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"git/github Getting Started"}),"\n",(0,i.jsx)(n.strong,{children:"issue"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"pr"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"summary"}),": Familiarize yourself with git/github, the core of code shape management in the open source ecosystem.",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail"}),":",(0,i.jsx)(n.br,{}),"\n","Much of the open source world relies on git and github for collaboration.",(0,i.jsx)(n.br,{}),"\n","Therefore, in order to contribute to open source, it is necessary to familiarize yourself with git/github.",(0,i.jsx)(n.br,{}),"\n","Using git/github, it was a hands-on activity to issue issues, follow commit rules, and create PRs."]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"feat: logging for client-side throttling"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"issue"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11387",children:"#11387"}),", ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11402",children:"#11402"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"pr"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11437",children:"#11437"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"summary"}),": fix to figure out faster if user set certain options incorrectly ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail:"})," ",(0,i.jsx)(n.br,{}),"\n","It uses a library called ",(0,i.jsx)(n.code,{children:"client-go"})," to communicate with ",(0,i.jsx)(n.code,{children:"kubernetes"}),".",(0,i.jsx)(n.br,{}),"\n","This library provides options ",(0,i.jsx)(n.code,{children:"--qps"}),", ",(0,i.jsx)(n.code,{children:"-burst"})," for ",(0,i.jsx)(n.code,{children:"request limit"}),".",(0,i.jsx)(n.br,{}),"\n","If this option is set very low, it will cause ",(0,i.jsx)(n.code,{children:"throttling"}),". That's why we have a separate ",(0,i.jsx)(n.code,{children:"log level"})," to inform the user more quickly.",(0,i.jsx)(n.br,{}),"\n","While working on this issue, I learned a lot about ",(0,i.jsx)(n.code,{children:"client-go"}),", especially about ",(0,i.jsx)(n.code,{children:"RoundTrip"}),".",(0,i.jsx)(n.br,{}),"\n","It was a shock when I realized that I could add middleware using ",(0,i.jsx)(n.code,{children:"RoundTrip"})," for any object that respects the ",(0,i.jsx)(n.code,{children:"http request interface"})," provided by golang."]}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"go 1.21 upgrade"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"issue"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11556",children:"#11566"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"pr"}),": ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11601",children:"#11601"})," ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"summary"}),": golang 1.21 ver release에 따른 version upgrade 진행 ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail:"}),"\nAs a lead mentee, I decided it would be better to have a teammate who hasn't contributed yet try to solve the issue rather than me."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue-report1",placeholder:"blur",src:eG.Z})}),"\n",(0,i.jsxs)(n.p,{children:["I shared the issue with my teammate, and I was able to support him in successfully resolving the issue.",(0,i.jsx)(n.br,{}),"\n","We shared our approach to the issue in our regular weekly meeting."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue-report2",placeholder:"blur",src:eZ.Z})}),"\n",(0,i.jsx)(n.p,{children:"On weekdays, we would take questions and answer them separately in a slack channel so that everyone on the team could get experience submitting PRs."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"issue-report3",placeholder:"blur",src:eE.Z})}),"\n",(0,i.jsx)(n.p,{children:"Team members also gained invaluable experience merging PRs."}),"\n"]}),"\n"]}),(0,i.jsx)("br",{}),(0,i.jsxs)(n.ol,{start:"4",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Debugging 설정"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"summary:"})," 팀원의 argo-workflow debugging setting ",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"detail:"})," ",(0,i.jsx)(n.br,{}),"\n","For team members who are new to developing with golang, we had some difficulties setting up the debugging environment, and we worked together to solve it."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"debug-1",placeholder:"blur",src:eK.Z})}),"\n",(0,i.jsx)(n.p,{children:"During this process, I realized that I'm not very good at setting up debugging for apps that are closely related to kubernetes,\nand I realized that I needed to get some help with that."}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-15",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"After"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Participating in OSSA for 13 weeks was a great experience.\nAfter applying 3 times, I was so happy to be part of a project built with my favorite community, CNCF, and my favorite language, Golang."}),"\n",(0,i.jsx)(n.li,{children:"Participating in argo-workflow under the CNCF umbrella through OSSCA and being able to contribute to the ecosystem of CNCF, even in a small way, was a very happy time for me.\nIn particular, I thought it was a good experience for beginners to be able to quickly communicate with maintainers through mentoring, a system operated by argo-workflow."}),"\n",(0,i.jsx)(n.li,{children:"With feedback through argo-workflow's mentoring system, I quickly gained confidence and good experience through PR submission and merge, which I wanted to share with all team members as a lead mentee.\nHelping a team member who was new to open source contributing made me realize how much of a barrier to entry it is for people who are new to it, and it made me think about how to bring beginners into the ecosystem more reliably."}),"\n",(0,i.jsx)(n.li,{children:"In addition to the open source contribution activities, the team members from Developer, DevOps, and SRE roles, the different skills they use in their respective roles, and the sharing of experiences broadened my horizons."}),"\n",(0,i.jsx)(n.li,{children:"If I have the opportunity next year, I would definitely participate in OSSCA and continue my open source contribution activities with various people."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Planning"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Working on this argo-workflows project has made me very interested in the projects in the argo camp.\nBy participating in the project, I was able to identify my shortcomings as a developer, and I plan to improve them.\nEven if ossca ends, I will continue to contribute to open source under the CNCF umbrella.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"argo-workflow"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"shortfalls"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Lack of understanding of kubernetes operators"}),"\n",(0,i.jsx)(n.li,{children:"Lack of frontend knowledge"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future plans"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The UI of argo-workflow is a bit lacking compared to other argo projects, and I'm going to try to improve it based on user feedback."}),"\n",(0,i.jsx)(n.li,{children:"Regarding area/artifact, I would like to extend it to use more storage."}),"\n",(0,i.jsx)(n.li,{children:"Regarding area/plugin, it currently only supports sidecar, but I'd like to make it easier to extend externally implemented plugins with code."}),"\n",(0,i.jsx)(n.li,{children:"Regarding the documentation, I'd like to think about the parts that are difficult for beginners and improve them."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Personal growth"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"shortfalls"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Talking to members from different companies and lacking their own perspective on developing and keeping the service stable."}),"\n",(0,i.jsx)(n.li,{children:"Difficulty communicating to transfer knowledge."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Future plans"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I'm going to study how to organize and speak about the knowledge I want to convey."}),"\n",(0,i.jsx)(n.li,{children:"I'm going to talk to a lot of people, share my thoughts, and try not to get caught up in otherness."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-14",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["Jack-R-lantern"]}),"\n",(0,i.jsx)(n.h3,{id:"16-moonyoung-chae",children:"16. MoonYoung Chae"}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-15",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Multiple Tasks"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Github Issue/Commit/PR Mission","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Learned how to use Github to contribute the ArgoWorkflow which is a large scale of open source community."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/43"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44",children:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/44"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["ArgoWorkflow Running Locally","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Run ArgoWorkflow in local environment"}),"\n",(0,i.jsx)(n.li,{children:"Understanding Argo Workflow Structure, DevContainer, Container-Based Applications, and Makefile Structure"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Make a container image","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Learned Docker File Command, Docker layer structure, optimization and caching"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/16"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23",children:"https://github.com/ArgoWorkflows-OSS/container-playground/pull/23"})}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Issue analysis"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Metric issue analysis","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Analysis of issues that require improvement by many users due to issues with many Github Reactions","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Increased monitoring convenience by adding metric labels"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["As a result of issue analysis, it was discovered that developing the content could cause another problem.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"When adding a metric label, a large amount of metrics are collected, which may cause performance problems due to a large amount of metric traffic flowing to existing users."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Suggest and communicate ways to solve problems by detouring","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Confirm that the monitoring requested by the issue is possible when using a custom metric, and suggest a way to resolve it by bypassing it."}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337",children:"https://github.com/argoproj/argo-workflows/issues/9849#issuecomment-1685227337"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Inquire some ambiguous part in the comment in code for future improvement.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745",children:"https://github.com/argoproj/argo-workflows/pull/8486#discussion_r1306700745"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Issue analysis through issue hackathon"}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Contribute"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Fixed a type of function name and vaiable name","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fixed parts that could cause confusion to other developers"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11604",children:"https://github.com/argoproj/argo-workflows/pull/11604"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11633",children:"https://github.com/argoproj/argo-workflows/pull/11633"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11687",children:"https://github.com/argoproj/argo-workflows/pull/11687"})}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-16",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"I wanted to contribute to a large open source community, but I felt at a loss. It was great to be able to contribute directly through this academy.\nThis was possible because a mentee with a lot of experience in contributing guided me step-by-step to contribute and encouraged me to take on the challenge.\nThrough technical seminars and technical exchanges with other developers, we were able to grow together.\nBecause ArgoWorkflow is a large-scale project, there are many difficult parts to analyze alone, but by sharing opinions with other developers, I was able to solve the problem more quickly.\nSince I have gained some understanding of the ArgoWorkflow project and have gained confidence through my small contribution experience,\nI expect that my next contribution will be easier. Even after this program ends, we plan to contribute on a larger scale by collaborating\nwith other mentees who are interested in ArgoWorkflow."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-15",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["moonyoungCHAE"]}),"\n",(0,i.jsxs)(n.h3,{id:"17-soonyeong-choi",children:["17. ",(0,i.jsx)(n.a,{href:"https://www.linkedin.com/in/sunyeongchoi/",children:"SooNyeong Choi"})]}),"\n",(0,i.jsx)(n.h4,{id:"-personal-activity-report-16",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF3F Personal Activity Report"})}),"\n",(0,i.jsxs)(n.details,{children:[(0,i.jsx)(n.summary,{children:"Collapse/Expand"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11344",children:"Issue #11344"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11662",children:"PR #11662"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsxs)(n.p,{children:["To understand this issue, I first needed to grasp what ",(0,i.jsx)(n.a,{href:"https://argoproj.github.io/argo-workflows/default-workflow-specs",children:"Default Workflows"})," are."]}),(0,i.jsxs)(n.p,{children:["I learned that the ",(0,i.jsx)(n.code,{children:"workflowDefaults"})," field in the ",(0,i.jsx)(n.code,{children:"argo workflows controller configmap"})," allows you to set default values for workflows. Additionally, I discovered that if a workflow already has values for this field, those values take precedence."]}),(0,i.jsxs)(n.p,{children:["For example, after configuring the ",(0,i.jsx)(n.code,{children:"configmap"})," as follows, when you create a Workflow,"]}),(0,i.jsx)(n.pre,{"data-language":"yaml","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"yaml","data-theme":"default",children:[(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"# This file describes the config settings available in the workflow controller configmap"})}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"v1"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"ConfigMap"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"name"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflow-controller-configmap"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"data"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"# Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"workflowDefaults"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" metadata:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" annotations:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" argo: workflows"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" labels:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" foo: bar"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" spec:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" ttlStrategy:"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" secondsAfterSuccess: 5"})}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string)"},children:" parallelism: 3"})})]})}),(0,i.jsxs)(n.p,{children:["it will be automatically created with the values set in the ",(0,i.jsx)(n.code,{children:"workflowDefaults"})," field, like this:"]}),(0,i.jsx)(n.pre,{"data-language":"yaml","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"yaml","data-theme":"default",children:[(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"apiVersion"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"argoproj.io/v1alpha1"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"kind"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Workflow"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"metadata"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"generateName"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"gc-ttl-"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"annotations"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"argo"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"workflows"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"labels"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"foo"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"bar"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"spec"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"ttlStrategy"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"secondsAfterSuccess"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"# Time to live after workflow is successful"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"parallelism"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"3"})]})]})}),(0,i.jsxs)(n.p,{children:["The issue was related to an error occurring when adding the ",(0,i.jsx)(n.code,{children:"volumeClaimTemplates"})," value to ",(0,i.jsx)(n.code,{children:"workflowDefaults"}),", causing errors when creating ",(0,i.jsx)(n.code,{children:"CronWorkflows"})," or ",(0,i.jsx)(n.code,{children:"Workflows"}),"."]}),(0,i.jsxs)(n.p,{children:["The error message indicated, ",(0,i.jsx)(n.code,{children:"does not contain declared merge key: name."})]}),(0,i.jsxs)(n.p,{children:["Upon checking the code, it was found that the error occurred in the ",(0,i.jsx)(n.code,{children:"StrategicMergePatch"})," function, which is related to Kubernetes' ",(0,i.jsx)(n.code,{children:"patch"})," strategy."]}),(0,i.jsx)(n.pre,{"data-language":"go","data-theme":"default",children:(0,i.jsx)(n.code,{"data-language":"go","data-theme":"default",children:(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"VolumeClaimTemplates []apiv1.PersistentVolumeClaim "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"volumeClaimTemplates,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,opt,name=volumeClaimTemplates"`'})]})})}),(0,i.jsxs)(n.p,{children:["The issue arose from the fact that the ",(0,i.jsx)(n.code,{children:"VolumeClaimTemplates"})," type defined in ",(0,i.jsx)(n.code,{children:"Workflows"})," used name as the ",(0,i.jsx)(n.code,{children:"patchMergeKey"}),"."]}),(0,i.jsxs)(n.p,{children:["However, upon inspecting the ",(0,i.jsx)(n.code,{children:"PersistentVolumeClaim"})," type below, it was found that ",(0,i.jsx)(n.code,{children:"name"})," was not present. In other words, the problem occurred because a value was defined as the ",(0,i.jsx)(n.code,{children:"patchMergeKey"})," that was not part of the structure."]}),(0,i.jsx)(n.pre,{"data-language":"go","data-theme":"default",children:(0,i.jsxs)(n.code,{"data-language":"go","data-theme":"default",children:[(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"PersistentVolumeClaim"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"struct"}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.TypeMeta "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:",inline"`'})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// Standard object's metadata."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" metav1.ObjectMeta "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`'})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// spec defines the desired characteristics of a volume requested by a pod author."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" Spec PersistentVolumeClaimSpec "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`'})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// status represents the current information/status of a persistent volume claim."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// Read-only."})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"// +optional"})]}),"\n",(0,i.jsxs)(n.span,{className:"line",children:[(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" Status PersistentVolumeClaimStatus "}),(0,i.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`'})]}),"\n",(0,i.jsx)(n.span,{className:"line",children:(0,i.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsxs)(n.p,{children:["I removed the ",(0,i.jsx)(n.code,{children:"patchMergeKey"})," from ",(0,i.jsx)(n.code,{children:"VolumeClaimTemplates"}),"."]}),(0,i.jsxs)(n.p,{children:["However, the reason ",(0,i.jsx)(n.code,{children:"patchMergeKey"})," was added to ",(0,i.jsx)(n.code,{children:"VolumeClaimTemplates"})," was to maintain consistency with conventions used for ",(0,i.jsx)(n.code,{children:"Volumes"}),"."]}),(0,i.jsx)(n.p,{children:"Since this issue is related to policies, it indeed requires further discussion."}),(0,i.jsx)(n.p,{children:"This was my first PR to the ArgoWorkflows project, and it's great that i was able to identify the cause of an issue that was causing inconvenience for many people."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. Search by name for WorkflowTemplates in UI"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11004",children:"Issue #11004"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11684",children:"PR #11684"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsx)(n.p,{children:"This issue was worked on by a team of three people."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"HackertonC",placeholder:"blur",src:eq.Z})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"WorkflowTemplates"})," do not have a search function based on 'name', so to find a specific ",(0,i.jsx)(n.code,{children:"WorkflowTemplates"}),", you could only search based on ",(0,i.jsx)(n.code,{children:"label"}),"."]}),(0,i.jsx)(n.p,{children:"So, many users were feeling inconvenienced, and it was an issue related to 'feature improvement' that they would like to provide a function to search based on 'name'."}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"namePattern",placeholder:"blur",src:eH.Z})}),(0,i.jsx)(n.p,{children:"We added additional logic to filter the results of WorkflowTemplates retrieved through the Kubernetes API based on their 'name', successfully implementing this feature."}),(0,i.jsx)(n.p,{children:"However, there was one issue."}),(0,i.jsxs)(n.p,{children:["Existing pagination was implemented using Kubernetes' own ",(0,i.jsx)(n.code,{children:"continue"})," value, so if Kubernetes results were custom manipulated like this, Kubernetes pagination could not be used."]}),(0,i.jsxs)(n.p,{children:["We had a lot of concerns about how to solve this, but We solved the problem by applying logic to implement cursor pagination using Kubernetes' ",(0,i.jsx)(n.code,{children:"resourceVersion"}),"."]}),(0,i.jsx)(n.p,{children:"It was so fun to be able to discuss it with others instead of alone."}),(0,i.jsx)(n.p,{children:"I also felt good about providing some really needed functionality to the ArgoWorkflows project."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. A problem that is not initialized when changing the number of page limits"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11702",children:"Issue #11702"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11703",children:"PR #11703"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsxs)(n.p,{children:["While resolving the ",(0,i.jsx)(n.code,{children:"Search by name for WorkflowTemplates in UI"})," issue, i discovered a new pagination bug."]}),(0,i.jsxs)(n.p,{children:["When changing the number of pages, the ",(0,i.jsx)(n.code,{children:"continue"})," value used for pagination was not initialized in the UI, so the data was not displayed properly."]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsxs)(n.p,{children:["I was able to solve the problem by simply modifying the logic to initialize ",(0,i.jsx)(n.code,{children:"offset"})," when a change in page number is detected in the UI code."]}),(0,i.jsx)(n.p,{children:"It was only a one-line code change, but this one line solved a problem that was quite inconvenient."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Pagination may not work correctly for archived workflows"})}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11715",children:"Issue #11715"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11761",children:"PR #11761"})]}),(0,i.jsx)(n.p,{children:"This issue was directly communicated to us by Maintainer @terrytangyuan through Slack."}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(c(),{alt:"Slack",placeholder:"blur",src:ez.Z}),"\n",(0,i.jsx)(c(),{alt:"Github",placeholder:"blur",src:eL.Z})]}),(0,i.jsx)(n.p,{children:"It felt like I was contacted by my favorite celebrity and I was so happy that I almost flew away. I suppressed my happy and excited heart and analyzed the issue."}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Workflows"})," and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," were previously separated into different pages, but starting from the ",(0,i.jsx)(n.code,{children:"master"})," version, ",(0,i.jsx)(n.code,{children:"Workflows"})," and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," are combined into one page, and the logic has been modified to show ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," together if they exist."]}),(0,i.jsxs)(n.p,{children:["However, when ",(0,i.jsx)(n.code,{children:"Workflows"})," and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," were merged into one, a problem occurred with pagination."]}),(0,i.jsxs)(n.p,{children:["The two resources also used completely different pagination. ",(0,i.jsx)(n.code,{children:"Workflows"})," was using the ",(0,i.jsx)(n.code,{children:"continue"})," value, which is Kubernetes' own pagination, and ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," used its own database, so it was using the database to perform pagination using the ",(0,i.jsx)(n.code,{children:"offset"})," method."]}),(0,i.jsxs)(n.p,{children:["However, while passing the ",(0,i.jsx)(n.code,{children:"continue"})," value used in ",(0,i.jsx)(n.code,{children:"Workflows"})," to ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," as is, a problem occurred where ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," was not searched at all."]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsxs)(n.p,{children:["I was able to resolve the issue by referring to the pagination logic that was implemented while resolving the ",(0,i.jsx)(n.code,{children:"Search by name for WorkflowTemplates in UI"})," issue."]}),(0,i.jsx)(n.p,{children:"Since the two resources have no choice but to use different methods of pagination, rather than using pagination before merging the two resources, use a method of first searching the entire resource and merging the two resources and finally applying the pagination logic. I did it."}),(0,i.jsxs)(n.p,{children:["I was able to solve the problem of ",(0,i.jsx)(n.code,{children:"ArchivedWorkflows"})," not being searched, but fetching and merging the entire list every time the page is changed is a performance concern, so i'm thinking about a way to test performance."]}),(0,i.jsx)(n.p,{children:"I plan to switch to front-end pagination if performance testing indicates that it's not working well."}),(0,i.jsx)(n.p,{children:"It was great to be able to solve a critical issue, and I felt proud and fun because I felt like I was contributing properly to the ArgoWorkflows project as a contributor."}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"5. Relocation of Commit Guidelines Information in the Documentation"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/issues/11700",children:"Issue #11700"}),"\n",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows/pull/11701",children:"PR #11701"})]}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Analysis"}),"\n"]}),(0,i.jsx)(n.p,{children:"The ArgoWorkflows project has a README document for developers attempting to contribute."}),(0,i.jsx)(n.p,{children:"However, it does not mention specific guidelines for commits."}),(0,i.jsx)(n.p,{children:"@GeunSam2 mentor mentioned that it was inconvenient when initially attempted to contribute and had difficulty finding commit guidelines."}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Issue Resolution"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(c(),{alt:"ContributingDocs",placeholder:"blur",src:eU.Z})}),(0,i.jsx)(n.p,{children:"Upon hearing this feedback, I made a modification to the contribution README by adding a link to commit guidelines."}),(0,i.jsx)(n.p,{children:"This change aims to make it easier for developers who want to contribute to ArgoWorkflows."}),(0,i.jsx)(n.p,{children:"In this PR, a maintainer provided a code suggestion, which was intriguing and enjoyable for me as I was encountering the code suggestion feature for the first time."})]}),"\n",(0,i.jsx)(n.h4,{id:"-participation-review-17",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Participation Review"})}),"\n",(0,i.jsx)(n.p,{children:"If someone were to ask me what I did best this year, I would confidently say that it was my participation in the ArgoWorkflows project contribution activities."}),"\n",(0,i.jsx)(n.p,{children:"Meeting various developers in the same field, forming a sense of empathy, and engaging in discussions with them was truly enjoyable. Hearing stories about different companies was also quite interesting."}),"\n",(0,i.jsx)(n.p,{children:"During our weekly meetings, it wasn't just about working together; our mentors always conducted insightful seminars. Sundays became genuinely enjoyable, and time flew by."}),"\n",(0,i.jsx)(n.p,{children:"Meeting such capable mentors was a delight. I received advice on the concerns I had as a junior developer, my future direction, and how to study effectively as a developer, which made me happy."}),"\n",(0,i.jsx)(n.p,{children:"I always wanted to try contributing, but I was afraid to tackle such a big project. However, facing these challenges with such great mentees and mentors made my fears disappear."}),"\n",(0,i.jsx)(n.p,{children:"Submitting numerous PRs and communicating with maintainers was also a lot of fun, and it was really satisfying to see my code being incorporated."}),"\n",(0,i.jsx)(n.p,{children:"Thanks to this experience, I gained the confidence to contribute not only to ArgoWorkflows but also to other projects."}),"\n",(0,i.jsx)(n.p,{children:"I have no intention of stopping my contributions after this period ends. I plan to continue contributing to ArgoWorkflows while looking for opportunities to contribute to Kubernetes and Argo CD projects used by my company."}),"\n",(0,i.jsx)(n.h4,{id:"-personal-summary-16",children:(0,i.jsx)(n.strong,{children:"\uD83C\uDF35 Personal Summary"})}),"\n",(0,i.jsx)(eB.Z,{contributers:["sunyeongchoi"]})]})}n.default=(0,r.j)(eY)}},function(e){e.O(0,[376,762,674,774,888,179],function(){return e(e.s=9757)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230715-51ac622a7e050a4d.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230715-51ac622a7e050a4d.js new file mode 100644 index 00000000..452807dd --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230715-51ac622a7e050a4d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[900],{3245:function(e,A,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230715",function(){return n(9899)}])},979:function(e,A,n){"use strict";var i=n(5893);A.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},9899:function(e,A,n){"use strict";n.r(A),n.d(A,{default:function(){return h}});var i=n(5893),t=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),d=n(5675),s=n.n(d),g={src:"/_next/static/media/230715_1.d532efca.jpg",height:4e3,width:3e3,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgABgMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAALAl/8QAHBAAAgICAwAAAAAAAAAAAAAAAQIDBAAGEzJC/9oACAEBAAE/ALG2NDYVDWk4ijHp6Gf/xAAYEQACAwAAAAAAAAAAAAAAAAAAARESQv/aAAgBAgEBPwCs6Z//xAAXEQADAQAAAAAAAAAAAAAAAAAAARFh/9oACAEDAQE/ALiP/9k=",blurWidth:6,blurHeight:8},u={src:"/_next/static/media/230715_2.9c337716.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAAAwEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAALiL/8QAHBAAAgICAwAAAAAAAAAAAAAAAgMBEgQhAAYT/9oACAEBAAE/AA7M5L8dDBsw8nyLUVqU65//xAAYEQACAwAAAAAAAAAAAAAAAAABAgADEf/aAAgBAgEBPwCxmUjDP//EABcRAAMBAAAAAAAAAAAAAAAAAAABEQL/2gAIAQMBAT8Ayk7T/9k=",blurWidth:8,blurHeight:6};let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:A}=Object.assign({},(0,r.ah)(),e.components);return A?(0,i.jsx)(A,{...e,children:(0,i.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230715.mdx",route:"/2023/activites/weeklyMeets/230715",headings:[{depth:1,value:"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0715-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230715",nextraLayout:a.ZP,themeConfig:o.Z};function l(e){let A=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A.h1,{children:"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(A.ul,{children:["\n",(0,i.jsx)(A.li,{children:"일시 : 2023년 07월 15일 일요일"}),"\n",(0,i.jsx)(A.li,{children:"장소 : OpenUP (Creative Ground)"}),"\n"]}),"\n",(0,i.jsx)(A.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(A.p,{children:"염근철, 강병선, 권영길, 김수빈, 김원식, 김학준, 박진수, 서청운, 송혜민, 안다혜, 안지완, 유윤우, 이병곤, 이의주, 전의정, 정성락, 조국희, 채문영, 최수녕"}),"\n",(0,i.jsx)(A.hr,{}),"\n",(0,i.jsx)(A.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(A.ul,{children:["\n",(0,i.jsx)(A.li,{children:"당근마켓에서 ArgoWorkflows 도입한 사례 발표"}),"\n",(0,i.jsx)(A.li,{children:"개발환경 세팅 방법 공유"}),"\n",(0,i.jsx)(A.li,{children:"멘토 멘티 1on1 상담 진행"}),"\n"]}),"\n",(0,i.jsx)(A.hr,{}),"\n",(0,i.jsx)(A.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(A.p,{children:[(0,i.jsx)(s(),{alt:"image1",placeholder:"blur",src:g}),"\n",(0,i.jsx)(s(),{alt:"image2",placeholder:"blur",src:u})]})]})}var h=(0,t.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=3245)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230715-ed34d0545ac4212c.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230715-ed34d0545ac4212c.js deleted file mode 100644 index 7f5da87e..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230715-ed34d0545ac4212c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[900],{3245:function(e,A,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230715",function(){return n(9899)}])},979:function(e,A,n){"use strict";var t=n(5893);A.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9899:function(e,A,n){"use strict";n.r(A),n.d(A,{default:function(){return h}});var t=n(5893),i=n(2673),o=n(4984),a=n(979);n(9966);var r=n(1151),s=n(5675),d=n.n(s),g={src:"/_next/static/media/230715_1.d532efca.jpg",height:4e3,width:3e3,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAgABgMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAALAl/8QAHBAAAgICAwAAAAAAAAAAAAAAAQIDBAAGEzJC/9oACAEBAAE/ALG2NDYVDWk4ijHp6Gf/xAAYEQACAwAAAAAAAAAAAAAAAAAAARESQv/aAAgBAgEBPwCs6Z//xAAXEQADAQAAAAAAAAAAAAAAAAAAARFh/9oACAEDAQE/ALiP/9k=",blurWidth:6,blurHeight:8},u={src:"/_next/static/media/230715_2.9c337716.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAAAwEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAALiL/8QAHBAAAgICAwAAAAAAAAAAAAAAAgMBEgQhAAYT/9oACAEBAAE/AA7M5L8dDBsw8nyLUVqU65//xAAYEQACAwAAAAAAAAAAAAAAAAABAgADEf/aAAgBAgEBPwCxmUjDP//EABcRAAMBAAAAAAAAAAAAAAAAAAABEQL/2gAIAQMBAT8Ayk7T/9k=",blurWidth:8,blurHeight:6};let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:A}=Object.assign({},(0,r.ah)(),e.components);return A?(0,t.jsx)(A,{...e,children:(0,t.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230715.mdx",route:"/2023/activites/weeklyMeets/230715",headings:[{depth:1,value:"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0715-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230715",nextraLayout:o.ZP,themeConfig:a.Z};function l(e){let A=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A.h1,{children:"[07/15] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(A.ul,{children:["\n",(0,t.jsx)(A.li,{children:"일시 : 2023년 07월 15일 일요일"}),"\n",(0,t.jsx)(A.li,{children:"장소 : OpenUP (Creative Ground)"}),"\n"]}),"\n",(0,t.jsx)(A.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(A.p,{children:"염근철, 강병선, 권영길, 김수빈, 김원식, 김학준, 박진수, 서청운, 송혜민, 안다혜, 안지완, 유윤우, 이병곤, 이의주, 전의정, 정성락, 조국희, 채문영, 최수녕"}),"\n",(0,t.jsx)(A.hr,{}),"\n",(0,t.jsx)(A.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(A.ul,{children:["\n",(0,t.jsx)(A.li,{children:"당근마켓에서 ArgoWorkflows 도입한 사례 발표"}),"\n",(0,t.jsx)(A.li,{children:"개발환경 세팅 방법 공유"}),"\n",(0,t.jsx)(A.li,{children:"멘토 멘티 1on1 상담 진행"}),"\n"]}),"\n",(0,t.jsx)(A.hr,{}),"\n",(0,t.jsx)(A.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsxs)(A.p,{children:[(0,t.jsx)(d(),{alt:"image1",placeholder:"blur",src:g}),"\n",(0,t.jsx)(d(),{alt:"image2",placeholder:"blur",src:u})]})]})}var h=(0,i.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=3245)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230723-97aac97c1b06aee6.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230723-97aac97c1b06aee6.js new file mode 100644 index 00000000..f7cbea9b --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230723-97aac97c1b06aee6.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[776],{5013:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230723",function(){return i(9504)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9504:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return l}});var t=i(5893),a=i(2673),o=i(4984),r=i(979);i(9966);var d=i(1151),A=i(5675),u=i.n(A),s={src:"/_next/static/media/230723_1.f9d19c39.jpg",height:897,width:1611,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAQACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAwEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAuBb/xAAbEAABBAMAAAAAAAAAAAAAAAABAAMREgIEYf/aAAgBAQABPwAPunSrc1kYxyAv/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwB//9k=",blurWidth:8,blurHeight:4};let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(g,{...e})}):g(e)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230723.mdx",route:"/2023/activites/weeklyMeets/230723",headings:[{depth:1,value:"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0723-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230723",nextraLayout:o.ZP,themeConfig:r.Z};function g(e){let n=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,d.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{children:"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"일시 : 2023년 07월 23일 일요일"}),"\n",(0,t.jsx)(n.li,{children:"장소 : 무신사 회의실"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(n.p,{children:"염근철, 강병선, 강시온, 권영길, 박진수, 송혜민, 안다혜, 정성락, 최수녕"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"개별 관심 이슈 공유"}),"\n",(0,t.jsx)(n.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,t.jsx)(n.li,{children:"개별 관심 기술 공유"}),"\n",(0,t.jsx)(n.li,{children:"멘토 멘티 1on1 상담"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(u(),{alt:"image1",placeholder:"blur",src:s})})]})}var l=(0,a.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=5013)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230723-f3d87cb9c27711eb.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230723-f3d87cb9c27711eb.js deleted file mode 100644 index a2897328..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230723-f3d87cb9c27711eb.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[776],{5013:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230723",function(){return t(9504)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},9504:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return l}});var i=t(5893),o=t(2673),a=t(4984),r=t(979);t(9966);var A=t(1151),d=t(5675),s=t.n(d),u={src:"/_next/static/media/230723_1.f9d19c39.jpg",height:897,width:1611,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAQACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAwEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAuBb/xAAbEAABBAMAAAAAAAAAAAAAAAABAAMREgIEYf/aAAgBAQABPwAPunSrc1kYxyAv/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwB//9k=",blurWidth:8,blurHeight:4};let g={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,A.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230723.mdx",route:"/2023/activites/weeklyMeets/230723",headings:[{depth:1,value:"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0723-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230723",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,A.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{children:"[07/23] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"일시 : 2023년 07월 23일 일요일"}),"\n",(0,i.jsx)(n.li,{children:"장소 : 무신사 회의실"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(n.p,{children:"염근철, 강병선, 강시온, 권영길, 박진수, 송혜민, 안다혜, 정성락, 최수녕"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(n.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(n.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(n.li,{children:"멘토 멘티 1on1 상담"}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(s(),{alt:"image1",placeholder:"blur",src:u})})]})}var l=(0,o.j)(g)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=5013)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230730-143c673288562e56.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230730-143c673288562e56.js deleted file mode 100644 index aeb2bcb1..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230730-143c673288562e56.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[483],{3705:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230730",function(){return n(6685)}])},979:function(A,e,n){"use strict";var i=n(5893);e.Z={logo:(0,i.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},6685:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var i=n(5893),t=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),g=n(5675),s=n.n(g),d={src:"/_next/static/media/230730_1.b4e774ec.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAAogf/xAAcEAACAQUBAAAAAAAAAAAAAAABAgMABBESIQX/2gAIAQEAAT8AtGb0bKO/GqGZ9o1xwKDjtf/EABgRAAIDAAAAAAAAAAAAAAAAAAACEiFx/9oACAECAQE/AFuWn//EABcRAAMBAAAAAAAAAAAAAAAAAAACESH/2gAIAQMBAT8AbIf/2Q==",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230730_2.749435de.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAAoA//xAAcEAEAAgEFAAAAAAAAAAAAAAACAwQBAAUREjL/2gAIAQEAAT8Ap99woK/GQJU0zGvHGM6//8QAGBEAAgMAAAAAAAAAAAAAAAAAAAECEXH/2gAIAQIBAT8Ag270/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAECMf/aAAgBAwEBPwClh//Z",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230730_3.41752d5f.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAuAp//8QAHBAAAwABBQAAAAAAAAAAAAAAAQIDEgAREyEi/9oACAEBAAE/AHx4ZpOYZ6HFA3lVKHY9ga//xAAXEQADAQAAAAAAAAAAAAAAAAAAAQIh/9oACAECAQE/ALqk8P/EABYRAQEBAAAAAAAAAAAAAAAAAAECAP/aAAgBAwEBPwCZE3//2Q==",blurWidth:8,blurHeight:6},h={src:"/_next/static/media/230730_4.145f554a.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAABAX/2gAMAwEAAhADEAAAAKA0P//EAB0QAQABAwUAAAAAAAAAAAAAAAIBAAMEEiEiMVH/2gAIAQEAAT8AmMojJYy3buWHpLO/JHxdxX//xAAWEQEBAQAAAAAAAAAAAAAAAAABAAL/2gAIAQIBAT8AdN//xAAYEQEAAwEAAAAAAAAAAAAAAAABAAIRIf/aAAgBAwEBPwCoa8J//9k=",blurWidth:8,blurHeight:6};let m={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,i.jsx)(e,{...A,children:(0,i.jsx)(c,{...A})}):c(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230730.mdx",route:"/2023/activites/weeklyMeets/230730",headings:[{depth:1,value:"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0730-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230730",nextraLayout:a.ZP,themeConfig:o.Z};function c(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{children:"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"일시 : 2023년 07월 30일 일요일"}),"\n",(0,i.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,i.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(e.p,{children:"염근철, 송혜민, 전의정, 정성락, 박진수, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈"}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,i.jsx)(e.li,{children:"실시간 통신을 위한 WebRtc의 개념 및 활용사례 발표(송혜민)"}),"\n",(0,i.jsx)(e.li,{children:"Argo Workflows와 keyclock 연동방법 발표(최수녕)"}),"\n",(0,i.jsx)(e.li,{children:"챌린지스 수료 기념 회식"}),"\n"]}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(s(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,i.jsx)(s(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,i.jsx)(s(),{alt:"image3",placeholder:"blur",src:l}),"\n",(0,i.jsx)(s(),{alt:"image4",placeholder:"blur",src:h})]})]})}var x=(0,t.j)(m)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=3705)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230730-de9517603f3ce29c.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230730-de9517603f3ce29c.js new file mode 100644 index 00000000..c57e3551 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230730-de9517603f3ce29c.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[483],{3705:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230730",function(){return n(6685)}])},979:function(A,e,n){"use strict";var i=n(5893);e.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},6685:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var i=n(5893),t=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),g=n(5675),d=n.n(g),s={src:"/_next/static/media/230730_1.b4e774ec.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAAogf/xAAcEAACAQUBAAAAAAAAAAAAAAABAgMABBESIQX/2gAIAQEAAT8AtGb0bKO/GqGZ9o1xwKDjtf/EABgRAAIDAAAAAAAAAAAAAAAAAAACEiFx/9oACAECAQE/AFuWn//EABcRAAMBAAAAAAAAAAAAAAAAAAACESH/2gAIAQMBAT8AbIf/2Q==",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230730_2.749435de.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAAoA//xAAcEAEAAgEFAAAAAAAAAAAAAAACAwQBAAUREjL/2gAIAQEAAT8Ap99woK/GQJU0zGvHGM6//8QAGBEAAgMAAAAAAAAAAAAAAAAAAAECEXH/2gAIAQIBAT8Ag270/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAECMf/aAAgBAwEBPwClh//Z",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230730_3.41752d5f.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAuAp//8QAHBAAAwABBQAAAAAAAAAAAAAAAQIDEgAREyEi/9oACAEBAAE/AHx4ZpOYZ6HFA3lVKHY9ga//xAAXEQADAQAAAAAAAAAAAAAAAAAAAQIh/9oACAECAQE/ALqk8P/EABYRAQEBAAAAAAAAAAAAAAAAAAECAP/aAAgBAwEBPwCZE3//2Q==",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230730_4.145f554a.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAABAX/2gAMAwEAAhADEAAAAKA0P//EAB0QAQABAwUAAAAAAAAAAAAAAAIBAAMEEiEiMVH/2gAIAQEAAT8AmMojJYy3buWHpLO/JHxdxX//xAAWEQEBAQAAAAAAAAAAAAAAAAABAAL/2gAIAQIBAT8AdN//xAAYEQEAAwEAAAAAAAAAAAAAAAABAAIRIf/aAAgBAwEBPwCoa8J//9k=",blurWidth:8,blurHeight:6};let h={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,i.jsx)(e,{...A,children:(0,i.jsx)(c,{...A})}):c(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230730.mdx",route:"/2023/activites/weeklyMeets/230730",headings:[{depth:1,value:"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0730-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230730",nextraLayout:a.ZP,themeConfig:o.Z};function c(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{children:"[07/30] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"일시 : 2023년 07월 30일 일요일"}),"\n",(0,i.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,i.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(e.p,{children:"염근철, 송혜민, 전의정, 정성락, 박진수, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈"}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,i.jsx)(e.li,{children:"실시간 통신을 위한 WebRtc의 개념 및 활용사례 발표(송혜민)"}),"\n",(0,i.jsx)(e.li,{children:"Argo Workflows와 keyclock 연동방법 발표(최수녕)"}),"\n",(0,i.jsx)(e.li,{children:"챌린지스 수료 기념 회식"}),"\n"]}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(d(),{alt:"image1",placeholder:"blur",src:s}),"\n",(0,i.jsx)(d(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,i.jsx)(d(),{alt:"image3",placeholder:"blur",src:m}),"\n",(0,i.jsx)(d(),{alt:"image4",placeholder:"blur",src:l})]})]})}var x=(0,t.j)(h)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=3705)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230806-6e4dfaa93130ea72.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230806-6e4dfaa93130ea72.js deleted file mode 100644 index 438a93e6..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230806-6e4dfaa93130ea72.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[800],{5943:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230806",function(){return n(7274)}])},979:function(A,e,n){"use strict";var a=n(5893);e.Z={logo:(0,a.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,a.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,a.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,a.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,a.jsx)("meta",{property:"og:type",content:"website"})]})}},7274:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var a=n(5893),i=n(2673),t=n(4984),o=n(979);n(9966);var g=n(1151),r=n(5675),s=n.n(r),d={src:"/_next/static/media/230806_1.f1d083a5.jpg",height:2736,width:3648,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAqBp//8QAHBAAAQMFAAAAAAAAAAAAAAAAAwUREgABAiOS/9oACAEBAAE/AFJf1AGIUJkytw7vX//EABcRAAMBAAAAAAAAAAAAAAAAAAABAiH/2gAIAQIBAT8Ad1Lxn//EABcRAAMBAAAAAAAAAAAAAAAAAAABAiH/2gAIAQMBAT8AmZa1H//Z",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230806_2.e7cf5e2b.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAAABH//xAAeEAAABQUBAAAAAAAAAAAAAAABAgMFEgAEERMUQf/aAAgBAQABPwBkckE7fj1GnkxpeDIa/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFhEAAwAAAAAAAAAAAAAAAAAAAAIx/9oACAEDAQE/AGp//9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230806_3.a498f17d.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAAgP/EAB0QAAIBBAMAAAAAAAAAAAAAAAEDAgQRElEAFUH/2gAIAQEAAT8AZUT62VXNasmYiwHo1q/P/8QAGBEAAgMAAAAAAAAAAAAAAAAAAAECEXH/2gAIAQIBAT8Ag270/8QAFhEBAQEAAAAAAAAAAAAAAAAAAgAB/9oACAEDAQE/AEcv/9k=",blurWidth:8,blurHeight:6},h={src:"/_next/static/media/230806_4.39c1b328.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABQEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAAAogL/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMEAAUSc//aAAgBAQABPwCt3e142LBAZEebnzz/xAAYEQACAwAAAAAAAAAAAAAAAAAAAQIRIf/aAAgBAgEBPwBSdvT/xAAWEQEBAQAAAAAAAAAAAAAAAAABIQD/2gAIAQMBAT8AQk3/2Q==",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230806_5.11376e76.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAKgi/wD/xAAcEAABAwUAAAAAAAAAAAAAAAADAAIEBRIUIXP/2gAIAQEAAT8AhDLVIeWSxrjOJrkv/8QAFxEBAQEBAAAAAAAAAAAAAAAAAgEAIf/aAAgBAgEBPwBNRXu//8QAGBEAAgMAAAAAAAAAAAAAAAAAAQIAESH/2gAIAQMBAT8ACrQyf//Z",blurWidth:8,blurHeight:6};let c={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,g.ah)(),A.components);return e?(0,a.jsx)(e,{...A,children:(0,a.jsx)(E,{...A})}):E(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230806.mdx",route:"/2023/activites/weeklyMeets/230806",headings:[{depth:1,value:"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0806-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230806",nextraLayout:t.ZP,themeConfig:o.Z};function E(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,g.ah)(),A.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.h1,{children:"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:"일시 : 2023년 08월 06일 일요일"}),"\n",(0,a.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,a.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,a.jsx)(e.p,{children:"염근철, 송혜민, 전의정, 정성락, 김학준, 이의주, 최수녕, 서청운, 채문영, 강병선, 안지완, 강시온"}),"\n",(0,a.jsx)(e.hr,{}),"\n",(0,a.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,a.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,a.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,a.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,a.jsx)(e.li,{children:"argo event와 workflow, cd 연동 발표(김학준)"}),"\n",(0,a.jsx)(e.li,{children:"eBPF의 개념, 필터 개발 방법, 활용사례 발표(정성락)"}),"\n"]}),"\n",(0,a.jsx)(e.hr,{}),"\n",(0,a.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,a.jsxs)(e.p,{children:[(0,a.jsx)(s(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,a.jsx)(s(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,a.jsx)(s(),{alt:"image3",placeholder:"blur",src:l}),"\n",(0,a.jsx)(s(),{alt:"image4",placeholder:"blur",src:h}),"\n",(0,a.jsx)(s(),{alt:"image5",placeholder:"blur",src:m})]})]})}var x=(0,i.j)(c)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=5943)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230806-891fc16104e35257.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230806-891fc16104e35257.js new file mode 100644 index 00000000..566837a0 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230806-891fc16104e35257.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[800],{5943:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230806",function(){return n(7274)}])},979:function(A,e,n){"use strict";var i=n(5893);e.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},7274:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return E}});var i=n(5893),a=n(2673),t=n(4984),o=n(979);n(9966);var g=n(1151),r=n(5675),s=n.n(r),d={src:"/_next/static/media/230806_1.f1d083a5.jpg",height:2736,width:3648,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAqBp//8QAHBAAAQMFAAAAAAAAAAAAAAAAAwUREgABAiOS/9oACAEBAAE/AFJf1AGIUJkytw7vX//EABcRAAMBAAAAAAAAAAAAAAAAAAABAiH/2gAIAQIBAT8Ad1Lxn//EABcRAAMBAAAAAAAAAAAAAAAAAAABAiH/2gAIAQMBAT8AmZa1H//Z",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230806_2.e7cf5e2b.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAAABH//xAAeEAAABQUBAAAAAAAAAAAAAAABAgMFEgAEERMUQf/aAAgBAQABPwBkckE7fj1GnkxpeDIa/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwB//8QAFhEAAwAAAAAAAAAAAAAAAAAAAAIx/9oACAEDAQE/AGp//9k=",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230806_3.a498f17d.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAAgP/EAB0QAAIBBAMAAAAAAAAAAAAAAAEDAgQRElEAFUH/2gAIAQEAAT8AZUT62VXNasmYiwHo1q/P/8QAGBEAAgMAAAAAAAAAAAAAAAAAAAECEXH/2gAIAQIBAT8Ag270/8QAFhEBAQEAAAAAAAAAAAAAAAAAAgAB/9oACAEDAQE/AEcv/9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230806_4.39c1b328.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABQEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAAAogL/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMEAAUSc//aAAgBAQABPwCt3e142LBAZEebnzz/xAAYEQACAwAAAAAAAAAAAAAAAAAAAQIRIf/aAAgBAgEBPwBSdvT/xAAWEQEBAQAAAAAAAAAAAAAAAAABIQD/2gAIAQMBAT8AQk3/2Q==",blurWidth:8,blurHeight:6},h={src:"/_next/static/media/230806_5.11376e76.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAKgi/wD/xAAcEAABAwUAAAAAAAAAAAAAAAADAAIEBRIUIXP/2gAIAQEAAT8AhDLVIeWSxrjOJrkv/8QAFxEBAQEBAAAAAAAAAAAAAAAAAgEAIf/aAAgBAgEBPwBNRXu//8QAGBEAAgMAAAAAAAAAAAAAAAAAAQIAESH/2gAIAQMBAT8ACrQyf//Z",blurWidth:8,blurHeight:6};let c={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,g.ah)(),A.components);return e?(0,i.jsx)(e,{...A,children:(0,i.jsx)(M,{...A})}):M(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230806.mdx",route:"/2023/activites/weeklyMeets/230806",headings:[{depth:1,value:"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0806-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230806",nextraLayout:t.ZP,themeConfig:o.Z};function M(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,g.ah)(),A.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{children:"[08/06] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"일시 : 2023년 08월 06일 일요일"}),"\n",(0,i.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,i.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(e.p,{children:"염근철, 송혜민, 전의정, 정성락, 김학준, 이의주, 최수녕, 서청운, 채문영, 강병선, 안지완, 강시온"}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,i.jsx)(e.li,{children:"argo event와 workflow, cd 연동 발표(김학준)"}),"\n",(0,i.jsx)(e.li,{children:"eBPF의 개념, 필터 개발 방법, 활용사례 발표(정성락)"}),"\n"]}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(s(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,i.jsx)(s(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,i.jsx)(s(),{alt:"image3",placeholder:"blur",src:m}),"\n",(0,i.jsx)(s(),{alt:"image4",placeholder:"blur",src:l}),"\n",(0,i.jsx)(s(),{alt:"image5",placeholder:"blur",src:h})]})]})}var E=(0,a.j)(c)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=5943)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230813-ceb081008437d3da.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230813-ceb081008437d3da.js new file mode 100644 index 00000000..325d5428 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230813-ceb081008437d3da.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[34],{9980:function(e,A,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230813",function(){return n(3002)}])},979:function(e,A,n){"use strict";var i=n(5893);A.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},3002:function(e,A,n){"use strict";n.r(A),n.d(A,{default:function(){return c}});var i=n(5893),t=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),d=n(5675),g=n.n(d),s={src:"/_next/static/media/230813_1.b248624c.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAAAtAX/xAAdEAACAgEFAAAAAAAAAAAAAAABAgMFAAQTMUKB/9oACAEBAAE/AI0k1tY9k5VRJDvKqjryPc//xAAZEQABBQAAAAAAAAAAAAAAAAABAAIRElH/2gAIAQIBAT8AYSbTq//EABcRAQADAAAAAAAAAAAAAAAAAAEAAhH/2gAIAQMBAT8AsBk//9k=",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230813_2.af7747ce.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAALxL/8QAGxAAAgIDAQAAAAAAAAAAAAAAAgMBBQARElH/2gAIAQEAAT8AaphVrrFsjGwh3AeZ/8QAGhEAAQUBAAAAAAAAAAAAAAAAAQACAxESUf/aAAgBAgEBPwCMl2r6v//EABcRAQADAAAAAAAAAAAAAAAAABEAAQL/2gAIAQMBAT8A3QE//9k=",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230813_3.33232052.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAKAk/wD/xAAcEAABBAMBAAAAAAAAAAAAAAADAQQFEQAhImH/2gAIAQEAAT8AYRpHMU3OQ3RRIXXqXWf/xAAZEQABBQAAAAAAAAAAAAAAAAACABESIUH/2gAIAQIBAT8AmTler//EABcRAAMBAAAAAAAAAAAAAAAAAAACElH/2gAIAQMBAT8AlcP/2Q==",blurWidth:8,blurHeight:6};let l={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:A}=Object.assign({},(0,r.ah)(),e.components);return A?(0,i.jsx)(A,{...e,children:(0,i.jsx)(h,{...e})}):h(e)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230813.mdx",route:"/2023/activites/weeklyMeets/230813",headings:[{depth:1,value:"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0813-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230813",nextraLayout:a.ZP,themeConfig:o.Z};function h(e){let A=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A.h1,{children:"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(A.ul,{children:["\n",(0,i.jsx)(A.li,{children:"일시 : 2023년 08월 13일 일요일"}),"\n",(0,i.jsx)(A.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,i.jsx)(A.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(A.p,{children:"염근철, 안다혜, 최수녕, 김학준, 강병선, 전의정, 정성락, 서청운, 박진수"}),"\n",(0,i.jsx)(A.hr,{}),"\n",(0,i.jsx)(A.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(A.ul,{children:["\n",(0,i.jsx)(A.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(A.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(A.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(A.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,i.jsx)(A.li,{children:"컨테이너의 역사와 도커 없이 컨테이너 만들기 발표(염근철)"}),"\n",(0,i.jsx)(A.li,{children:"이슈 해커톤 계획 수립"}),"\n"]}),"\n",(0,i.jsx)(A.hr,{}),"\n",(0,i.jsx)(A.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(A.p,{children:[(0,i.jsx)(g(),{alt:"image1",placeholder:"blur",src:s}),"\n",(0,i.jsx)(g(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,i.jsx)(g(),{alt:"image3",placeholder:"blur",src:m})]})]})}var c=(0,t.j)(l)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=9980)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230813-e6a4067b32b3c751.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230813-e6a4067b32b3c751.js deleted file mode 100644 index 2ef271d8..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230813-e6a4067b32b3c751.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[34],{9980:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230813",function(){return n(3002)}])},979:function(A,e,n){"use strict";var t=n(5893);e.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},3002:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return c}});var t=n(5893),i=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),s=n(5675),g=n.n(s),d={src:"/_next/static/media/230813_1.b248624c.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAAAtAX/xAAdEAACAgEFAAAAAAAAAAAAAAABAgMFAAQTMUKB/9oACAEBAAE/AI0k1tY9k5VRJDvKqjryPc//xAAZEQABBQAAAAAAAAAAAAAAAAABAAIRElH/2gAIAQIBAT8AYSbTq//EABcRAQADAAAAAAAAAAAAAAAAAAEAAhH/2gAIAQMBAT8AsBk//9k=",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230813_2.af7747ce.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAALxL/8QAGxAAAgIDAQAAAAAAAAAAAAAAAgMBBQARElH/2gAIAQEAAT8AaphVrrFsjGwh3AeZ/8QAGhEAAQUBAAAAAAAAAAAAAAAAAQACAxESUf/aAAgBAgEBPwCMl2r6v//EABcRAQADAAAAAAAAAAAAAAAAABEAAQL/2gAIAQMBAT8A3QE//9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230813_3.33232052.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAKAk/wD/xAAcEAABBAMBAAAAAAAAAAAAAAADAQQFEQAhImH/2gAIAQEAAT8AYRpHMU3OQ3RRIXXqXWf/xAAZEQABBQAAAAAAAAAAAAAAAAACABESIUH/2gAIAQIBAT8AmTler//EABcRAAMBAAAAAAAAAAAAAAAAAAACElH/2gAIAQMBAT8AlcP/2Q==",blurWidth:8,blurHeight:6};let m={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(h,{...A})}):h(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230813.mdx",route:"/2023/activites/weeklyMeets/230813",headings:[{depth:1,value:"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0813-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230813",nextraLayout:a.ZP,themeConfig:o.Z};function h(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{children:"[08/13] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"일시 : 2023년 08월 13일 일요일"}),"\n",(0,t.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(e.p,{children:"염근철, 안다혜, 최수녕, 김학준, 강병선, 전의정, 정성락, 서청운, 박진수"}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,t.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,t.jsx)(e.li,{children:"컨테이너의 역사와 도커 없이 컨테이너 만들기 발표(염근철)"}),"\n",(0,t.jsx)(e.li,{children:"이슈 해커톤 계획 수립"}),"\n"]}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(g(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,t.jsx)(g(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,t.jsx)(g(),{alt:"image3",placeholder:"blur",src:l})]})]})}var c=(0,i.j)(m)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=9980)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230820-7bf55ffbed3a0c99.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230820-7bf55ffbed3a0c99.js new file mode 100644 index 00000000..2d9c7a01 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230820-7bf55ffbed3a0c99.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[475],{5364:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230820",function(){return n(1590)}])},979:function(A,e,n){"use strict";var i=n(5893);e.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},1590:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return M}});var i=n(5893),t=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),g=n(5675),s=n.n(g),d={src:"/_next/static/media/230820_1.426ac4d3.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAALRD/8QAHBAAAgICAwAAAAAAAAAAAAAAAgMBBBIhABQx/9oACAEBAAE/AGXn1R7rIGVCYZJHzEta5//EABcRAQADAAAAAAAAAAAAAAAAAAEAAjH/2gAIAQIBAT8Aqrs//8QAFREBAQAAAAAAAAAAAAAAAAAAAQD/2gAIAQMBAT8AS//Z",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230820_2.5467c996.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAJomv//EABsQAAEEAwAAAAAAAAAAAAAAAAEAAgMTBAUG/9oACAEBAAE/AB0uynlmxQ8NrsaCv//EABcRAQADAAAAAAAAAAAAAAAAAAEAAyH/2gAIAQIBAT8AsUcn/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAC/9oACAEDAQE/AMAl/9k=",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230820_3.1054b544.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAAP/2gAMAwEAAhADEAAAAKRJ/8QAGRAAAgMBAAAAAAAAAAAAAAAAAQIDBBEA/9oACAEBAAE/AKt+5KryaAqQsoXSdzv/xAAYEQEBAAMAAAAAAAAAAAAAAAACAQARMf/aAAgBAgEBPwBNRKb5c//EABcRAAMBAAAAAAAAAAAAAAAAAAACIRL/2gAIAQMBAT8Aysh//9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230820_4.5cfe1da8.jpg",height:3456,width:4608,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAIYk/8QAHBAAAgICAwAAAAAAAAAAAAAAARECAwASBAVR/9oACAEBAAE/ALO7EKiuDSVPVl7L3P/EABYRAAMAAAAAAAAAAAAAAAAAAABRcf/aAAgBAgEBPwB0/8QAFxEBAAMAAAAAAAAAAAAAAAAAAQAhcf/aAAgBAwEBPwBCsn//2Q==",blurWidth:8,blurHeight:6};let h={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,i.jsx)(e,{...A,children:(0,i.jsx)(c,{...A})}):c(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230820.mdx",route:"/2023/activites/weeklyMeets/230820",headings:[{depth:1,value:"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0820-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230820",nextraLayout:a.ZP,themeConfig:o.Z};function c(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{children:"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"일시 : 2023년 08월 20일 일요일"}),"\n",(0,i.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,i.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(e.p,{children:"염근철, 송혜민, 전의정, 정성락, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈, 채문영, 안지완"}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,i.jsx)(e.li,{children:"개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표(안다혜)"}),"\n",(0,i.jsx)(e.li,{children:"이슈해커톤 a,b,c조 진행 공유"}),"\n"]}),"\n",(0,i.jsx)(e.hr,{}),"\n",(0,i.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(s(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,i.jsx)(s(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,i.jsx)(s(),{alt:"image3",placeholder:"blur",src:m}),"\n",(0,i.jsx)(s(),{alt:"image4",placeholder:"blur",src:l})]})]})}var M=(0,t.j)(h)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=5364)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230820-dbb0284610a52e87.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230820-dbb0284610a52e87.js deleted file mode 100644 index 279b5f7b..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230820-dbb0284610a52e87.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[475],{5364:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230820",function(){return n(1590)}])},979:function(A,e,n){"use strict";var t=n(5893);e.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},1590:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return M}});var t=n(5893),i=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),g=n(5675),s=n.n(g),d={src:"/_next/static/media/230820_1.426ac4d3.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAALRD/8QAHBAAAgICAwAAAAAAAAAAAAAAAgMBBBIhABQx/9oACAEBAAE/AGXn1R7rIGVCYZJHzEta5//EABcRAQADAAAAAAAAAAAAAAAAAAEAAjH/2gAIAQIBAT8Aqrs//8QAFREBAQAAAAAAAAAAAAAAAAAAAQD/2gAIAQMBAT8AS//Z",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230820_2.5467c996.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAgP/2gAMAwEAAhADEAAAAJomv//EABsQAAEEAwAAAAAAAAAAAAAAAAEAAgMTBAUG/9oACAEBAAE/AB0uynlmxQ8NrsaCv//EABcRAQADAAAAAAAAAAAAAAAAAAEAAyH/2gAIAQIBAT8AsUcn/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAC/9oACAEDAQE/AMAl/9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230820_3.1054b544.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAAP/2gAMAwEAAhADEAAAAKRJ/8QAGRAAAgMBAAAAAAAAAAAAAAAAAQIDBBEA/9oACAEBAAE/AKt+5KryaAqQsoXSdzv/xAAYEQEBAAMAAAAAAAAAAAAAAAACAQARMf/aAAgBAgEBPwBNRKb5c//EABcRAAMBAAAAAAAAAAAAAAAAAAACIRL/2gAIAQMBAT8Aysh//9k=",blurWidth:8,blurHeight:6},h={src:"/_next/static/media/230820_4.5cfe1da8.jpg",height:3456,width:4608,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAIYk/8QAHBAAAgICAwAAAAAAAAAAAAAAARECAwASBAVR/9oACAEBAAE/ALO7EKiuDSVPVl7L3P/EABYRAAMAAAAAAAAAAAAAAAAAAABRcf/aAAgBAgEBPwB0/8QAFxEBAAMAAAAAAAAAAAAAAAAAAQAhcf/aAAgBAwEBPwBCsn//2Q==",blurWidth:8,blurHeight:6};let m={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(c,{...A})}):c(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230820.mdx",route:"/2023/activites/weeklyMeets/230820",headings:[{depth:1,value:"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0820-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230820",nextraLayout:a.ZP,themeConfig:o.Z};function c(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{children:"[08/20] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"일시 : 2023년 08월 20일 일요일"}),"\n",(0,t.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(e.p,{children:"염근철, 송혜민, 전의정, 정성락, 안다혜, 김학준, 이의주, 최수녕, 서청운, 권영길, 김수빈, 채문영, 안지완"}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,t.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,t.jsx)(e.li,{children:"개발자가 스스로 부하테스트 할 수 있는 플랫폼 구축기 & K6 부하테스트 PoC 발표(안다혜)"}),"\n",(0,t.jsx)(e.li,{children:"이슈해커톤 a,b,c조 진행 공유"}),"\n"]}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(s(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,t.jsx)(s(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,t.jsx)(s(),{alt:"image3",placeholder:"blur",src:l}),"\n",(0,t.jsx)(s(),{alt:"image4",placeholder:"blur",src:h})]})]})}var M=(0,i.j)(m)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=5364)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230827-67501f02c73ee7c2.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230827-67501f02c73ee7c2.js new file mode 100644 index 00000000..747f5553 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230827-67501f02c73ee7c2.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[108],{5097:function(e,A,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230827",function(){return n(6626)}])},979:function(e,A,n){"use strict";var i=n(5893);A.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},6626:function(e,A,n){"use strict";n.r(A),n.d(A,{default:function(){return c}});var i=n(5893),t=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),d=n(5675),g=n.n(d),s={src:"/_next/static/media/230827_1.11b4fe80.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAKIl/8QAGxAAAgIDAQAAAAAAAAAAAAAAAgQBEQASQQP/2gAIAQEAAT8AWVNhIndquT9IDka8z//EABgRAQADAQAAAAAAAAAAAAAAAAIAESFB/9oACAECAQE/ACla3s//xAAYEQACAwAAAAAAAAAAAAAAAAABIQACQf/aAAgBAwEBPwA1CWT/2Q==",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230827_2.8970316b.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAK4l/8QAHhAAAgEDBQAAAAAAAAAAAAAAARECAAMTFSEjMXH/2gAIAQEAAT8A0pWM8puZ5SHsCuvK/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAIhQf/aAAgBAgEBPwBHa3T/xAAWEQEBAQAAAAAAAAAAAAAAAAACIQD/2gAIAQMBAT8ARMm//9k=",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230827_3.1f430838.jpg",height:2736,width:3648,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAwEBAAAAAAAAAAAAAAAAAAAABP/aAAwDAQACEAMQAAAAmDu//8QAGxAAAgIDAQAAAAAAAAAAAAAAAxIBAgAEIjH/2gAIAQEAAT8AFY2uAphGuy9PLzC+rn//xAAYEQADAQEAAAAAAAAAAAAAAAABAjEAEv/aAAgBAgEBPwAO86N3/8QAGBEAAgMAAAAAAAAAAAAAAAAAAQIAITH/2gAIAQMBAT8ACquAXP/Z",blurWidth:8,blurHeight:6};let l={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:A}=Object.assign({},(0,r.ah)(),e.components);return A?(0,i.jsx)(A,{...e,children:(0,i.jsx)(h,{...e})}):h(e)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230827.mdx",route:"/2023/activites/weeklyMeets/230827",headings:[{depth:1,value:"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0827-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230827",nextraLayout:a.ZP,themeConfig:o.Z};function h(e){let A=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A.h1,{children:"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,i.jsxs)(A.ul,{children:["\n",(0,i.jsx)(A.li,{children:"일시 : 2023년 08월 27일 일요일"}),"\n",(0,i.jsx)(A.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,i.jsx)(A.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,i.jsx)(A.p,{children:"염근철, 정성락, 최수녕, 이의주, 김학준, 송혜민"}),"\n",(0,i.jsx)(A.hr,{}),"\n",(0,i.jsx)(A.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,i.jsxs)(A.ul,{children:["\n",(0,i.jsx)(A.li,{children:"개별 관심 이슈 공유"}),"\n",(0,i.jsx)(A.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,i.jsx)(A.li,{children:"개별 관심 기술 공유"}),"\n",(0,i.jsx)(A.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,i.jsx)(A.li,{children:"컨테이너 생태계에 관한 고찰 발표(염근철)"}),"\n",(0,i.jsx)(A.li,{children:"이슈해커톤 a, c조 진행 공유"}),"\n"]}),"\n",(0,i.jsx)(A.hr,{}),"\n",(0,i.jsx)(A.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,i.jsxs)(A.p,{children:[(0,i.jsx)(g(),{alt:"image1",placeholder:"blur",src:s}),"\n",(0,i.jsx)(g(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,i.jsx)(g(),{alt:"image3",placeholder:"blur",src:m})]})]})}var c=(0,t.j)(l)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=5097)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230827-9fbd0b211c44edbf.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230827-9fbd0b211c44edbf.js deleted file mode 100644 index 32348d66..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230827-9fbd0b211c44edbf.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[108],{5097:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230827",function(){return n(6626)}])},979:function(A,e,n){"use strict";var t=n(5893);e.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},6626:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return c}});var t=n(5893),i=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),s=n(5675),g=n.n(s),d={src:"/_next/static/media/230827_1.11b4fe80.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAKIl/8QAGxAAAgIDAQAAAAAAAAAAAAAAAgQBEQASQQP/2gAIAQEAAT8AWVNhIndquT9IDka8z//EABgRAQADAQAAAAAAAAAAAAAAAAIAESFB/9oACAECAQE/ACla3s//xAAYEQACAwAAAAAAAAAAAAAAAAABIQACQf/aAAgBAwEBPwA1CWT/2Q==",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230827_2.8970316b.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAK4l/8QAHhAAAgEDBQAAAAAAAAAAAAAAARECAAMTFSEjMXH/2gAIAQEAAT8A0pWM8puZ5SHsCuvK/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAIhQf/aAAgBAgEBPwBHa3T/xAAWEQEBAQAAAAAAAAAAAAAAAAACIQD/2gAIAQMBAT8ARMm//9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230827_3.1f430838.jpg",height:2736,width:3648,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAwEBAAAAAAAAAAAAAAAAAAAABP/aAAwDAQACEAMQAAAAmDu//8QAGxAAAgIDAQAAAAAAAAAAAAAAAxIBAgAEIjH/2gAIAQEAAT8AFY2uAphGuy9PLzC+rn//xAAYEQADAQEAAAAAAAAAAAAAAAABAjEAEv/aAAgBAgEBPwAO86N3/8QAGBEAAgMAAAAAAAAAAAAAAAAAAQIAITH/2gAIAQMBAT8ACquAXP/Z",blurWidth:8,blurHeight:6};let m={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(h,{...A})}):h(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230827.mdx",route:"/2023/activites/weeklyMeets/230827",headings:[{depth:1,value:"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0827-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230827",nextraLayout:a.ZP,themeConfig:o.Z};function h(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{children:"[08/27] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"일시 : 2023년 08월 27일 일요일"}),"\n",(0,t.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(e.p,{children:"염근철, 정성락, 최수녕, 이의주, 김학준, 송혜민"}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,t.jsx)(e.li,{children:"멘토 멘티 1on1 상담"}),"\n",(0,t.jsx)(e.li,{children:"컨테이너 생태계에 관한 고찰 발표(염근철)"}),"\n",(0,t.jsx)(e.li,{children:"이슈해커톤 a, c조 진행 공유"}),"\n"]}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(g(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,t.jsx)(g(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,t.jsx)(g(),{alt:"image3",placeholder:"blur",src:l})]})]})}var c=(0,i.j)(m)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=5097)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230904-40864433578ce632.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230904-40864433578ce632.js new file mode 100644 index 00000000..5c05cdf8 --- /dev/null +++ b/_next/static/chunks/pages/2023/activites/weeklyMeets/230904-40864433578ce632.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[410],{8110:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230904",function(){return n(5669)}])},979:function(A,e,n){"use strict";var t=n(5893);e.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},5669:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var t=n(5893),i=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),g=n(5675),d=n.n(g),s={src:"/_next/static/media/230904_1.62387cf4.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAAL/2gAMAwEAAhADEAAAAKBL/8QAGxAAAgIDAQAAAAAAAAAAAAAAAQIREgADBSP/2gAIAQEAAT8AGx25g6KjxLzWxtQmIz//xAAYEQACAwAAAAAAAAAAAAAAAAAAEQECUf/aAAgBAgEBPwCstvT/xAAYEQACAwAAAAAAAAAAAAAAAAAAAhEhcf/aAAgBAwEBPwBqjD//2Q==",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230904_2.8865edf7.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAAqAf/xAAdEAABBAIDAAAAAAAAAAAAAAACAQMSMQARBQYj/9oACAEBAAE/AD7A+5x5mpewpBNBFJ1u6z//xAAXEQEAAwAAAAAAAAAAAAAAAAABAANx/9oACAECAQE/AK1R2f/EABcRAQADAAAAAAAAAAAAAAAAAAEAAiH/2gAIAQMBAT8AviT/2Q==",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230904_3.a330bc00.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAwEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAqAT/xAAeEAACAgAHAAAAAAAAAAAAAAACAwEEAAUREiFSYf/aAAgBAQABPwChYK7mT0QAAYRDlcajtPt7j//EABgRAAMBAQAAAAAAAAAAAAAAAAECAwAR/9oACAECAQE/AKUdX4Dv/8QAFxEBAQEBAAAAAAAAAAAAAAAAAgEAIf/aAAgBAwEBPwAk0zm//9k=",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230904_4.48d4fe19.jpg",height:2736,width:3648,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABQEBAAAAAAAAAAAAAAAAAAAABP/aAAwDAQACEAMQAAAAng7v/8QAHBAAAQQDAQAAAAAAAAAAAAAAAQIDBBEABSEi/9oACAEBAAE/ANe4zPVLjBK2y2vz2xZFnP/EABkRAQACAwAAAAAAAAAAAAAAAAEAAgMRMf/aAAgBAgEBPwDMtWunpP/EABcRAQEBAQAAAAAAAAAAAAAAAAExAAP/2gAIAQMBAT8A5gkLv//Z",blurWidth:8,blurHeight:6};let h={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(c,{...A})}):c(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230904.mdx",route:"/2023/activites/weeklyMeets/230904",headings:[{depth:1,value:"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0904-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230904",nextraLayout:a.ZP,themeConfig:o.Z};function c(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{children:"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"일시 : 2023년 08월 27일 일요일"}),"\n",(0,t.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(e.p,{children:"염근철, 강병선, 김수빈, 정성락, 전의정, 서청운"}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,t.jsx)(e.li,{children:"'Github Actions 쿠버네티스에서 self-hosted로 설치&운영하기 발표 (서청운)"}),"\n"]}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(d(),{alt:"image1",placeholder:"blur",src:s}),"\n",(0,t.jsx)(d(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,t.jsx)(d(),{alt:"image3",placeholder:"blur",src:m}),"\n",(0,t.jsx)(d(),{alt:"image4",placeholder:"blur",src:l})]})]})}var x=(0,i.j)(h)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=8110)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/activites/weeklyMeets/230904-86eecbaa6f89f24e.js b/_next/static/chunks/pages/2023/activites/weeklyMeets/230904-86eecbaa6f89f24e.js deleted file mode 100644 index bf548027..00000000 --- a/_next/static/chunks/pages/2023/activites/weeklyMeets/230904-86eecbaa6f89f24e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[410],{8110:function(A,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/activites/weeklyMeets/230904",function(){return n(5669)}])},979:function(A,e,n){"use strict";var t=n(5893);e.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},5669:function(A,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var t=n(5893),i=n(2673),a=n(4984),o=n(979);n(9966);var r=n(1151),g=n(5675),s=n.n(g),d={src:"/_next/static/media/230904_1.62387cf4.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAoAAEBAAAAAAAAAAAAAAAAAAAABAEBAQAAAAAAAAAAAAAAAAAAAAL/2gAMAwEAAhADEAAAAKBL/8QAGxAAAgIDAQAAAAAAAAAAAAAAAQIREgADBSP/2gAIAQEAAT8AGx25g6KjxLzWxtQmIz//xAAYEQACAwAAAAAAAAAAAAAAAAAAEQECUf/aAAgBAgEBPwCstvT/xAAYEQACAwAAAAAAAAAAAAAAAAAAAhEhcf/aAAgBAwEBPwBqjD//2Q==",blurWidth:8,blurHeight:6},u={src:"/_next/static/media/230904_2.8865edf7.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABAEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAAqAf/xAAdEAABBAIDAAAAAAAAAAAAAAACAQMSMQARBQYj/9oACAEBAAE/AD7A+5x5mpewpBNBFJ1u6z//xAAXEQEAAwAAAAAAAAAAAAAAAAABAANx/9oACAECAQE/AK1R2f/EABcRAQADAAAAAAAAAAAAAAAAAAEAAiH/2gAIAQMBAT8AviT/2Q==",blurWidth:8,blurHeight:6},l={src:"/_next/static/media/230904_3.a330bc00.jpg",height:3024,width:4032,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAAAwEBAAAAAAAAAAAAAAAAAAAAA//aAAwDAQACEAMQAAAAqAT/xAAeEAACAgAHAAAAAAAAAAAAAAACAwEEAAUREiFSYf/aAAgBAQABPwChYK7mT0QAAYRDlcajtPt7j//EABgRAAMBAQAAAAAAAAAAAAAAAAECAwAR/9oACAECAQE/AKUdX4Dv/8QAFxEBAQEBAAAAAAAAAAAAAAAAAgEAIf/aAAgBAwEBPwAk0zm//9k=",blurWidth:8,blurHeight:6},m={src:"/_next/static/media/230904_4.48d4fe19.jpg",height:2736,width:3648,blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/sBCgoKCgoKCwwMCw8QDhAPFhQTExQWIhgaGBoYIjMgJSAgJSAzLTcsKSw3LVFAODhAUV5PSk9ecWVlcY+Ij7u7+//CABEIAAYACAMBIgACEQEDEQH/xAAnAAEBAAAAAAAAAAAAAAAAAAAABQEBAAAAAAAAAAAAAAAAAAAABP/aAAwDAQACEAMQAAAAng7v/8QAHBAAAQQDAQAAAAAAAAAAAAAAAQIDBBEABSEi/9oACAEBAAE/ANe4zPVLjBK2y2vz2xZFnP/EABkRAQACAwAAAAAAAAAAAAAAAAEAAgMRMf/aAAgBAgEBPwDMtWunpP/EABcRAQEBAQAAAAAAAAAAAAAAAAExAAP/2gAIAQMBAT8A5gkLv//Z",blurWidth:8,blurHeight:6};let h={MDXContent:function(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,r.ah)(),A.components);return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(c,{...A})}):c(A)},pageOpts:{filePath:"pages/2023/activites/weeklyMeets/230904.mdx",route:"/2023/activites/weeklyMeets/230904",headings:[{depth:1,value:"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록",id:"0904-오픈소스-컨트리뷰션-아카데미-회의록"},{depth:3,value:"☑️ 참석자",id:"️-참석자"},{depth:3,value:"☑️ 회의 내용",id:"️-회의-내용"},{depth:3,value:"☑️ 기념사진",id:"️-기념사진"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록"},pageNextRoute:"/2023/activites/weeklyMeets/230904",nextraLayout:a.ZP,themeConfig:o.Z};function c(A){let e=Object.assign({h1:"h1",ul:"ul",li:"li",h3:"h3",p:"p",hr:"hr"},(0,r.ah)(),A.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{children:"[09/04] 오픈소스 컨트리뷰션 아카데미 회의록"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"일시 : 2023년 08월 27일 일요일"}),"\n",(0,t.jsx)(e.li,{children:"장소 : OpenUP GROUND3"}),"\n"]}),"\n",(0,t.jsx)(e.h3,{id:"️-참석자",children:"☑️ 참석자"}),"\n",(0,t.jsx)(e.p,{children:"염근철, 강병선, 김수빈, 정성락, 전의정, 서청운"}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-회의-내용",children:"☑️ 회의 내용"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"개별 관심 이슈 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 기여 완료한 PR 공유"}),"\n",(0,t.jsx)(e.li,{children:"개별 관심 기술 공유"}),"\n",(0,t.jsx)(e.li,{children:"'Github Actions 쿠버네티스에서 self-hosted로 설치&운영하기 발표 (서청운)"}),"\n"]}),"\n",(0,t.jsx)(e.hr,{}),"\n",(0,t.jsx)(e.h3,{id:"️-기념사진",children:"☑️ 기념사진"}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(s(),{alt:"image1",placeholder:"blur",src:d}),"\n",(0,t.jsx)(s(),{alt:"image2",placeholder:"blur",src:u}),"\n",(0,t.jsx)(s(),{alt:"image3",placeholder:"blur",src:l}),"\n",(0,t.jsx)(s(),{alt:"image4",placeholder:"blur",src:m})]})]})}var x=(0,i.j)(h)}},function(A){A.O(0,[376,774,888,179],function(){return A(A.s=8110)}),_N_E=A.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members-d89a632281a87362.js b/_next/static/chunks/pages/2023/members-d89a632281a87362.js new file mode 100644 index 00000000..3faad51d --- /dev/null +++ b/_next/static/chunks/pages/2023/members-d89a632281a87362.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[638],{1232:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members",function(){return i(6698)}])},979:function(e,n,i){"use strict";var o=i(5893);n.Z={logo:(0,o.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,o.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,o.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,o.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,o.jsx)("meta",{property:"og:type",content:"website"})]})}},6698:function(e,n,i){"use strict";i.r(n);var o=i(5893),t=i(2673),r=i(4984),a=i(979);i(9966);var s=i(1151);i(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members.mdx",route:"/2023/members",headings:[{depth:3,value:"멤버 목록",id:"멤버-목록"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Members"},pageNextRoute:"/2023/members",nextraLayout:r.ZP,themeConfig:a.Z};function d(e){let n=Object.assign({h3:"h3",ul:"ul",li:"li",a:"a",hr:"hr",ol:"ol"},(0,s.ah)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h3,{id:"멤버-목록",children:"멤버 목록"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/YeomGeunCheol",children:"염근철(멘토)"})}),"\n"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/GangByeongSun",children:"강병선"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/GangSiOn",children:"강시온"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/KwonYoungGil",children:"권영길"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/KimSuBin",children:"김수빈"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/KimOwnSik",children:"김원식"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/KimHakJun",children:"김학준"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/ParkJinSu",children:"박진수"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/SeoChungWun",children:"서청운"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/SongHyeMin",children:"송혜민"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/AhnDaHae",children:"안다혜"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/AhnJiWan",children:"안지완"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/YouYoonWoo",children:"유윤우"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/LeeByeongGon",children:"이병곤"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/LeeEuiJu",children:"이의주"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/GeonEuiJung",children:"전의정"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/JungSungRock",children:"정성락"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/ChaeMoonYoung",children:"채문영"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://argo-oss.github.io/2023/members/ChoiSooNyeong",children:"최수녕"})}),"\n"]})]})}n.default=(0,t.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=1232)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members-de69fca9a330ad91.js b/_next/static/chunks/pages/2023/members-de69fca9a330ad91.js deleted file mode 100644 index 17978688..00000000 --- a/_next/static/chunks/pages/2023/members-de69fca9a330ad91.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[638],{1232:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members",function(){return o(6698)}])},979:function(e,n,o){"use strict";var i=o(5893);n.Z={logo:(0,i.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},6698:function(e,n,o){"use strict";o.r(n);var i=o(5893),r=o(2673),t=o(4984),s=o(979);o(9966);var a=o(1151);o(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,a.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members.mdx",route:"/2023/members",headings:[{depth:3,value:"멤버 목록",id:"멤버-목록"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Members"},pageNextRoute:"/2023/members",nextraLayout:t.ZP,themeConfig:s.Z};function d(e){let n=Object.assign({h3:"h3",ul:"ul",li:"li",a:"a",hr:"hr",ol:"ol"},(0,a.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h3,{id:"멤버-목록",children:"멤버 목록"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/YeomGeunCheol",children:"염근철(멘토)"})}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/GangByeongSun",children:"강병선"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/GangSiOn",children:"강시온"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/KwonYoungGil",children:"권영길"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/KimSuBin",children:"김수빈"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/KimOwnSik",children:"김원식"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/KimHakJun",children:"김학준"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/ParkJinSu",children:"박진수"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/SeoChungWun",children:"서청운"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/SongHyeMin",children:"송혜민"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/AhnDaHae",children:"안다혜"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/AhnJiWan",children:"안지완"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/YouYoonWoo",children:"유윤우"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/LeeByeongGon",children:"이병곤"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/LeeEuiJu",children:"이의주"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/GeonEuiJung",children:"전의정"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/JungSungRock",children:"정성락"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/ChaeMoonYoung",children:"채문영"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argoworkflows-oss.github.io/2023/members/ChoiSooNyeong",children:"최수녕"})}),"\n"]})]})}n.default=(0,r.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=1232)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/AhnDaHae-523f9bf2bbe22137.js b/_next/static/chunks/pages/2023/members/AhnDaHae-523f9bf2bbe22137.js deleted file mode 100644 index 1ec40ebb..00000000 --- a/_next/static/chunks/pages/2023/members/AhnDaHae-523f9bf2bbe22137.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[137],{2426:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/AhnDaHae",function(){return t(8130)}])},979:function(e,n,t){"use strict";var o=t(5893);n.Z={logo:(0,o.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,o.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,o.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,o.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,o.jsx)("meta",{property:"og:type",content:"website"})]})}},8130:function(e,n,t){"use strict";t.r(n);var o=t(5893),a=t(2673),i=t(4984),r=t(979);t(9966);var s=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/AhnDaHae.mdx",route:"/2023/members/AhnDaHae",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Ahndahae"},pageNextRoute:"/2023/members/AhnDaHae",nextraLayout:i.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"name : 안다혜"}),"\n",(0,o.jsxs)(n.li,{children:["github : ",(0,o.jsx)(n.a,{href:"https://github.com/da-head0",children:"da.head0"})]}),"\n",(0,o.jsx)(n.li,{children:"age : 미상 ^.^"}),"\n",(0,o.jsxs)(n.li,{children:["blog : ",(0,o.jsx)(n.a,{href:"https://aimb.tistory.com/",children:"aimb"})]}),"\n",(0,o.jsxs)(n.li,{children:["twitter : ",(0,o.jsx)(n.a,{href:"https://twitter.com/mmmmmmmdev",children:"MM"})," (비팔알림이 꺼져 있어서 팔로하시면 댓글이나 메시지 한번만 주세요...)"]}),"\n"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었습니다."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"현재 SRE로 일하고 있습니다."}),"\n",(0,o.jsx)(n.li,{children:"2022년의 스터디봇입니다. 사실 2023년도 스터디봇으로 살고 있긴 합니다."}),"\n",(0,o.jsx)(n.li,{children:"치즈 조랭이떡 고양이를 키웁니다."}),"\n",(0,o.jsx)(n.li,{children:"키보드 좋아합니다. 같이 윤활하실분 항시 환영..."}),"\n"]})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=2426)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/AhnDaHae-77f54b010403ae32.js b/_next/static/chunks/pages/2023/members/AhnDaHae-77f54b010403ae32.js new file mode 100644 index 00000000..79989ace --- /dev/null +++ b/_next/static/chunks/pages/2023/members/AhnDaHae-77f54b010403ae32.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[137],{2426:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/AhnDaHae",function(){return t(8130)}])},979:function(e,n,t){"use strict";var a=t(5893);n.Z={logo:(0,a.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,a.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,a.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,a.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,a.jsx)("meta",{property:"og:type",content:"website"})]})}},8130:function(e,n,t){"use strict";t.r(n);var a=t(5893),i=t(2673),o=t(4984),r=t(979);t(9966);var d=t(1151);t(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2023/members/AhnDaHae.mdx",route:"/2023/members/AhnDaHae",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Ahndahae"},pageNextRoute:"/2023/members/AhnDaHae",nextraLayout:o.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,d.ah)(),e.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"name : 안다혜"}),"\n",(0,a.jsxs)(n.li,{children:["github : ",(0,a.jsx)(n.a,{href:"https://github.com/da-head0",children:"da.head0"})]}),"\n",(0,a.jsx)(n.li,{children:"age : 미상 ^.^"}),"\n",(0,a.jsxs)(n.li,{children:["blog : ",(0,a.jsx)(n.a,{href:"https://aimb.tistory.com/",children:"aimb"})]}),"\n",(0,a.jsxs)(n.li,{children:["twitter : ",(0,a.jsx)(n.a,{href:"https://twitter.com/mmmmmmmdev",children:"MM"})," (비팔알림이 꺼져 있어서 팔로하시면 댓글이나 메시지 한번만 주세요...)"]}),"\n"]}),"\n",(0,a.jsx)(n.hr,{}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었습니다."]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"현재 SRE로 일하고 있습니다."}),"\n",(0,a.jsx)(n.li,{children:"2022년의 스터디봇입니다. 사실 2023년도 스터디봇으로 살고 있긴 합니다."}),"\n",(0,a.jsx)(n.li,{children:"치즈 조랭이떡 고양이를 키웁니다."}),"\n",(0,a.jsx)(n.li,{children:"키보드 좋아합니다. 같이 윤활하실분 항시 환영..."}),"\n"]})]})}n.default=(0,i.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=2426)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/AhnJiWan-54245b781f4d0069.js b/_next/static/chunks/pages/2023/members/AhnJiWan-54245b781f4d0069.js new file mode 100644 index 00000000..df471133 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/AhnJiWan-54245b781f4d0069.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[366],{8648:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/AhnJiWan",function(){return t(2840)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},2840:function(e,n,t){"use strict";t.r(n);var i=t(5893),a=t(2673),o=t(4984),r=t(979);t(9966);var m=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2023/members/AhnJiWan.mdx",route:"/2023/members/AhnJiWan",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Ahnjiwan"},pageNextRoute:"/2023/members/AhnJiWan",nextraLayout:o.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"name : 안지완"}),"\n",(0,i.jsxs)(n.li,{children:["github : ",(0,i.jsx)(n.a,{href:"https://github.com/synoti21",children:"synoti21"})]}),"\n",(0,i.jsx)(n.li,{children:"age : 22"}),"\n",(0,i.jsxs)(n.li,{children:["blog : ",(0,i.jsx)(n.a,{href:"https://velog.io/@synoti21",children:"velog"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"데이터 엔지니어링 중 파이프라인 CI/CD 배포에서 사용되는 k8s에 관심을 갖게되어 들이파게 됐고, k8s 기반 워크플로우인 argo workflow를 경험해보고자 OSS에 지원하게 되었습니다."}),"\n",(0,i.jsx)(n.p,{children:"MLOps 관련 발제 때문에 한 주간 너무 정신없어서 이제서야 올리네요ㅠㅠ다른 참가자분들에 비해 너무 부족해서 주눅드는 감이 없진 않지만 그래도 정말 열심히 참여하겠습니다."})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8648)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/AhnJiWan-c4c3d1981917b454.js b/_next/static/chunks/pages/2023/members/AhnJiWan-c4c3d1981917b454.js deleted file mode 100644 index 2ace6bb9..00000000 --- a/_next/static/chunks/pages/2023/members/AhnJiWan-c4c3d1981917b454.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[366],{8648:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/AhnJiWan",function(){return o(2840)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},2840:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/AhnJiWan.mdx",route:"/2023/members/AhnJiWan",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Ahnjiwan"},pageNextRoute:"/2023/members/AhnJiWan",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 안지완"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/synoti21",children:"synoti21"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 22"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@synoti21",children:"velog"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"데이터 엔지니어링 중 파이프라인 CI/CD 배포에서 사용되는 k8s에 관심을 갖게되어 들이파게 됐고, k8s 기반 워크플로우인 argo workflow를 경험해보고자 OSS에 지원하게 되었습니다."}),"\n",(0,t.jsx)(n.p,{children:"MLOps 관련 발제 때문에 한 주간 너무 정신없어서 이제서야 올리네요ㅠㅠ다른 참가자분들에 비해 너무 부족해서 주눅드는 감이 없진 않지만 그래도 정말 열심히 참여하겠습니다."})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8648)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/ChaeMoonYoung-31f69a03e0489143.js b/_next/static/chunks/pages/2023/members/ChaeMoonYoung-31f69a03e0489143.js deleted file mode 100644 index 57b2af4c..00000000 --- a/_next/static/chunks/pages/2023/members/ChaeMoonYoung-31f69a03e0489143.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[255],{8988:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/ChaeMoonYoung",function(){return o(9591)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9591:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/ChaeMoonYoung.mdx",route:"/2023/members/ChaeMoonYoung",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Chaemoonyoung"},pageNextRoute:"/2023/members/ChaeMoonYoung",nextraLayout:i.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 채문영"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/moonyoungCHAE",children:"mmonyoungCHAE"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만 26살"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@moonyoung",children:"Velog"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"클라우드 서비스 백엔드 개발자입니다."}),"\n",(0,t.jsx)(n.li,{children:"운동 좋아해요! (헬스, 가아아끔 클라이밍)"}),"\n"]})]})}n.default=(0,a.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8988)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/ChaeMoonYoung-c91fe66dd7007604.js b/_next/static/chunks/pages/2023/members/ChaeMoonYoung-c91fe66dd7007604.js new file mode 100644 index 00000000..600190b8 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/ChaeMoonYoung-c91fe66dd7007604.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[255],{8988:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/ChaeMoonYoung",function(){return o(9591)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9591:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var m=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/ChaeMoonYoung.mdx",route:"/2023/members/ChaeMoonYoung",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Chaemoonyoung"},pageNextRoute:"/2023/members/ChaeMoonYoung",nextraLayout:i.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 채문영"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/moonyoungCHAE",children:"mmonyoungCHAE"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만 26살"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@moonyoung",children:"Velog"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"클라우드 서비스 백엔드 개발자입니다."}),"\n",(0,t.jsx)(n.li,{children:"운동 좋아해요! (헬스, 가아아끔 클라이밍)"}),"\n"]})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8988)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/ChoiSooNyeong-61f8f0e5e184b544.js b/_next/static/chunks/pages/2023/members/ChoiSooNyeong-61f8f0e5e184b544.js new file mode 100644 index 00000000..ac3c62ff --- /dev/null +++ b/_next/static/chunks/pages/2023/members/ChoiSooNyeong-61f8f0e5e184b544.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[339],{2465:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/ChoiSooNyeong",function(){return o(4798)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},4798:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/ChoiSooNyeong.mdx",route:"/2023/members/ChoiSooNyeong",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Choisoonyeong"},pageNextRoute:"/2023/members/ChoiSooNyeong",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p",br:"br"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 최수녕"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/sunyeongchoi",children:"sunyeongchoi"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만 26살"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://nyeongnyeong.tistory.com/",children:"뇽뇽"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다."]}),"\n",(0,t.jsxs)(n.p,{children:["웃을 때 하회탈 닮았어요. ^^",(0,t.jsx)(n.br,{}),"\n","좋아하는 운동은 수영 입니다.",(0,t.jsx)(n.br,{}),"\n","엠비티아이는 ISFP 입니다 ~"]})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=2465)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/GangByeongSun-113f28edff9affe4.js b/_next/static/chunks/pages/2023/members/GangByeongSun-113f28edff9affe4.js new file mode 100644 index 00000000..71ed983a --- /dev/null +++ b/_next/static/chunks/pages/2023/members/GangByeongSun-113f28edff9affe4.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[327],{6307:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/GangByeongSun",function(){return t(1738)}])},979:function(e,n,t){"use strict";var a=t(5893);n.Z={logo:(0,a.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,a.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,a.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,a.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,a.jsx)("meta",{property:"og:type",content:"website"})]})}},1738:function(e,n,t){"use strict";t.r(n);var a=t(5893),i=t(2673),o=t(4984),r=t(979);t(9966);var u=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/GangByeongSun.mdx",route:"/2023/members/GangByeongSun",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Gangbyeongsun"},pageNextRoute:"/2023/members/GangByeongSun",nextraLayout:o.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"name : 강병선"}),"\n",(0,a.jsxs)(n.li,{children:["github : ",(0,a.jsx)(n.a,{href:"https://github.com/qudtjs0753",children:"qudtjs0753"})]}),"\n",(0,a.jsx)(n.li,{children:"age : 0~100살 사이"}),"\n",(0,a.jsxs)(n.li,{children:["blog : ",(0,a.jsx)(n.a,{href:"",children:"??"})]}),"\n"]}),"\n",(0,a.jsx)(n.hr,{}),"\n",(0,a.jsx)(n.p,{children:"잘부탁드립니다 꾸벅\n방금 면접보고 왔습니다 ㅎㅎ\n이름을 외우기 힘드시다면 KBS로 외우시면 됩니다\n얘기듣는거 참 좋아합니다. 커피숍에서 멘토님이 기술 얘기 해주시는거 너무 재밌었습니다 더 듣고싶슴다"})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=6307)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/GangByeongSun-3cf92debe566816c.js b/_next/static/chunks/pages/2023/members/GangByeongSun-3cf92debe566816c.js deleted file mode 100644 index 019b4012..00000000 --- a/_next/static/chunks/pages/2023/members/GangByeongSun-3cf92debe566816c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[327],{6307:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/GangByeongSun",function(){return o(1738)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},1738:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/GangByeongSun.mdx",route:"/2023/members/GangByeongSun",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Gangbyeongsun"},pageNextRoute:"/2023/members/GangByeongSun",nextraLayout:i.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 강병선"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/qudtjs0753",children:"qudtjs0753"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 0~100살 사이"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"",children:"??"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"잘부탁드립니다 꾸벅\n방금 면접보고 왔습니다 ㅎㅎ\n이름을 외우기 힘드시다면 KBS로 외우시면 됩니다\n얘기듣는거 참 좋아합니다. 커피숍에서 멘토님이 기술 얘기 해주시는거 너무 재밌었습니다 더 듣고싶슴다"})]})}n.default=(0,a.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=6307)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/GangSiOn-438a1ab516f6bd51.js b/_next/static/chunks/pages/2023/members/GangSiOn-438a1ab516f6bd51.js deleted file mode 100644 index 89ba6f2e..00000000 --- a/_next/static/chunks/pages/2023/members/GangSiOn-438a1ab516f6bd51.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[415],{7276:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/GangSiOn",function(){return o(1212)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},1212:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/GangSiOn.mdx",route:"/2023/members/GangSiOn",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Gangsion"},pageNextRoute:"/2023/members/GangSiOn",nextraLayout:i.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 강시온"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/Yaminyam",children:"Yaminyam"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 24"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다.\n평소에도 오픈소스에 흥미가 많고 꾸준히 기여하고 있습니다.\n개발자를 위한 개발자가 되기위해 최근에 DevOps에 흥미가 있어 Argo 프로젝트를 접해보고 싶어 참가하게 되었습니다."]})]})}n.default=(0,a.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7276)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/GangSiOn-b9d8f1fd931d4f33.js b/_next/static/chunks/pages/2023/members/GangSiOn-b9d8f1fd931d4f33.js new file mode 100644 index 00000000..e8204d46 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/GangSiOn-b9d8f1fd931d4f33.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[415],{7276:function(e,n,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/GangSiOn",function(){return a(1212)}])},979:function(e,n,a){"use strict";var t=a(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},1212:function(e,n,a){"use strict";a.r(n);var t=a(5893),i=a(2673),o=a(4984),r=a(979);a(9966);var m=a(1151);a(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2023/members/GangSiOn.mdx",route:"/2023/members/GangSiOn",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Gangsion"},pageNextRoute:"/2023/members/GangSiOn",nextraLayout:o.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 강시온"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/Yaminyam",children:"Yaminyam"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 24"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다.\n평소에도 오픈소스에 흥미가 많고 꾸준히 기여하고 있습니다.\n개발자를 위한 개발자가 되기위해 최근에 DevOps에 흥미가 있어 Argo 프로젝트를 접해보고 싶어 참가하게 되었습니다."]})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7276)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/GeonEuiJung-482322524d8b9423.js b/_next/static/chunks/pages/2023/members/GeonEuiJung-482322524d8b9423.js deleted file mode 100644 index d44614a4..00000000 --- a/_next/static/chunks/pages/2023/members/GeonEuiJung-482322524d8b9423.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[909],{5862:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/GeonEuiJung",function(){return o(5763)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},5763:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/GeonEuiJung.mdx",route:"/2023/members/GeonEuiJung",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Geoneuijung"},pageNextRoute:"/2023/members/GeonEuiJung",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 전의정"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/juijeong8324",children:"juijeong8324"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만 21세(01년생)"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@juijeong8324",children:"뚜비"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"작년 2022 오픈소스 컨트리뷰션에 참가하면서 오픈소스의 매력(?)에 빠져버렸습니다"}),"\n",(0,t.jsx)(n.p,{children:"분야를 정하기 위해 이것저것 해보다가 클라우드/백엔드/Devops 쪽으로 관심이 생겨 공부를 시작하게 되었습니다"}),"\n",(0,t.jsx)(n.p,{children:"휴학했습니다!! 휴학하고 6개월동안 코딩을 안 했습니다(죄송합니다)"}),"\n",(0,t.jsx)(n.p,{children:"MBTI : ENTP & INTP 반반"}),"\n",(0,t.jsx)(n.p,{children:"배워야 할게 산더미고 부족한게 많지만 열심히 따라가겠습니다. 감사합니다!"}),"\n",(0,t.jsx)(n.p,{children:"p.s 뭘 적어야 하는지 모르겠으나 TMI 적는 공간이라 이해하고 적어봅니다.."})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=5862)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/GeonEuiJung-7bd26d80692e2e9e.js b/_next/static/chunks/pages/2023/members/GeonEuiJung-7bd26d80692e2e9e.js new file mode 100644 index 00000000..9953a76b --- /dev/null +++ b/_next/static/chunks/pages/2023/members/GeonEuiJung-7bd26d80692e2e9e.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[909],{5862:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/GeonEuiJung",function(){return i(5763)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},5763:function(e,n,i){"use strict";i.r(n);var t=i(5893),o=i(2673),a=i(4984),r=i(979);i(9966);var u=i(1151);i(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/GeonEuiJung.mdx",route:"/2023/members/GeonEuiJung",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Geoneuijung"},pageNextRoute:"/2023/members/GeonEuiJung",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 전의정"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/juijeong8324",children:"juijeong8324"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만 21세(01년생)"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@juijeong8324",children:"뚜비"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"작년 2022 오픈소스 컨트리뷰션에 참가하면서 오픈소스의 매력(?)에 빠져버렸습니다"}),"\n",(0,t.jsx)(n.p,{children:"분야를 정하기 위해 이것저것 해보다가 클라우드/백엔드/Devops 쪽으로 관심이 생겨 공부를 시작하게 되었습니다"}),"\n",(0,t.jsx)(n.p,{children:"휴학했습니다!! 휴학하고 6개월동안 코딩을 안 했습니다(죄송합니다)"}),"\n",(0,t.jsx)(n.p,{children:"MBTI : ENTP & INTP 반반"}),"\n",(0,t.jsx)(n.p,{children:"배워야 할게 산더미고 부족한게 많지만 열심히 따라가겠습니다. 감사합니다!"}),"\n",(0,t.jsx)(n.p,{children:"p.s 뭘 적어야 하는지 모르겠으나 TMI 적는 공간이라 이해하고 적어봅니다.."})]})}n.default=(0,o.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=5862)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/JungSungRock-bd25d8d8ae6a9ab5.js b/_next/static/chunks/pages/2023/members/JungSungRock-bd25d8d8ae6a9ab5.js new file mode 100644 index 00000000..a67624cd --- /dev/null +++ b/_next/static/chunks/pages/2023/members/JungSungRock-bd25d8d8ae6a9ab5.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[641],{8883:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/JungSungRock",function(){return t(2724)}])},979:function(e,n,t){"use strict";var o=t(5893);n.Z={logo:(0,o.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,o.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,o.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,o.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,o.jsx)("meta",{property:"og:type",content:"website"})]})}},2724:function(e,n,t){"use strict";t.r(n);var o=t(5893),a=t(2673),i=t(4984),r=t(979);t(9966);var u=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/JungSungRock.mdx",route:"/2023/members/JungSungRock",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Jungsungrock"},pageNextRoute:"/2023/members/JungSungRock",nextraLayout:i.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"name : 정성락"}),"\n",(0,o.jsxs)(n.li,{children:["github: ",(0,o.jsx)(n.a,{href:"https://github.com/Jack-R-lantern",children:"Jack-R-lantern"})]}),"\n",(0,o.jsx)(n.li,{children:"age: ??"}),"\n",(0,o.jsx)(n.li,{children:"blog: ??"}),"\n"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참여하게 되었습니다."]}),"\n",(0,o.jsx)(n.p,{children:"container 기술을 좋아합니다."}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://www.cncf.io/",children:"cncf"}),"를 굉장히 좋아합니다."]})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8883)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/JungSungRock-dbee88d115c515f6.js b/_next/static/chunks/pages/2023/members/JungSungRock-dbee88d115c515f6.js deleted file mode 100644 index 30c356ad..00000000 --- a/_next/static/chunks/pages/2023/members/JungSungRock-dbee88d115c515f6.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[641],{8883:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/JungSungRock",function(){return o(2724)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},2724:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/JungSungRock.mdx",route:"/2023/members/JungSungRock",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Jungsungrock"},pageNextRoute:"/2023/members/JungSungRock",nextraLayout:i.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 정성락"}),"\n",(0,t.jsxs)(n.li,{children:["github: ",(0,t.jsx)(n.a,{href:"https://github.com/Jack-R-lantern",children:"Jack-R-lantern"})]}),"\n",(0,t.jsx)(n.li,{children:"age: ??"}),"\n",(0,t.jsx)(n.li,{children:"blog: ??"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참여하게 되었습니다."]}),"\n",(0,t.jsx)(n.p,{children:"container 기술을 좋아합니다."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.cncf.io/",children:"cncf"}),"를 굉장히 좋아합니다."]})]})}n.default=(0,a.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8883)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KimHakJun-af75ecbb5414920b.js b/_next/static/chunks/pages/2023/members/KimHakJun-af75ecbb5414920b.js new file mode 100644 index 00000000..c54f92fb --- /dev/null +++ b/_next/static/chunks/pages/2023/members/KimHakJun-af75ecbb5414920b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[158],{3485:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KimHakJun",function(){return t(1381)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},1381:function(e,n,t){"use strict";t.r(n);var i=t(5893),a=t(2673),o=t(4984),r=t(979);t(9966);var m=t(1151);t(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/KimHakJun.mdx",route:"/2023/members/KimHakJun",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimhakjun"},pageNextRoute:"/2023/members/KimHakJun",nextraLayout:o.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"name : 김학준"}),"\n",(0,i.jsxs)(n.li,{children:["github : ",(0,i.jsx)(n.a,{href:"https://github.com/junkmm",children:"junkmm"})]}),"\n",(0,i.jsx)(n.li,{children:"age : 미상"}),"\n",(0,i.jsxs)(n.li,{children:["blog : ",(0,i.jsx)(n.a,{href:"https://junkmm.tistory.com/",children:"junkmm"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참가하게 되었습니다."]}),"\n",(0,i.jsx)(n.p,{children:"클라우드와 데브옵스에 관심이 많습니다."})]})}n.default=(0,a.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=3485)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KimHakJun-c6088429f4dc1c3c.js b/_next/static/chunks/pages/2023/members/KimHakJun-c6088429f4dc1c3c.js deleted file mode 100644 index 208f242c..00000000 --- a/_next/static/chunks/pages/2023/members/KimHakJun-c6088429f4dc1c3c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[158],{3485:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KimHakJun",function(){return o(1381)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},1381:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/KimHakJun.mdx",route:"/2023/members/KimHakJun",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimhakjun"},pageNextRoute:"/2023/members/KimHakJun",nextraLayout:i.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 김학준"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/junkmm",children:"junkmm"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://junkmm.tistory.com/",children:"junkmm"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참가하게 되었습니다."]}),"\n",(0,t.jsx)(n.p,{children:"클라우드와 데브옵스에 관심이 많습니다."})]})}n.default=(0,a.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=3485)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KimOwnSik-e488dc38dcd6f247.js b/_next/static/chunks/pages/2023/members/KimOwnSik-e488dc38dcd6f247.js new file mode 100644 index 00000000..c56eb2bc --- /dev/null +++ b/_next/static/chunks/pages/2023/members/KimOwnSik-e488dc38dcd6f247.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[32],{297:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KimOwnSik",function(){return i(7834)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},7834:function(e,n,i){"use strict";i.r(n);var t=i(5893),a=i(2673),o=i(4984),r=i(979);i(9966);var m=i(1151);i(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2023/members/KimOwnSik.mdx",route:"/2023/members/KimOwnSik",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimownsik"},pageNextRoute:"/2023/members/KimOwnSik",nextraLayout:o.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 김원식"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/mihilt",children:"mihilt"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다."]}),"\n",(0,t.jsx)(n.p,{children:"요즘 일찍 자고 일찍 일어납니다."}),"\n",(0,t.jsx)(n.p,{children:"오늘 DCO 봇이라는 것을 처음 알게 되었습니다.\n문제 없이 DCO 봇의 체크가 통과되면 좋겠습니다."})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=297)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KimSuBin-1ae4424fad98792c.js b/_next/static/chunks/pages/2023/members/KimSuBin-1ae4424fad98792c.js deleted file mode 100644 index 4b8f5837..00000000 --- a/_next/static/chunks/pages/2023/members/KimSuBin-1ae4424fad98792c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[994],{9097:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KimSuBin",function(){return o(3363)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},3363:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/KimSuBin.mdx",route:"/2023/members/KimSuBin",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimsubin"},pageNextRoute:"/2023/members/KimSuBin",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 김수빈"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/sudosubin",children:"sudosubin"})]}),"\n",(0,t.jsx)(n.li,{children:"age : \uD83D\uDD10"}),"\n",(0,t.jsx)(n.li,{children:"blog : 없음"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"오픈소스 컨트리뷰션 아카데미 2023에서 ArgoWorkflows 프로젝트의 멘티로 참여하게 되었습니다."}),"\n",(0,t.jsx)(n.p,{children:"현재는 백엔드 개발과 DevOps 개발을 공부하고 있고, 개인적으로는 고기와 수영을 좋아합니다."})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=9097)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KimOwnSik-0f78ea5d34521dbd.js b/_next/static/chunks/pages/2023/members/KimSuBin-ad800d8a4ede063d.js similarity index 50% rename from _next/static/chunks/pages/2023/members/KimOwnSik-0f78ea5d34521dbd.js rename to _next/static/chunks/pages/2023/members/KimSuBin-ad800d8a4ede063d.js index eb188316..12f042f9 100644 --- a/_next/static/chunks/pages/2023/members/KimOwnSik-0f78ea5d34521dbd.js +++ b/_next/static/chunks/pages/2023/members/KimSuBin-ad800d8a4ede063d.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[32],{297:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KimOwnSik",function(){return o(7834)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},7834:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/KimOwnSik.mdx",route:"/2023/members/KimOwnSik",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimownsik"},pageNextRoute:"/2023/members/KimOwnSik",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 김원식"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/mihilt",children:"mihilt"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참여하게 되었습니다."]}),"\n",(0,t.jsx)(n.p,{children:"요즘 일찍 자고 일찍 일어납니다."}),"\n",(0,t.jsx)(n.p,{children:"오늘 DCO 봇이라는 것을 처음 알게 되었습니다.\n문제 없이 DCO 봇의 체크가 통과되면 좋겠습니다."})]})}n.default=(0,i.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=297)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[994],{9097:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KimSuBin",function(){return i(3363)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},3363:function(e,n,i){"use strict";i.r(n);var t=i(5893),o=i(2673),a=i(4984),r=i(979);i(9966);var m=i(1151);i(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/KimSuBin.mdx",route:"/2023/members/KimSuBin",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimsubin"},pageNextRoute:"/2023/members/KimSuBin",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 김수빈"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/sudosubin",children:"sudosubin"})]}),"\n",(0,t.jsx)(n.li,{children:"age : \uD83D\uDD10"}),"\n",(0,t.jsx)(n.li,{children:"blog : 없음"}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"오픈소스 컨트리뷰션 아카데미 2023에서 ArgoWorkflows 프로젝트의 멘티로 참여하게 되었습니다."}),"\n",(0,t.jsx)(n.p,{children:"현재는 백엔드 개발과 DevOps 개발을 공부하고 있고, 개인적으로는 고기와 수영을 좋아합니다."})]})}n.default=(0,o.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=9097)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KwonYoungGil-3823078e3f6e5065.js b/_next/static/chunks/pages/2023/members/KwonYoungGil-3823078e3f6e5065.js deleted file mode 100644 index d7bbc75c..00000000 --- a/_next/static/chunks/pages/2023/members/KwonYoungGil-3823078e3f6e5065.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{7498:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KwonYoungGil",function(){return o(2271)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},2271:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/KwonYoungGil.mdx",route:"/2023/members/KwonYoungGil",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kwonyounggil"},pageNextRoute:"/2023/members/KwonYoungGil",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 권영길"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/zel0rd",children:"zel0rd"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://zel0rd.tistory.com/",children:"zel0rd"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"다양한 분야에 관심이 있습니다."})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7498)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/KwonYoungGil-d043230bd1e9eca1.js b/_next/static/chunks/pages/2023/members/KwonYoungGil-d043230bd1e9eca1.js new file mode 100644 index 00000000..8a76c3f4 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/KwonYoungGil-d043230bd1e9eca1.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{7498:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/KwonYoungGil",function(){return t(2271)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},2271:function(e,n,t){"use strict";t.r(n);var i=t(5893),o=t(2673),a=t(4984),r=t(979);t(9966);var d=t(1151);t(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/KwonYoungGil.mdx",route:"/2023/members/KwonYoungGil",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kwonyounggil"},pageNextRoute:"/2023/members/KwonYoungGil",nextraLayout:a.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,d.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"name : 권영길"}),"\n",(0,i.jsxs)(n.li,{children:["github : ",(0,i.jsx)(n.a,{href:"https://github.com/zel0rd",children:"zel0rd"})]}),"\n",(0,i.jsx)(n.li,{children:"age : 미상"}),"\n",(0,i.jsxs)(n.li,{children:["blog : ",(0,i.jsx)(n.a,{href:"https://zel0rd.tistory.com/",children:"zel0rd"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"다양한 분야에 관심이 있습니다."})]})}n.default=(0,o.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7498)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/LeeByeongGon-4cde0d3e3017b817.js b/_next/static/chunks/pages/2023/members/LeeByeongGon-4cde0d3e3017b817.js new file mode 100644 index 00000000..86f03003 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/LeeByeongGon-4cde0d3e3017b817.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[325],{7585:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/LeeByeongGon",function(){return o(6583)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},6583:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var d=o(1151);o(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2023/members/LeeByeongGon.mdx",route:"/2023/members/LeeByeongGon",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Leebyeonggon"},pageNextRoute:"/2023/members/LeeByeongGon",nextraLayout:a.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,d.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 이병곤"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/binkoni",children:"binkoni"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만27세"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://gonnux.com/",children:"gonnux"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참여하게되었다"]}),"\n",(0,t.jsx)(n.p,{children:"MBTI는 INTP이다\n리눅스와 오픈소스를 매우 좋아한다 (하지만 취업하니 기여할 시간이 없어진듯 하다)\n1년 반정도 일한 백엔드 개발자이다\n퇴근후 헬스중인 헬린이다\n개발 외 취미는 재테크, 유튜브(보기), 자전거이다\n개발자로서의 초심을 되찾기 위해 컨트리뷰션 아카데미에 참가했다"})]})}n.default=(0,i.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7585)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/LeeByeongGon-652afddea6906ab3.js b/_next/static/chunks/pages/2023/members/LeeByeongGon-652afddea6906ab3.js deleted file mode 100644 index a8a2e258..00000000 --- a/_next/static/chunks/pages/2023/members/LeeByeongGon-652afddea6906ab3.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[325],{7585:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/LeeByeongGon",function(){return o(6583)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},6583:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/LeeByeongGon.mdx",route:"/2023/members/LeeByeongGon",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Leebyeonggon"},pageNextRoute:"/2023/members/LeeByeongGon",nextraLayout:a.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 이병곤"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/binkoni",children:"binkoni"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만27세"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://gonnux.com/",children:"gonnux"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참여하게되었다"]}),"\n",(0,t.jsx)(n.p,{children:"MBTI는 INTP이다\n리눅스와 오픈소스를 매우 좋아한다 (하지만 취업하니 기여할 시간이 없어진듯 하다)\n1년 반정도 일한 백엔드 개발자이다\n퇴근후 헬스중인 헬린이다\n개발 외 취미는 재테크, 유튜브(보기), 자전거이다\n개발자로서의 초심을 되찾기 위해 컨트리뷰션 아카데미에 참가했다"})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7585)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/LeeEuiJu-686fbd546faab96f.js b/_next/static/chunks/pages/2023/members/LeeEuiJu-686fbd546faab96f.js new file mode 100644 index 00000000..055fc4b4 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/LeeEuiJu-686fbd546faab96f.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[551],{1371:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/LeeEuiJu",function(){return t(4826)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},4826:function(e,n,t){"use strict";t.r(n);var i=t(5893),o=t(2673),a=t(4984),r=t(979);t(9966);var u=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/LeeEuiJu.mdx",route:"/2023/members/LeeEuiJu",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Leeeuiju"},pageNextRoute:"/2023/members/LeeEuiJu",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"name : 이의주"}),"\n",(0,i.jsxs)(n.li,{children:["github : ",(0,i.jsx)(n.a,{href:"https://github.com/Leeeuijooo",children:"Leeeuijooo"})]}),"\n",(0,i.jsx)(n.li,{children:"age : 10025세"}),"\n",(0,i.jsxs)(n.li,{children:["blog : ",(0,i.jsx)(n.a,{href:"https://velog.io/@euijoo3233",children:"의주"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참여하게되었다"]}),"\n",(0,i.jsx)(n.p,{children:"MBTI ENFJ\n운동 좋아해요\n목욜날 면접인데 준비 안해서 떨려요\n2023 OSSCA 열심히 참여해보겠습니다"})]})}n.default=(0,o.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=1371)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/LeeEuiJu-b6a00b738e9b874d.js b/_next/static/chunks/pages/2023/members/LeeEuiJu-b6a00b738e9b874d.js deleted file mode 100644 index fa29762f..00000000 --- a/_next/static/chunks/pages/2023/members/LeeEuiJu-b6a00b738e9b874d.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[551],{1371:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/LeeEuiJu",function(){return o(4826)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},4826:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/LeeEuiJu.mdx",route:"/2023/members/LeeEuiJu",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Leeeuiju"},pageNextRoute:"/2023/members/LeeEuiJu",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 이의주"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/Leeeuijooo",children:"Leeeuijooo"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 10025세"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@euijoo3233",children:"의주"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참여하게되었다"]}),"\n",(0,t.jsx)(n.p,{children:"MBTI ENFJ\n운동 좋아해요\n목욜날 면접인데 준비 안해서 떨려요\n2023 OSSCA 열심히 참여해보겠습니다"})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=1371)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/ParkJinSu-3d648f125645ae4c.js b/_next/static/chunks/pages/2023/members/ParkJinSu-3d648f125645ae4c.js new file mode 100644 index 00000000..9f9e7466 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/ParkJinSu-3d648f125645ae4c.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[128],{384:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/ParkJinSu",function(){return i(6670)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},6670:function(e,n,i){"use strict";i.r(n);var t=i(5893),a=i(2673),o=i(4984),r=i(979);i(9966);var u=i(1151);i(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/ParkJinSu.mdx",route:"/2023/members/ParkJinSu",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Parkjinsu"},pageNextRoute:"/2023/members/ParkJinSu",nextraLayout:o.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 박진수"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/umi0410",children:"umi0410"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 27"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://umi0410.github.io",children:"https://umi0410.github.io"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"주로 K8s, container, ArgoCD Argo Rollouts 같은 Cloud-Native한 기술에 관심이 많습니다."}),"\n",(0,t.jsx)(n.p,{children:"올해에는 영어 공부에 관심이 좀 많이 가요. 일주일에 한 번씩 화상 영어도 해보고 있고, 일주일에 한 두번씩 회화 스터디도 나가보려 노력 중이에요. 그리고 기술 블로그에 글을 쓸 때에도 요즘은 최대한 영어로도 작성해보려 노력하고 있습니다."}),"\n",(0,t.jsx)(n.p,{children:"취미로는 간간히 기타를 치고 있기도 합니다. 잘 치진 못하지만요."}),"\n",(0,t.jsx)(n.p,{children:"여행도 최대한 다녀보려고 노력하고 있어요. 작년에는 미국을, 올해에는 호주를 혼자 여행갔다왔었는데 너무 감사한 경험이었던 것 같습니다."})]})}n.default=(0,a.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=384)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/ParkJinSu-5488324b63aa659c.js b/_next/static/chunks/pages/2023/members/ParkJinSu-5488324b63aa659c.js deleted file mode 100644 index faa21f54..00000000 --- a/_next/static/chunks/pages/2023/members/ParkJinSu-5488324b63aa659c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[128],{384:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/ParkJinSu",function(){return t(6670)}])},979:function(e,n,t){"use strict";var o=t(5893);n.Z={logo:(0,o.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,o.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,o.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,o.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,o.jsx)("meta",{property:"og:type",content:"website"})]})}},6670:function(e,n,t){"use strict";t.r(n);var o=t(5893),i=t(2673),a=t(4984),r=t(979);t(9966);var s=t(1151);t(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/ParkJinSu.mdx",route:"/2023/members/ParkJinSu",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Parkjinsu"},pageNextRoute:"/2023/members/ParkJinSu",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"name : 박진수"}),"\n",(0,o.jsxs)(n.li,{children:["github : ",(0,o.jsx)(n.a,{href:"https://github.com/umi0410",children:"umi0410"})]}),"\n",(0,o.jsx)(n.li,{children:"age : 27"}),"\n",(0,o.jsxs)(n.li,{children:["blog : ",(0,o.jsx)(n.a,{href:"https://umi0410.github.io",children:"https://umi0410.github.io"})]}),"\n"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.p,{children:"주로 K8s, container, ArgoCD Argo Rollouts 같은 Cloud-Native한 기술에 관심이 많습니다."}),"\n",(0,o.jsx)(n.p,{children:"올해에는 영어 공부에 관심이 좀 많이 가요. 일주일에 한 번씩 화상 영어도 해보고 있고, 일주일에 한 두번씩 회화 스터디도 나가보려 노력 중이에요. 그리고 기술 블로그에 글을 쓸 때에도 요즘은 최대한 영어로도 작성해보려 노력하고 있습니다."}),"\n",(0,o.jsx)(n.p,{children:"취미로는 간간히 기타를 치고 있기도 합니다. 잘 치진 못하지만요."}),"\n",(0,o.jsx)(n.p,{children:"여행도 최대한 다녀보려고 노력하고 있어요. 작년에는 미국을, 올해에는 호주를 혼자 여행갔다왔었는데 너무 감사한 경험이었던 것 같습니다."})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=384)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/SeoChungWun-12f11fe39dda9df5.js b/_next/static/chunks/pages/2023/members/SeoChungWun-12f11fe39dda9df5.js new file mode 100644 index 00000000..f8f92138 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/SeoChungWun-12f11fe39dda9df5.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[828],{4173:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/SeoChungWun",function(){return t(9380)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},9380:function(e,n,t){"use strict";t.r(n);var i=t(5893),o=t(2673),a=t(4984),r=t(979);t(9966);var u=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/SeoChungWun.mdx",route:"/2023/members/SeoChungWun",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Seochungwun"},pageNextRoute:"/2023/members/SeoChungWun",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"name : 서청운"}),"\n",(0,i.jsxs)(n.li,{children:["github : ",(0,i.jsx)(n.a,{href:"https://github.com/newdeal123",children:"newdeal123"})]}),"\n",(0,i.jsx)(n.li,{children:"age : 20~30"}),"\n",(0,i.jsxs)(n.li,{children:["blog : ",(0,i.jsx)(n.a,{href:"https://newdeal123.tistory.com/",children:"뉴딜의 서랍장"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"MBTI는 ISFJ로 극F 극J 이다."}),"\n",(0,i.jsx)(n.p,{children:"홍대병이 있어 인디밴드를 참 좋아라 한다."})]})}n.default=(0,o.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=4173)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/SeoChungWun-20e2e0e35fa7c70c.js b/_next/static/chunks/pages/2023/members/SeoChungWun-20e2e0e35fa7c70c.js deleted file mode 100644 index ca498226..00000000 --- a/_next/static/chunks/pages/2023/members/SeoChungWun-20e2e0e35fa7c70c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[828],{4173:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/SeoChungWun",function(){return o(9380)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9380:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var u=o(1151);o(5675);let s={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,u.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/SeoChungWun.mdx",route:"/2023/members/SeoChungWun",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Seochungwun"},pageNextRoute:"/2023/members/SeoChungWun",nextraLayout:a.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,u.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 서청운"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/newdeal123",children:"newdeal123"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 20~30"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://newdeal123.tistory.com/",children:"뉴딜의 서랍장"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"MBTI는 ISFJ로 극F 극J 이다."}),"\n",(0,t.jsx)(n.p,{children:"홍대병이 있어 인디밴드를 참 좋아라 한다."})]})}n.default=(0,i.j)(s)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=4173)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/SongHaeMin-1118b8b31c3a8b66.js b/_next/static/chunks/pages/2023/members/SongHaeMin-1118b8b31c3a8b66.js deleted file mode 100644 index 1a138d49..00000000 --- a/_next/static/chunks/pages/2023/members/SongHaeMin-1118b8b31c3a8b66.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[332],{6335:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/SongHaeMin",function(){return o(2493)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},2493:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/SongHaeMin.mdx",route:"/2023/members/SongHaeMin",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Songhaemin"},pageNextRoute:"/2023/members/SongHaeMin",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 송혜민"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/shmruin",children:"shmruin"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"",children:"없음"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참석하게 되었다."]}),"\n",(0,t.jsx)(n.p,{children:"주기적으로 불면증이 있다."}),"\n",(0,t.jsx)(n.p,{children:"야근을 해서 피곤해도 집에 가면 활력이 생긴다."})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=6335)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/SongHaeMin-4ccbcbea03c5692f.js b/_next/static/chunks/pages/2023/members/SongHaeMin-4ccbcbea03c5692f.js new file mode 100644 index 00000000..6bd7b088 --- /dev/null +++ b/_next/static/chunks/pages/2023/members/SongHaeMin-4ccbcbea03c5692f.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[332],{6335:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/SongHaeMin",function(){return i(2493)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},2493:function(e,n,i){"use strict";i.r(n);var t=i(5893),a=i(2673),o=i(4984),r=i(979);i(9966);var d=i(1151);i(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2023/members/SongHaeMin.mdx",route:"/2023/members/SongHaeMin",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Songhaemin"},pageNextRoute:"/2023/members/SongHaeMin",nextraLayout:o.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,d.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 송혜민"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/shmruin",children:"shmruin"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"",children:"없음"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 멘티로 참석하게 되었다."]}),"\n",(0,t.jsx)(n.p,{children:"주기적으로 불면증이 있다."}),"\n",(0,t.jsx)(n.p,{children:"야근을 해서 피곤해도 집에 가면 활력이 생긴다."})]})}n.default=(0,a.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=6335)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/YeomGeunCheol-63c29f7c3dc9016f.js b/_next/static/chunks/pages/2023/members/YeomGeunCheol-63c29f7c3dc9016f.js deleted file mode 100644 index fe4d0e31..00000000 --- a/_next/static/chunks/pages/2023/members/YeomGeunCheol-63c29f7c3dc9016f.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[326],{566:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/YeomGeunCheol",function(){return o(5649)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},5649:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/YeomGeunCheol.mdx",route:"/2023/members/YeomGeunCheol",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Yeomgeuncheol"},pageNextRoute:"/2023/members/YeomGeunCheol",nextraLayout:i.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 염근철"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/GeunSam2",children:"GeunSam2"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://ykarma1996.tistory.com/",children:"모두의 근삼이"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘토를 담당하게 되었다."]}),"\n",(0,t.jsx)(n.p,{children:"수전증이 있다."}),"\n",(0,t.jsx)(n.p,{children:"혼자 갑자기 급발진 해서 신날때가 있다."})]})}n.default=(0,a.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=566)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/ChoiSooNyeong-283130c731dc0b5e.js b/_next/static/chunks/pages/2023/members/YeomGeunCheol-b41e9435a78b6278.js similarity index 51% rename from _next/static/chunks/pages/2023/members/ChoiSooNyeong-283130c731dc0b5e.js rename to _next/static/chunks/pages/2023/members/YeomGeunCheol-b41e9435a78b6278.js index de5a511b..2a511f8c 100644 --- a/_next/static/chunks/pages/2023/members/ChoiSooNyeong-283130c731dc0b5e.js +++ b/_next/static/chunks/pages/2023/members/YeomGeunCheol-b41e9435a78b6278.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[339],{2465:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/ChoiSooNyeong",function(){return o(4798)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},4798:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/ChoiSooNyeong.mdx",route:"/2023/members/ChoiSooNyeong",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Choisoonyeong"},pageNextRoute:"/2023/members/ChoiSooNyeong",nextraLayout:a.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p",br:"br"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 최수녕"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/sunyeongchoi",children:"sunyeongchoi"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 만 26살"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://nyeongnyeong.tistory.com/",children:"뇽뇽"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트에 멘티로 참여하게 되었다."]}),"\n",(0,t.jsxs)(n.p,{children:["웃을 때 하회탈 닮았어요. ^^",(0,t.jsx)(n.br,{}),"\n","좋아하는 운동은 수영 입니다.",(0,t.jsx)(n.br,{}),"\n","엠비티아이는 ISFP 입니다 ~"]})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=2465)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[326],{566:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/YeomGeunCheol",function(){return t(5649)}])},979:function(e,n,t){"use strict";var o=t(5893);n.Z={logo:(0,o.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,o.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,o.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,o.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,o.jsx)("meta",{property:"og:type",content:"website"})]})}},5649:function(e,n,t){"use strict";t.r(n);var o=t(5893),a=t(2673),i=t(4984),r=t(979);t(9966);var m=t(1151);t(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2023/members/YeomGeunCheol.mdx",route:"/2023/members/YeomGeunCheol",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Yeomgeuncheol"},pageNextRoute:"/2023/members/YeomGeunCheol",nextraLayout:i.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"name : 염근철"}),"\n",(0,o.jsxs)(n.li,{children:["github : ",(0,o.jsx)(n.a,{href:"https://github.com/GeunSam2",children:"GeunSam2"})]}),"\n",(0,o.jsx)(n.li,{children:"age : 미상"}),"\n",(0,o.jsxs)(n.li,{children:["blog : ",(0,o.jsx)(n.a,{href:"https://ykarma1996.tistory.com/",children:"모두의 근삼이"})]}),"\n"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘토를 담당하게 되었다."]}),"\n",(0,o.jsx)(n.p,{children:"수전증이 있다."}),"\n",(0,o.jsx)(n.p,{children:"혼자 갑자기 급발진 해서 신날때가 있다."})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=566)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/YouYoonWoo-30197f3f8b962a77.js b/_next/static/chunks/pages/2023/members/YouYoonWoo-30197f3f8b962a77.js new file mode 100644 index 00000000..016289da --- /dev/null +++ b/_next/static/chunks/pages/2023/members/YouYoonWoo-30197f3f8b962a77.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[209],{4957:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/YouYoonWoo",function(){return o(9019)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9019:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var d=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/2023/members/YouYoonWoo.mdx",route:"/2023/members/YouYoonWoo",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Youyoonwoo"},pageNextRoute:"/2023/members/YouYoonWoo",nextraLayout:a.ZP,themeConfig:r.Z};function m(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,d.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 유윤우"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/yunwoo-yu",children:"YunCow"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 바뀐나이로 29살"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@y_cow",children:"이전중인 블로그"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참여중입니다."]}),"\n",(0,t.jsx)(n.p,{children:"커피를 좋아한다."})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=4957)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2023/members/YouYoonWoo-a48dde4ca8c3deb1.js b/_next/static/chunks/pages/2023/members/YouYoonWoo-a48dde4ca8c3deb1.js deleted file mode 100644 index d09686d9..00000000 --- a/_next/static/chunks/pages/2023/members/YouYoonWoo-a48dde4ca8c3deb1.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[209],{4957:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2023/members/YouYoonWoo",function(){return o(9019)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9019:function(e,n,o){"use strict";o.r(n);var t=o(5893),a=o(2673),i=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/2023/members/YouYoonWoo.mdx",route:"/2023/members/YouYoonWoo",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Youyoonwoo"},pageNextRoute:"/2023/members/YouYoonWoo",nextraLayout:i.ZP,themeConfig:r.Z};function d(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 유윤우"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/yunwoo-yu",children:"YunCow"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 바뀐나이로 29살"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"https://velog.io/@y_cow",children:"이전중인 블로그"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"2023 오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트 멘티로 참여중입니다."]}),"\n",(0,t.jsx)(n.p,{children:"커피를 좋아한다."})]})}n.default=(0,a.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=4957)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2024/members-a65bbe73d048747b.js b/_next/static/chunks/pages/2024/members-a65bbe73d048747b.js new file mode 100644 index 00000000..e5fa6ba2 --- /dev/null +++ b/_next/static/chunks/pages/2024/members-a65bbe73d048747b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[313],{9481:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2024/members",function(){return t(4854)}])},979:function(e,n,t){"use strict";var i=t(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},4854:function(e,n,t){"use strict";t.r(n);var i=t(5893),o=t(2673),a=t(4984),r=t(979);t(9966);var d=t(1151);t(5675);let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/2024/members.mdx",route:"/2024/members",headings:[{depth:3,value:"멤버 목록",id:"멤버-목록"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Members"},pageNextRoute:"/2024/members",nextraLayout:a.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({h3:"h3",ul:"ul",li:"li",a:"a",hr:"hr",ol:"ol"},(0,d.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h3,{id:"멤버-목록",children:"멤버 목록"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"",children:"정성락(멘토)"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"",children:"최수녕(멘토)"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argo-oss.github.io/2024/members/SongHaeMin",children:"송혜민(멘토)"})}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://argo-oss.github.io/2024/members/KimCheolSu",children:"김철수"})}),"\n"]})]})}n.default=(0,o.j)(m)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=9481)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2024/members/KimCheolSu-25f2834c1b264d3e.js b/_next/static/chunks/pages/2024/members/KimCheolSu-25f2834c1b264d3e.js new file mode 100644 index 00000000..884001c4 --- /dev/null +++ b/_next/static/chunks/pages/2024/members/KimCheolSu-25f2834c1b264d3e.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[471],{8122:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2024/members/KimCheolSu",function(){return i(7914)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},7914:function(e,n,i){"use strict";i.r(n);var t=i(5893),o=i(2673),a=i(4984),r=i(979);i(9966);var m=i(1151);i(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2024/members/KimCheolSu.mdx",route:"/2024/members/KimCheolSu",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Kimcheolsu"},pageNextRoute:"/2024/members/KimCheolSu",nextraLayout:a.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 김철수"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"",children:"kcs15123"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"",children:"없음"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"작성 양식 테스트 페이지입니다."})]})}n.default=(0,o.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=8122)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/2024/members/SongHaeMin-e5c1b6affae15e27.js b/_next/static/chunks/pages/2024/members/SongHaeMin-e5c1b6affae15e27.js new file mode 100644 index 00000000..32b0141d --- /dev/null +++ b/_next/static/chunks/pages/2024/members/SongHaeMin-e5c1b6affae15e27.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[165],{7327:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/2024/members/SongHaeMin",function(){return i(9563)}])},979:function(e,n,i){"use strict";var t=i(5893);n.Z={logo:(0,t.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},9563:function(e,n,i){"use strict";i.r(n);var t=i(5893),a=i(2673),o=i(4984),r=i(979);i(9966);var m=i(1151);i(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,m.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/2024/members/SongHaeMin.mdx",route:"/2024/members/SongHaeMin",headings:[],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Songhaemin"},pageNextRoute:"/2024/members/SongHaeMin",nextraLayout:o.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({ul:"ul",li:"li",a:"a",hr:"hr",p:"p"},(0,m.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"name : 송혜민"}),"\n",(0,t.jsxs)(n.li,{children:["github : ",(0,t.jsx)(n.a,{href:"https://github.com/shmruin",children:"shmruin"})]}),"\n",(0,t.jsx)(n.li,{children:"age : 미상"}),"\n",(0,t.jsxs)(n.li,{children:["blog : ",(0,t.jsx)(n.a,{href:"",children:"없음"})]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"2024 오픈소스 아카데미의 ArgoCD 멘토로 참석하게 되었다."}),"\n",(0,t.jsx)(n.p,{children:"올해에도 약간의 불면증이 있다."}),"\n",(0,t.jsx)(n.p,{children:"하지만 커피만큼은 포기할 수 없다..."})]})}n.default=(0,a.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=7327)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/index-23b91e7f7eb3cf08.js b/_next/static/chunks/pages/index-23b91e7f7eb3cf08.js deleted file mode 100644 index 32b054e9..00000000 --- a/_next/static/chunks/pages/index-23b91e7f7eb3cf08.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{1464:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return o(4370)}])},979:function(e,n,o){"use strict";var t=o(5893);n.Z={logo:(0,t.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,t.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,t.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,t.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,t.jsx)("meta",{property:"og:type",content:"website"})]})}},4370:function(e,n,o){"use strict";o.r(n);var t=o(5893),i=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/index.mdx",route:"/",headings:[{depth:1,value:"ArgoWorkflows-OSS",id:"argoworkflows-oss"},{depth:2,value:"활동 개요",id:"활동-개요"},{depth:2,value:"본 REPO 목적",id:"본-repo-목적"},{depth:2,value:"Why not support i18n?",id:"why-not-support-i18n"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"ArgoWorkflows-OSS"},pageNextRoute:"/",nextraLayout:a.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({h1:"h1",ul:"ul",li:"li",a:"a",h2:"h2",p:"p",code:"code"},(0,s.ah)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{children:"ArgoWorkflows-OSS"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트를 위한 BaseCamp"]}),"\n",(0,t.jsxs)(n.li,{children:["ArgoWorkflows에 기여하고 싶으나 망설여지시는 분들은 저희 ",(0,t.jsx)(n.a,{href:"https://join.slack.com/t/oss-argoworkflows/shared_invite/zt-24ctv6z9y-~mXDrZmHA0hIl75QWAWocA",children:"Slack 채널"}),"에 오셔서 언제든 함께 참여하실 수 있습니다."]}),"\n",(0,t.jsx)(n.li,{children:"잘 모르시는 내용에 대해서는 멘토링을 요청하신다면 도와드리도록 하겠습니다."}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"활동-개요",children:"활동 개요"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["활동 목표 : ",(0,t.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows",children:"ArgoWorkflows"})," 오픈소스 기여 및 생태계 이해"]}),"\n",(0,t.jsx)(n.li,{children:"활동 방식 : 정기적 온/오프라인 미팅 및 과제 수행"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"본-repo-목적",children:"본 REPO 목적"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"프로젝트 페이지 생성"}),"\n",(0,t.jsx)(n.li,{children:"참여자 GIT 활용 트레이닝"}),"\n",(0,t.jsx)(n.li,{children:"참여자 정보 기록"}),"\n",(0,t.jsx)(n.li,{children:"활동 기록"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"why-not-support-i18n",children:"Why not support i18n?"}),"\n",(0,t.jsxs)(n.p,{children:["Because our pages using GitHub Pages for free.\nAnd Nextra(nextjs) not support i18n for ",(0,t.jsx)(n.code,{children:"export"})," to static site."]})]})}n.default=(0,i.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=1464)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/index-558b7a002d0d2079.js b/_next/static/chunks/pages/index-558b7a002d0d2079.js new file mode 100644 index 00000000..61b5c4fd --- /dev/null +++ b/_next/static/chunks/pages/index-558b7a002d0d2079.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{1464:function(e,n,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return o(4370)}])},979:function(e,n,o){"use strict";var i=o(5893);n.Z={logo:(0,i.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,i.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,i.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,i.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,i.jsx)("meta",{property:"og:type",content:"website"})]})}},4370:function(e,n,o){"use strict";o.r(n);var i=o(5893),t=o(2673),a=o(4984),r=o(979);o(9966);var s=o(1151);o(5675);let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,s.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/index.mdx",route:"/",headings:[{depth:1,value:"ArgoWorkflows-OSS",id:"argoworkflows-oss"},{depth:2,value:"활동 개요",id:"활동-개요"},{depth:2,value:"본 REPO 목적",id:"본-repo-목적"},{depth:2,value:"Why not support i18n?",id:"why-not-support-i18n"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"ArgoWorkflows-OSS"},pageNextRoute:"/",nextraLayout:a.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({h1:"h1",ul:"ul",li:"li",a:"a",h2:"h2",p:"p",code:"code"},(0,s.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{children:"ArgoWorkflows-OSS"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://www.oss.kr/ossca_23_projects/show/f0db6627-fba2-40e3-ac42-9e9acd00340f",children:"오픈소스 컨트리뷰션 아카데미"}),"의 ArgoWorkflows 프로젝트를 위한 BaseCamp"]}),"\n",(0,i.jsxs)(n.li,{children:["ArgoWorkflows에 기여하고 싶으나 망설여지시는 분들은 저희 ",(0,i.jsx)(n.a,{href:"https://join.slack.com/t/oss-argoworkflows/shared_invite/zt-24ctv6z9y-~mXDrZmHA0hIl75QWAWocA",children:"Slack 채널"}),"에 오셔서 언제든 함께 참여하실 수 있습니다."]}),"\n",(0,i.jsx)(n.li,{children:"잘 모르시는 내용에 대해서는 멘토링을 요청하신다면 도와드리도록 하겠습니다."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"활동-개요",children:"활동 개요"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["활동 목표 : ",(0,i.jsx)(n.a,{href:"https://github.com/argoproj/argo-workflows",children:"ArgoWorkflows"})," 오픈소스 기여 및 생태계 이해"]}),"\n",(0,i.jsx)(n.li,{children:"활동 방식 : 정기적 온/오프라인 미팅 및 과제 수행"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"본-repo-목적",children:"본 REPO 목적"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"프로젝트 페이지 생성"}),"\n",(0,i.jsx)(n.li,{children:"참여자 GIT 활용 트레이닝"}),"\n",(0,i.jsx)(n.li,{children:"참여자 정보 기록"}),"\n",(0,i.jsx)(n.li,{children:"활동 기록"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"why-not-support-i18n",children:"Why not support i18n?"}),"\n",(0,i.jsxs)(n.p,{children:["Because our pages using GitHub Pages for free.\nAnd Nextra(nextjs) not support i18n for ",(0,i.jsx)(n.code,{children:"export"})," to static site."]})]})}n.default=(0,t.j)(d)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=1464)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/test-8551c5ecc7549320.js b/_next/static/chunks/pages/test-8551c5ecc7549320.js deleted file mode 100644 index 853583ce..00000000 --- a/_next/static/chunks/pages/test-8551c5ecc7549320.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[378],{3159:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/test",function(){return t(8161)}])},979:function(e,n,t){"use strict";var o=t(5893);n.Z={logo:(0,o.jsx)("span",{children:"ArgoWorkflows-OSS"}),project:{link:"https://github.com/ArgoWorkflows-OSS"},docsRepositoryBase:"https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/tree/main",head:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"ArgoWorkflows-OSS"}),(0,o.jsx)("meta",{property:"og:description",content:"The team page of ArgoWorkflows-OSS"}),(0,o.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,o.jsx)("meta",{property:"og:url",content:"https://argoworkflows-oss.github.io"}),(0,o.jsx)("meta",{property:"og:type",content:"website"})]})}},8161:function(e,n,t){"use strict";t.r(n);var o=t(5893),a=t(2673),i=t(4984),r=t(979);t(9966);var d=t(1151);t(5675);let s={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)},pageOpts:{filePath:"pages/test/index.mdx",route:"/test",headings:[{depth:2,value:"테스트",id:"테스트"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Index"},pageNextRoute:"/test",nextraLayout:i.ZP,themeConfig:r.Z};function u(e){let n=Object.assign({h2:"h2",ul:"ul",li:"li",pre:"pre",code:"code",span:"span",p:"p"},(0,d.ah)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"테스트",children:"테스트"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"테스트를 위한 페이지!"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,o.jsx)(n.code,{"data-language":"text","data-theme":"default",children:(0,o.jsx)(n.span,{className:"line",children:(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"행복해져랴 얍"})})})}),"\n",(0,o.jsx)(n.p,{children:"카테고리를 변경해라 얍"}),"\n",(0,o.jsx)(n.p,{children:"이것은 테스트 입니다."}),"\n",(0,o.jsx)(n.p,{children:"다시 행복해져라 얍"}),"\n",(0,o.jsx)(n.p,{children:"ㅁㄴㅇㄹㅁㄴㅇㄹ"})]})}n.default=(0,a.j)(s)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=3159)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/test-b07136ea25e84a1f.js b/_next/static/chunks/pages/test-b07136ea25e84a1f.js new file mode 100644 index 00000000..4b1aec7f --- /dev/null +++ b/_next/static/chunks/pages/test-b07136ea25e84a1f.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[378],{3159:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/test",function(){return t(8161)}])},979:function(e,n,t){"use strict";var a=t(5893);n.Z={logo:(0,a.jsx)("span",{children:"Argo-OSS"}),project:{link:"https://github.com/Argo-OSS"},docsRepositoryBase:"https://github.com/Argo-OSS/argo-oss.github.io/tree/main",head:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("meta",{property:"og:title",content:"Argo-OSS"}),(0,a.jsx)("meta",{property:"og:description",content:"The team page of Argo-OSS"}),(0,a.jsx)("meta",{property:"og:image",content:"https://avatars.githubusercontent.com/u/138947630?s=200&v=4"}),(0,a.jsx)("meta",{property:"og:url",content:"https://argo-oss.github.io"}),(0,a.jsx)("meta",{property:"og:type",content:"website"})]})}},8161:function(e,n,t){"use strict";t.r(n);var a=t(5893),i=t(2673),o=t(4984),r=t(979);t(9966);var d=t(1151);t(5675);let u={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(s,{...e})}):s(e)},pageOpts:{filePath:"pages/test/index.mdx",route:"/test",headings:[{depth:2,value:"테스트",id:"테스트"}],pageMap:[{kind:"Folder",name:"2023",route:"/2023",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2023/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}},{kind:"Folder",name:"reports",route:"/2023/activites/reports",children:[{kind:"Meta",data:{fianlReportKo:"[KOR]Final Report",finalReportEn:"[ENG]Final Report"}},{kind:"MdxPage",name:"fianlReportKo",route:"/2023/activites/reports/fianlReportKo"},{kind:"MdxPage",name:"finalReportEn",route:"/2023/activites/reports/finalReportEn"}]},{kind:"Folder",name:"weeklyMeets",route:"/2023/activites/weeklyMeets",children:[{kind:"MdxPage",name:"230715",route:"/2023/activites/weeklyMeets/230715"},{kind:"MdxPage",name:"230723",route:"/2023/activites/weeklyMeets/230723"},{kind:"MdxPage",name:"230730",route:"/2023/activites/weeklyMeets/230730"},{kind:"MdxPage",name:"230806",route:"/2023/activites/weeklyMeets/230806"},{kind:"MdxPage",name:"230813",route:"/2023/activites/weeklyMeets/230813"},{kind:"MdxPage",name:"230820",route:"/2023/activites/weeklyMeets/230820"},{kind:"MdxPage",name:"230827",route:"/2023/activites/weeklyMeets/230827"},{kind:"MdxPage",name:"230904",route:"/2023/activites/weeklyMeets/230904"},{kind:"Meta",data:{230715:"1주차",230723:"2주차",230730:"3주차",230806:"4주차",230813:"5주차",230820:"6주차",230827:"7주차",230904:"8주차"}}]}]},{kind:"Folder",name:"members",route:"/2023/members",children:[{kind:"MdxPage",name:"AhnDaHae",route:"/2023/members/AhnDaHae"},{kind:"MdxPage",name:"AhnJiWan",route:"/2023/members/AhnJiWan"},{kind:"MdxPage",name:"ChaeMoonYoung",route:"/2023/members/ChaeMoonYoung"},{kind:"MdxPage",name:"ChoiSooNyeong",route:"/2023/members/ChoiSooNyeong"},{kind:"MdxPage",name:"GangByeongSun",route:"/2023/members/GangByeongSun"},{kind:"MdxPage",name:"GangSiOn",route:"/2023/members/GangSiOn"},{kind:"MdxPage",name:"GeonEuiJung",route:"/2023/members/GeonEuiJung"},{kind:"MdxPage",name:"JungSungRock",route:"/2023/members/JungSungRock"},{kind:"MdxPage",name:"KimHakJun",route:"/2023/members/KimHakJun"},{kind:"MdxPage",name:"KimOwnSik",route:"/2023/members/KimOwnSik"},{kind:"MdxPage",name:"KimSuBin",route:"/2023/members/KimSuBin"},{kind:"MdxPage",name:"KwonYoungGil",route:"/2023/members/KwonYoungGil"},{kind:"MdxPage",name:"LeeByeongGon",route:"/2023/members/LeeByeongGon"},{kind:"MdxPage",name:"LeeEuiJu",route:"/2023/members/LeeEuiJu"},{kind:"MdxPage",name:"ParkJinSu",route:"/2023/members/ParkJinSu"},{kind:"MdxPage",name:"SeoChungWun",route:"/2023/members/SeoChungWun"},{kind:"MdxPage",name:"SongHaeMin",route:"/2023/members/SongHaeMin"},{kind:"MdxPage",name:"YeomGeunCheol",route:"/2023/members/YeomGeunCheol"},{kind:"MdxPage",name:"YouYoonWoo",route:"/2023/members/YouYoonWoo"},{kind:"Meta",data:{GangByeongSun:"강병선",GangSiOn:"강시온",KwonYoungGil:"권영길",KimSuBin:"김수빈",KimOwnSik:"김원식",KimHakJun:"김학준",ParkJinSu:"박진수",SeoChungWun:"서청운",SongHaeMin:"송혜민",AhnDaHae:"안다혜",AhnJiWan:"안지완",YeomGeunCheol:"염근철",YouYoonWoo:"유윤우",LeeByeongGon:"이병곤",LeeEuiJu:"이의주",GeonEuiJung:"전의정",JungSungRock:"정성락",ChaeMoonYoung:"채문영",ChoiSooNyeong:"최수녕"}}]},{kind:"MdxPage",name:"members",route:"/2023/members"}]},{kind:"Folder",name:"2024",route:"/2024",children:[{kind:"Meta",data:{members:"\uD83D\uDC68‍\uD83D\uDCBB 멤버",activites:"\uD83C\uDFA2 활동"}},{kind:"Folder",name:"activites",route:"/2024/activites",children:[{kind:"Meta",data:{weeklyMeets:"주간 정기모임"}}]},{kind:"Folder",name:"members",route:"/2024/members",children:[{kind:"MdxPage",name:"KimCheolSu",route:"/2024/members/KimCheolSu"},{kind:"MdxPage",name:"SongHaeMin",route:"/2024/members/SongHaeMin"},{kind:"Meta",data:{JungSungRock:"정성락",ChoiSooNyeong:"최수녕",SongHaeMin:"송혜민",KimCheolSu:"김철수"}}]},{kind:"MdxPage",name:"members",route:"/2024/members"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"test",route:"/test",children:[{kind:"MdxPage",name:"index",route:"/test"},{kind:"Meta",data:{index:"Index"}}]},{kind:"Meta",data:{index:"Index"}}],flexsearch:{codeblocks:!0},title:"Index"},pageNextRoute:"/test",nextraLayout:o.ZP,themeConfig:r.Z};function s(e){let n=Object.assign({h2:"h2",ul:"ul",li:"li",pre:"pre",code:"code",span:"span",p:"p"},(0,d.ah)(),e.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h2,{id:"테스트",children:"테스트"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"테스트를 위한 페이지!"}),"\n"]}),"\n",(0,a.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(n.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(n.span,{className:"line",children:(0,a.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"행복해져랴 얍"})})})}),"\n",(0,a.jsx)(n.p,{children:"카테고리를 변경해라 얍"}),"\n",(0,a.jsx)(n.p,{children:"이것은 테스트 입니다."}),"\n",(0,a.jsx)(n.p,{children:"다시 행복해져라 얍"}),"\n",(0,a.jsx)(n.p,{children:"ㅁㄴㅇㄹㅁㄴㅇㄹ"}),"\n",(0,a.jsx)(n.p,{children:"테스트 페이지 테스트?"})]})}n.default=(0,i.j)(u)}},function(e){e.O(0,[376,774,888,179],function(){return e(e.s=3159)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/ukuDEH7ZUI2zPYAypsZVO/_buildManifest.js b/_next/static/ukuDEH7ZUI2zPYAypsZVO/_buildManifest.js new file mode 100644 index 00000000..001c88c5 --- /dev/null +++ b/_next/static/ukuDEH7ZUI2zPYAypsZVO/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(e,s,t,a){return{__rewrites:{beforeFiles:[],afterFiles:[{source:"/:path*/_meta",destination:"/404"}],fallback:[]},"/":[e,s,"static/chunks/pages/index-558b7a002d0d2079.js"],"/2023/activites/reports/fianlReportKo":[e,s,t,a,"static/chunks/pages/2023/activites/reports/fianlReportKo-9e76415fac9d4c17.js"],"/2023/activites/reports/finalReportEn":[e,s,t,a,"static/chunks/pages/2023/activites/reports/finalReportEn-53f0c58174c7efc5.js"],"/2023/activites/weeklyMeets/230715":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230715-51ac622a7e050a4d.js"],"/2023/activites/weeklyMeets/230723":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230723-97aac97c1b06aee6.js"],"/2023/activites/weeklyMeets/230730":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230730-de9517603f3ce29c.js"],"/2023/activites/weeklyMeets/230806":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230806-891fc16104e35257.js"],"/2023/activites/weeklyMeets/230813":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230813-ceb081008437d3da.js"],"/2023/activites/weeklyMeets/230820":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230820-7bf55ffbed3a0c99.js"],"/2023/activites/weeklyMeets/230827":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230827-67501f02c73ee7c2.js"],"/2023/activites/weeklyMeets/230904":[e,s,"static/chunks/pages/2023/activites/weeklyMeets/230904-40864433578ce632.js"],"/2023/members":[e,s,"static/chunks/pages/2023/members-d89a632281a87362.js"],"/2023/members/AhnDaHae":[e,s,"static/chunks/pages/2023/members/AhnDaHae-77f54b010403ae32.js"],"/2023/members/AhnJiWan":[e,s,"static/chunks/pages/2023/members/AhnJiWan-54245b781f4d0069.js"],"/2023/members/ChaeMoonYoung":[e,s,"static/chunks/pages/2023/members/ChaeMoonYoung-c91fe66dd7007604.js"],"/2023/members/ChoiSooNyeong":[e,s,"static/chunks/pages/2023/members/ChoiSooNyeong-61f8f0e5e184b544.js"],"/2023/members/GangByeongSun":[e,s,"static/chunks/pages/2023/members/GangByeongSun-113f28edff9affe4.js"],"/2023/members/GangSiOn":[e,s,"static/chunks/pages/2023/members/GangSiOn-b9d8f1fd931d4f33.js"],"/2023/members/GeonEuiJung":[e,s,"static/chunks/pages/2023/members/GeonEuiJung-7bd26d80692e2e9e.js"],"/2023/members/JungSungRock":[e,s,"static/chunks/pages/2023/members/JungSungRock-bd25d8d8ae6a9ab5.js"],"/2023/members/KimHakJun":[e,s,"static/chunks/pages/2023/members/KimHakJun-af75ecbb5414920b.js"],"/2023/members/KimOwnSik":[e,s,"static/chunks/pages/2023/members/KimOwnSik-e488dc38dcd6f247.js"],"/2023/members/KimSuBin":[e,s,"static/chunks/pages/2023/members/KimSuBin-ad800d8a4ede063d.js"],"/2023/members/KwonYoungGil":[e,s,"static/chunks/pages/2023/members/KwonYoungGil-d043230bd1e9eca1.js"],"/2023/members/LeeByeongGon":[e,s,"static/chunks/pages/2023/members/LeeByeongGon-4cde0d3e3017b817.js"],"/2023/members/LeeEuiJu":[e,s,"static/chunks/pages/2023/members/LeeEuiJu-686fbd546faab96f.js"],"/2023/members/ParkJinSu":[e,s,"static/chunks/pages/2023/members/ParkJinSu-3d648f125645ae4c.js"],"/2023/members/SeoChungWun":[e,s,"static/chunks/pages/2023/members/SeoChungWun-12f11fe39dda9df5.js"],"/2023/members/SongHaeMin":[e,s,"static/chunks/pages/2023/members/SongHaeMin-4ccbcbea03c5692f.js"],"/2023/members/YeomGeunCheol":[e,s,"static/chunks/pages/2023/members/YeomGeunCheol-b41e9435a78b6278.js"],"/2023/members/YouYoonWoo":[e,s,"static/chunks/pages/2023/members/YouYoonWoo-30197f3f8b962a77.js"],"/2024/members":[e,s,"static/chunks/pages/2024/members-a65bbe73d048747b.js"],"/2024/members/KimCheolSu":[e,s,"static/chunks/pages/2024/members/KimCheolSu-25f2834c1b264d3e.js"],"/2024/members/SongHaeMin":[e,s,"static/chunks/pages/2024/members/SongHaeMin-e5c1b6affae15e27.js"],"/_error":["static/chunks/pages/_error-54de1933a164a1ff.js"],"/test":[e,s,"static/chunks/pages/test-b07136ea25e84a1f.js"],sortedPages:["/","/2023/activites/reports/fianlReportKo","/2023/activites/reports/finalReportEn","/2023/activites/weeklyMeets/230715","/2023/activites/weeklyMeets/230723","/2023/activites/weeklyMeets/230730","/2023/activites/weeklyMeets/230806","/2023/activites/weeklyMeets/230813","/2023/activites/weeklyMeets/230820","/2023/activites/weeklyMeets/230827","/2023/activites/weeklyMeets/230904","/2023/members","/2023/members/AhnDaHae","/2023/members/AhnJiWan","/2023/members/ChaeMoonYoung","/2023/members/ChoiSooNyeong","/2023/members/GangByeongSun","/2023/members/GangSiOn","/2023/members/GeonEuiJung","/2023/members/JungSungRock","/2023/members/KimHakJun","/2023/members/KimOwnSik","/2023/members/KimSuBin","/2023/members/KwonYoungGil","/2023/members/LeeByeongGon","/2023/members/LeeEuiJu","/2023/members/ParkJinSu","/2023/members/SeoChungWun","/2023/members/SongHaeMin","/2023/members/YeomGeunCheol","/2023/members/YouYoonWoo","/2024/members","/2024/members/KimCheolSu","/2024/members/SongHaeMin","/_app","/_error","/test"]}}("static/css/ce3e2389ff45897c.css","static/chunks/376-de4899af1a583d2b.js","static/chunks/762-605ff1cae26ecb3d.js","static/chunks/674-04b6304fae691b56.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/B3_AtZ1FunGxW_tcpFXVv/_ssgManifest.js b/_next/static/ukuDEH7ZUI2zPYAypsZVO/_ssgManifest.js similarity index 100% rename from _next/static/B3_AtZ1FunGxW_tcpFXVv/_ssgManifest.js rename to _next/static/ukuDEH7ZUI2zPYAypsZVO/_ssgManifest.js diff --git a/index.html b/index.html index 9f59db44..0e66ef10 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    Index

    ArgoWorkflows-OSS

    +

    MIT 2023 © Nextra.
    \ No newline at end of file +And Nextra(nextjs) not support i18n for export to static site.

    \ No newline at end of file diff --git a/test.html b/test.html index 3ac87cef..f37d879c 100644 --- a/test.html +++ b/test.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
    test
    Index

    테스트

    +

    MIT 2023 © Nextra.
    \ No newline at end of file +

    ㅁㄴㅇㄹㅁㄴㅇㄹ

    +

    테스트 페이지 테스트?

    \ No newline at end of file