Pecan: CRAN์— ํŒจํ‚ค์ง€ ์ถœ์‹œ

์— ๋งŒ๋“  2021๋…„ 03์›” 21์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PecanProject/pecan

์„ค๋ช…

ํ˜„์žฌ PEcAn์€ CRAN์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋จผ์ € ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์„ค์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‹œ์Šคํ…œ์— ์„ค์น˜ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. CRAN์— ์ถ”๊ฐ€ํ•˜๋ฉด ์„ค์น˜๊ฐ€ ๋” ์‰ฌ์›Œ์งˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฐพ๊ธฐ๋„ ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์—์„œ ๊ฒฝ๊ณ ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ž ์žฌ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ ์ฝ”๋“œ๋ฅผ ๋ถ„ํ• ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (GSOC 2021 ํ”„๋กœ์ ํŠธ)

์ด๊ฒƒ์€ CRAN์—์„œ ํŒจํ‚ค์ง€๋ฅผ ๋ฆด๋ฆฌ์Šคํ•˜๋Š” ๋ชฉํ‘œ์— ๋Œ€ํ•œ ๋†’์€ ์ˆ˜์ค€์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ฐ ํŒจํ‚ค์ง€์—๋Š” ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๋ฌธ์ œ์™€ ํ† ๋ก  ์Šค๋ ˆ๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

_์•„๋ž˜ ์˜๊ฒฌ์— ๋”ฐ๋ผ ์ด ์ดˆ๊ธฐ ์„ค๋ช…์„ ์ ์ ˆํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค._

์ œ์•ˆ ๋œ ํ•ด๋ฒ•

  1. ๊ธฐ๋ณธ ํŒจํ‚ค์ง€(/base ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์Œ) ๋ฐ /modules์— ์žˆ๋Š” ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„ ํŒจํ‚ค์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๋ฅผ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฆด๋ฆฌ์Šค ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ - ๋กœ๊ฑฐ๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์ข…์†์„ฑ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ํŒจํ‚ค์ง€ ์ถœ์‹œ ์‹œ์ž‘

๋Œ€๋žต์ ์ธ ์šฐ์„  ์ˆœ์œ„ ๋ชฉ๋ก(TODO๋Š” ํ…Œ์ด๋ธ”๋กœ ์ „ํ™˜)

  • ๋ฒ ์ด์Šค/๋กœ๊ฑฐ

    • ์ˆ˜์ž…ํ’ˆ ์—†์Œ; ํ…Œ์ŠคํŠธ๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค

  • ๋ฒ ์ด์Šค/๋ฆฌ๋ชจํŠธ

    • PEcAn.logger ๊ฐ€์ ธ์˜ค๊ธฐ

  • ๋ชจ๋“ˆ/๊ด‘ํ•ฉ์„ฑ

    • ํฌ๋žœ ์ด์™ธ์˜ PEcAn ์ข…์†์„ฑ ์—†์Œ

  • ๋ชจ๋“ˆ/์•Œ๋กœ๋ฉ”ํŠธ๋ฆฌ

    • PEcAn.logger๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

  • ๋ชจ๋“ˆ/๋ฐ์ดํ„ฐ.๋Œ€๊ธฐ

    • PEcAn ์œ ํ‹ธ๋ฆฌํ‹ฐ, ์›๊ฒฉ, ๋กœ๊ฑฐ, DB ๊ฐ€์ ธ์˜ค๊ธฐ

    • github์˜ ropesci/geonames ๋ฐ ropensci/nneo์—๋„ ํฌํ•จ๋˜์ง€๋งŒ ํ˜„์žฌ CRAN์— ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋“ˆ/๋ฉ”ํƒ€ ๋ถ„์„

    • ๋กœ๊ฑฐ, ์„ค์ •, DB, ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

    • ์„ค์ •์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? DB๋Š” API ํ˜ธ์ถœ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๊ต์ฒดํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ํ†ต๊ณ„ ๋ชจ๋ธ ์ž์ฒด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ์™€ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด db ์ฟผ๋ฆฌ๋ฅผ API ํ˜ธ์ถœ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

  • PEcAnRTM: ๋ชจ๋“ˆ/rtm

    • PEcAn.assim.batch ๊ฐ€์ ธ์˜ค๊ธฐ

    • PEcAn.utils, PEcAn.ED2 ์ œ์•ˆ

๊ณ ๋ ค ์ค‘์ธ ๋Œ€์•ˆ

Github์— ํŒจํ‚ค์ง€ ์œ ์ง€.

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ์€ CRAN ๋ฆด๋ฆฌ์Šค ๋ฐ ํŒจํ‚ค์ง€ ๊ฐœ๋ฐœ(๋˜๋Š” ๋ฉ˜ํ† ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ)๊ณผ Hadley Wickham ์˜ ์ฑ… 'rOpenSci packages' ๋ฐ 'R packages'์—์„œ ํŒจํ‚ค์ง€ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ฑ•ํ„ฐ์— ์ต์ˆ™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์žฅ์—์„œ๋Š” ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํŒจํ‚ค์ง€ ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•œ ๋งŽ์€ ๋„์šฐ๋ฏธ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Enhancement Modules GSOC

๋ชจ๋“  5 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @dlebauer ์„ ์ƒ๋‹˜
์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž‘์—…ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

@avinash14022002 ์ด๊ฒƒ์€ ํฐ ๋ฌธ์ œ์ด๋ฉฐ ์ „์ฒด GSOC ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์†Œ์š”๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์—ฌํ•˜๋Š” ๊ฒƒ์„ ๋งค์šฐ ํ™˜์˜ํ•˜์ง€๋งŒ ์ฝ”๋”ฉ์œผ๋กœ ๋ฐ”๋กœ ๋›ฐ์–ด๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ์ด์— ๋Œ€ํ•œ ์ œ์•ˆ์„œ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@infotroph ์„ ์ƒ๋‹˜,

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค.
๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹น์‹ ์˜ ์ง€๋„๋ฅผ ์›ํ–ˆ์Šต๋‹ˆ๋‹ค.

Gsoc ์ดํ›„์˜ PEcAn์—๋„ ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@infotroph @dlebauer
์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ๋งํ•  ๋•Œ "base/remote- PEcAn.logger"๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ PEcAn.remote๋ฅผ PEcAn.logger FUNCTIONS์™€ ํ•จ๊ป˜ CRAN์— ๋ชจ๋‘ ์ „๋‹ฌํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ์ด๊ฒƒ์— ๋Œ€ํ•ด ์•ฝ๊ฐ„ ํ˜ผ๋ž€ ์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ CRAN์— ์ œ์ถœ๋œ ํŒจํ‚ค์ง€๋Š” CRAN[1]์—๋„ ์žˆ๋Š” ํŒจํ‚ค์ง€์—๋งŒ ์ข…์†์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํŒจํ‚ค์ง€๋Š” ์ข…์†์„ฑ ์ˆœ์„œ๋กœ ์ œ์ถœํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: PEcAn.data.remote ์ด์ „์— PEcAn.logger).

์ด๋Ÿฌํ•œ ์ข…์†์„ฑ์€ ๋น ๋ฅด๊ฒŒ ๊ฒฐํ•ฉ๋˜๋ฏ€๋กœ CRAN ๋ฆด๋ฆฌ์Šค ์ค€๋น„์˜ ์ผํ™˜์œผ๋กœ ๋ถˆํ•„์š”ํ•œ ์ข…์†์„ฑ์„ ์ œ๊ฑฐ ํ•  ๊ธฐํšŒ๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PEcAn.utils๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ผ๋ถ€ ํŒจํ‚ค์ง€๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ์—๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๊ธฐ๋ณด๋‹ค ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์ง์ ‘ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด ๋” ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

[1] ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” " CRAN ํŒจํ‚ค์ง€๊ฐ€ ์˜์กดํ•˜๋Š” ํŒจํ‚ค์ง€๋Š” ๋ฉ”์ธ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ."์ด์ง€๋งŒ ์‹ค์ œ๋กœ "๋ฉ”์ธ์ŠคํŠธ๋ฆผ"์€ CRAN ๋˜๋Š” Bioconductor๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰