README์ ๋ง์ง๋ง 4 ๊ฐ ํจ์ (log, dir, noConflict ๋ฐ timeout)๋ npm ์น ์ฌ์ดํธ์ ํ์๋์ง ์์ต๋๋ค.
์ด๊ฒ์ # 859์ ์ ์ ์ ์ผ๋ก ๊ด๋ จ๋์ด ์์ต๋๋ค. ์ ์ ๋์ Async์ ๋ฌธ์๋ฅผ ์ฌ๊ฒํ ํ๊ณ ์ถ์์ต๋๋ค. Lodash์ ๋ฌธ์์ ๋ ์ ์ฌํ ์ฌ์ดํธ๋ฅผ ๋ง๋์ธ์.
๊ต์ฅ ํ ๊ฒ์ ๋๋ค. ๋์์ด ํ์ํ์ญ๋๊น? ๋๋ ๋น์ ์ด # 859๊น์ง ์ผ๋ง๋ ๋ฉ๋ฆฌ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ ํํ ๊ตฌ์ถ ์ ๋ต์ ํ์ ํ์ง ์์์ต๋๋ค (Lodash์ ๋ฌธ์์ ๋ํ ์ ์ฌํ ํธ์๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ๊ธฐ๋ค๋ฆฌ๊ณ ์์). ์ ์ด๋ ์ฐ๋ฆฌ๋ ๊ฐ ๋ฉ์๋์ ๋ํ ๋ฌธ์๋ฅผ ๊ฐ ์์ค ํ์ผ (์ ์ฒด ํ๊ทธ ๋ฐ ์ ํ ์ ๋ณด ํฌํจ)์ JSDoc ๋ธ๋ก์ ๋ณต์ฌํ๊ณ ์ด๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๋ฌธ์ ์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค.
@hargasinski ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ํ ๋์์ ํ์คํ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทํ ๋๋ ๋ค๋ฅธ ์ฌ๋์ด ์ฐ๋ฆฌ ๋ฌธ์๋ฅผ ์ฝ๋์์ jsdoc
ํธํ ํ์์ผ๋ก ์ด์ํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ค๋ฉด ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฐฉ๋ฒ๋ณ๋ก ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ด์ฌ์ด ์์ผ์๋ฉด ์ฌ๋ฌ ์ฌ๋์ด ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์ฌํ ์ ์๋๋ก ์์
ํ ์ง์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
์๊ฐ์ ์ฐพ๊ณ ์๋ค๋ฉด https://github.com/lodash/lodash/blob/master/lodash.js#L8428 -L8470์ ์ดํด๋ณด์ญ์์ค.
JSDoc์ ๋ฌธ์ํ ๋ ์ํ์ ์ฝ๋๋ฅผ ๊ฐ์ ธ ์ค๋ฉด ramdas, lazys ๋๋ lodashs์ ์ ์ฌํ ๋ฌธ์ ์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
@megawac ๊ฐ์ฌํฉ๋๋ค! lodash๊ฐ ์ด๋ป๊ฒํ๋์ง ์ดํด ๋ณด๊ฒ ์ต๋๋ค. ๋ด์ผ์ ์ฌ๊ธฐ ๋๋ฌธ์ ์์ ์ ๋ง์ ์๊ฐ์ ํ ์ ํ ์์์ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ์ผ๋ง๋ ๋ฉ๋ฆฌ ์๋์ง์ ๋ํ ์๊ฒฌ์ ๊ฒ์ ํ ๊ฒ์ ๋๋ค.
์ด ์์ ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๊ณผ์ ํ๊ฐํ์์ง ๋ชจ๋ฅด์ง๋ง ์์ง ๋ฐฉ๋ฒ์ ๋ํ ๋ฌธ์ํ๋ฅผ ์๋ฃ ํ ์์์์ต๋๋ค. ๋๋จธ์ง๋ ํด๊ทผ ํ ๋ด์ผ ๋๋ผ ์์์ ๊ฒ ๊ฐ์์. ์ง๊ธ๊น์ง ์ํ ํ ์์ ๊ณผ ๋ณ๊ฒฝํด์ผ ํ ์ฌํญ์ด ์๋์ง ํ์ธํ ์ ์๋๋ก ํ ๋ฆฌํ์คํธ๋ฅผ ์์ฑํ์ต๋๋ค. ๋ช ๊ฐ์ง ๊ฐ๋จํ ์ง๋ฌธ์ด ์์ต๋๋ค.
async
์์ฑ์๊ฐ ์์ผ๋ฏ๋ก @memberOf ํ๊ทธ๋ฅผ ๊ณ์ ํฌํจํด์ผํฉ๋๊น?iteratee
๋ฐ callback
ํจ์๋ฅผ ๋ฌธ์ํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? readme์์ ๋งค๊ฐ ๋ณ์์๋ iteratee(item, callback)
์ ๊ฐ์ ์ด๋ฆ์ด ํฌํจ๋์ด ์์ง๋ง jsdoc์์๋ ์๋ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋งํฌ ํ lodash ์์ ์ ์ ์ฌํ ์์
์ ์ํํ๊ณ Invoked with (item, callback)
์ ๊ฐ์ด @param ์ค๋ช
์ ๋ง์ง๋ง ์ค์ ์๋ช
์ ํฌํจํ์ต๋๋ค. jsdoc ์ฌ์ดํธ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค./**
* Send a request.
* <strong i="19">@param</strong> {requestCallback} cb - The callback that handles the response.
*/
Requester.prototype.send = function(cb) {
// code
};
/**
* This callback is displayed as a global member.
* <strong i="20">@callback</strong> requestCallback
* <strong i="21">@param</strong> {number} responseCode
* <strong i="22">@param</strong> {string} responseMessage
*/
์ค์ ๋น๋๊ธฐ ์์ฑ์๊ฐ ์๊ธฐ ๋๋ฌธ์ @memberOf ํ๊ทธ๋ฅผ ๊ณ์ ํฌํจํด์ผํฉ๋๊น?
memberOf
๋น๋๊ธฐ๋ ํ์คํ ๊ด์ฐฎ์ต๋๋ค. ๋ํ, ๋ํธ : ๊ทธ๊ฒ์ด ์์ต๋๋ค memberOf
ํ์ง memberof
์ฌ์ดํธ์ ๊ฒฝ์ฐ iteratee ๋ฐ ์ฝ๋ฐฑ ํจ์๋ฅผ ๋ฌธ์ํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? readme์์ ๋งค๊ฐ ๋ณ์์๋ iteratee (item, callback)๊ณผ ๊ฐ์ ์ด๋ฆ์ด ํฌํจ๋์ด ์์ง๋ง jsdoc์์๋ ์๋ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ค์ ๋ก ์์ ํ ํ์คํ์ง ์์ต๋๋ค. @jdalton์ ๋ํ ์๊ฐ์ด ์์ต๋๊น? ramda๊ฐ ์ฌ์ฉ์ ์ ์ @sig
ํ๊ทธ๋ก ๋ฌธ์ํํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
๋ํ ์ด๊ฒ์ ๋ํด ์๋๋ฅด์ง ๋ง์ญ์์ค. ์ด๊ฒ์ ๋ถ๋ช ํ ํฐ ์์ ์ด๋ฏ๋ก ์ฐ๋ฆฌ๊ฐ ๊ณ์ํด์ ๋ ธ๋ ฅํด ์์ต๋๋ค. ๊ทธ๋๋ ์กฐ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋ฌธ์ ํ์๋ ์ผ๋ฐ์ ์ผ๋ก ํด๋น ๋นํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ฌ๊ตฌ์ฑ ํ ์ ์๋๋ก ๊ตฌ๋ฌธ ๋ถ์ ๋ ์ถ๋ ฅ์ ์ ๊ณตํด์ผํฉ๋๋ค.
mapLimit
๋ฐ mapSeries
๋ฅผ map
์ ์ฝ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๊น (์
์ง๋ ๋ฉฐ์น ๋์ pull request์ ๋ํ ์ปค๋ฐ์ ํ ์ ์์๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ ์ ๋ฐ์ดํธ์ ๋๋ค. ๊ณ์ํด์ ์์ ํ ๊ฒ์ ๋๋ค. ์น ๊ฒฝํ์ด ์ฝ๊ฐ์์ด์ lodash ์ฌ์ดํธ ์ ์ง ๊ด๋ฆฌ ๋ฌธ์ ๋ ์กฐ์ฌํ์ต๋๋ค . ์ถฉ๋ถํ ๋ฉ์ด์ง๋ฉด ์งํ ์ํฉ๊ณผ ํจ๊ป ์ ์ฅ์๋ฅผ ์ ๋ก๋ ํ ๊ฒ์ ๋๋ค. ๋ชฉํ๋ ๋น๋๊ธฐ๋ ์ฌ์ฉํ ์์๋ ๋ฌด์ธ๊ฐ๋ฅผ ์ป๋ ๊ฒ์ ๋๋ค.
@hargasinski ์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ๋ก์ปฌ์์ ๋ฌธ์๋ฅผ ์์ฑํ๋ ๋ฐ ๊ฒช์ต๋๋ค (ํ์ฌ ๋ง์คํฐ์ ์์). ๋๋์ด ํ ํ๋ฆฟ http://docstrap.github.io/docstrap/์ ์ข์ํ๋ค๊ณ ์๊ฐ @hargasinski & @aearly์ ์๊ฐ
์ด์ ์ docstrap์ ์ฌ์ฉ ํด๋ดค๋๋ฐ ์ ๋ง ๋ง์์ ๋ญ๋๋ค! ๊นจ๋ํ ํ ํ๋ฆฟ์ ๋๋ค. ํ ๋ง์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น? ๋ด ์ ํธ๋ cerulean ๋๋ lumen ์ ๋๋ค. ๋ ์ด๋์ด ๊ฒ์ ์ํ๋ค๋ฉด ์ฌ๋ ์ดํธ ๋ ์ข์ต๋๋ค.
๋ํ, ์ด๋ฒ์ด # 975๋ฅผ ํด๊ฒฐํ๊ธฐ์ ์ข์์๊ธฐ์ผ๊น์? ์ฌ์ดํธ ๋ก๊ณ ๊ฐ ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค
Docstrap์ ๊ฝค ์ข์ ๋ณด์ ๋๋ค. ๊ทธ๋๋ ๊ฒ์ ๊ธฐ๋ฅ์ด ๋ ์ ์๋ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ ๋ง๋ ์ฐ๋ฆฌ๊ฐ ์ฝ๊ฒ ๋ฐ๊ฟ ์์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ค์ง ์ค์ํ์ง ์์ต๋๋ค. (๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ๋๊ฐ์ ๋ณด์ ๋๋ค. ์ฝ๊ฐ์ ์์ ์ฐจ์ด๋ฅผ ์ ์ธํ๊ณ ๋ ๋ค์ ์ฐจ์ด๊ฐ ์์ต๋๋ค.)
https://github.com/lodash/lodash.github.io/issues/8 ๋ฐ https://github.com/lodash/lodash.github.io/issues/15๋ฅผ ๊ณ์ ์ฃผ์ํ๊ณ ์์ต๋๋ค. JSDoc์ ์ฌ์ฉํ๋ฉด ๊ทธ๋ค์ด ์ฑํํ ๋ชจ๋ ์ ๋ต์ ์ฌ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
๋ก๊ณ ๋ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. ์ข์ ๋ก๊ณ ์์ด๋์ด๊ฐ ๋์ฌ ๋๊น์ง ๋ฉ์ง ์์ฒด๋ก "Async"๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. : stuck_out_tongue_closed_eyes :
@megawac JSDocs ๊ฒ์์ ๋ํ ์ต๊ทผ ์์ ์ด ์์ต๋๊น? 2.0 ๋ฆด๋ฆฌ์ค ์ด์ ์ ๋ฌธ์ ์ฌ์ดํธ๋ฅผ ๋ง๋ จํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค.
๋ด ์ปดํจํฐ์์ jsdocs๋ฅผ ์ ๋๋ก ์ปดํ์ผํ๋ ค๊ณ ์๋ํ๋ ๋์ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
@aearly ์ธ์ 2.0 ๋ฆด๋ฆฌ์ค๋ฅผ ๊ณํํ๊ณ ์์ต๋๊น? @megawac ํ์ฌ๋ ์๊ฐ์ ํ ์ ํ ์ ์์ง๋ง ์์ผ๋ก 2-3 ์ฃผ ๋์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ ์๊ฐ์ด ๋์์ ๊ฒ์ ๋๋ค. ์ ๋ฅผ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์๋ดํ๊ฑฐ๋ ๋ฌธ์ ์ ๋ชฉ๋ก ๋ง ๋์ด ํด ์ฃผ์๋ฉด ์ฒ์ฒํ ํด๊ฒฐํด ๋๋ฆด ์ ์์ต๋๋ค.
์ถ์์ผ์ด ์์ต๋๋ค. "์ค๋น๊ฐ๋๋ฉด". ์ผ๋ถ ์๋ก์ด ๋ฉ์๋๋ JSDoc์ ํตํด์๋ง ๋ฌธ์ํ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์๋ ์ด๋ ค์ด ์๊ตฌ ์ฌํญ์ด ์๋๋ผ ๊ฐ์ง๊ณ ์์ด๋ ์ข์ ๊ฒ์ ๋๋ค.
@hargasinski ๋ ์ฃผ๋ก ์ด์ ์ @jsdoc์ ์ฌ์ฉํ ์ ์ด ์์ผ๋ฉฐ ์ฌ๋ฌ ํ์ผ์์ ์์ฑํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฌธ์๋ฅผ ํ ํ์ด์ง์ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์ ์ ์์์ต๋๋ค. ๋ด๊ฐ ์ฐพ์ ๋ค๋ฅธ ๋ฌธ์ ๋ typedef
๊ตฌํ ( queue
๋ฐ cargo
)์ด ์ ๋๋ก ํ์๋๋ ๊ฒ์
๋๋ค.
์ค, ๊ณ ๋ง์์. ๋ค์ ์ฃผ ๋ฆ๊ฒ๊น์ง ๋ง์ ์ผ์ ํ ์๋ ์์ง๋ง repo๋ฅผ ํฌํฌํ๊ณ ์ฝ๊ฐ ๋์ ๋ณผ๊ฒ์. ๊ฐ๋ฅํ ๊ฒ์ด ์์ผ๋ฉด ์ ๋ฐ์ดํธ๋ฅผ ๊ฒ์ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ต์ฅ ํ ๊ฒ์ ๋๋ค. ๋์์ด ํ์ํ์ญ๋๊น? ๋๋ ๋น์ ์ด # 859๊น์ง ์ผ๋ง๋ ๋ฉ๋ฆฌ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.