Async: ๋กœ๊ณ ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค!

์— ๋งŒ๋“  2015๋…„ 12์›” 13์ผ  ยท  28์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: caolan/async

์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์•„์ฃผ ์ข‹์€ ์•„์ด๋””์–ด๊ฐ€ ์žˆ๋Š” nodejs ๋กœ๊ณ  ๋ฌธ์ œ ๋ฅผ ํ™•์ธํ•˜๊ณ 

๋น„๋™๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋กœ๊ณ ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์œผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๐Ÿ’ช

feature feedback-wanted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

async-01

์Šค์ผ€์น˜๋ฅผ ์ข€ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค..์ด๋Ÿฐ๊ฑด๊ฐ€์š”?

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

๋น„๋™๊ธฐ๊ฐ€ ๊ทธ๋Ÿฐ ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์ด๋ผ๊ณ  ๋งํ•˜๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ˆ˜๋…„๊ฐ„์˜ ๋…ธ์ถœ์„ ํ†ตํ•ด ๋‚˜๋Š” ๋ฌด์˜์‹์ ์œผ๋กœ ๋น„๋™๊ธฐ๋ฅผ @caolan ์˜ ์–ผ๊ตด๊ณผ ์—ฐ๊ด€

๋น„๋™๊ธฐ๋Š” Underscore์˜ ๋ถ„๊ธฐ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Underscore์™€ Lodash ๋ชจ๋‘ ๋กœ๊ณ ์— _ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Async๋Š” ์ค„์ž„ํ‘œ โ€ฆ

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ์ด๊ฒƒ์€ ๋” ์–‘์‹ํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

async

์•„ํ‹ฐ์ŠคํŠธ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๋Š” ์ด๊ฒƒ์„ ํ™•์ธํ•ด์ฃผ์„ธ์š” :-)

์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ๋กœ๊ณ ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์žฅ ๋‚˜์œ ์œ ํ˜•์˜ ์ž์ „๊ฑฐ ์ดํƒˆ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ(์ „์ฒด ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค)? ๊ทธ๊ฒƒ์€ Asynch์ด๋ฉฐ ์ฃผ์„์— ํ‘œ์‹œ๋œ ๋Œ€๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋กœ๊ณ ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

์ •๋ง๋กœ ๊ทธ๋ ‡๋‹ค๋ฉด Helvetica์— ์„ค์ •๋œ ์ด๋ฆ„์˜ ๋ฉ‹์ง„ jpg๋กœ ์ถฉ๋ถ„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋ฐ‘์ค„์„ ๊ทธ์–ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ž‘๋…„์— ์˜ค๋ž˜๋œ iojs ๋กœ๊ณ  ์Šค๋ ˆ๋“œ ์ „๋žต์ด ๋งˆ์Œ์— ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. bajillion ๋กœ๊ณ  ์•„์ด๋””์–ด๋กœ ์Šค๋ ˆ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฐ€์žฅ ๋งŽ์€ ์Šคํ‹ฐ์ปค์— ์ธ์‡„๋˜๋Š” ์Šค๋ ˆ๋“œ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

iscp_icon_staged_routing_information_flow
iscp_icon_partitioned_routing_information_flow
iscp_icon_buffered_routing_flow

advanced_power_machines
seat_flow
subflowreuse

๋ช‡ ๊ฐ€์ง€ ๋” ์•„์ด๋””์–ด.

์™œ ๊ฐ™์€ ๊ฒŒ ์•„๋‹ˆ์•ผ

>|

๋‹น์‹ ์ด ๋น„๋™๊ธฐ๋กœ ์ฝœ๋ฐฑ์„ ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‹น์‹ ์€ ์ค‘์ฒฉ ๋œ ์ฝœ๋ฐฑ์„ ์‹œ๊ฐํ™” ํ•  ์ˆ˜ > ํ•˜๊ณ  ๊ณง์€ ์‚ฌ๋žŒ | . ์›ํ•œ๋‹ค๋ฉด "๊ฐ„๋‹จํ•˜๋‹ค"๋กœ ํ•ด์„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

async-01

์Šค์ผ€์น˜๋ฅผ ์ข€ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค..์ด๋Ÿฐ๊ฑด๊ฐ€์š”?

@ivansedel ๊ต‰์žฅํ•˜๋‹ค

์Šค์œ—, ๋‚œ 3๋ฒˆ์งธ๊ฐ€ ์ •๋ง ์ข‹์•„

2016๋…„ 6์›” 18์ผ ํ† ์š”์ผ ์˜ค์ „ 6์‹œ 49๋ถ„, Kiko Beats [email protected]
์ผ๋‹ค:

@ivanseidel https://github.com/ivanseidel ๊ต‰์žฅ

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/caolan/async/issues/975#issuecomment -226935360 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe/ADUIEJiZxUlEQFCnlLTB6ahrUIs0vkKHks5qM80dgaJpZM4G0Xfy
.

๊ฐ์‚ฌ ํ•ด์š”! ์—ฌ๋Ÿฌ๋ถ„์ด ์ข‹์•„ํ•˜์‹ ๋‹ค๋ฉด 3์ฐจ๋ฅผ ์กฐ๊ธˆ ๋” ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฉ‹์ง„ ๋กœ๊ณ  @ivanseidel. ๋‚˜๋Š” ์„ธ ๋ฒˆ์งธ๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค, ๊ทธ๊ฒƒ์€ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค :D

3๋ฒˆ์งธ๋Š” ๋Œ€๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ •์‚ฌ๊ฐํ˜• ๋กœ๊ณ ๋„ ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ํŒŒ๋น„์ฝ˜์ด๋‚˜ ๊ธฐํƒ€ ์ž‘์€ ๋กœ๊ณ ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ฐ€์ง„ ์œ ์ผํ•œ ๋น„ํŒ์€ "a"๊ฐ€ ์•ฝ๊ฐ„ ์ด์ƒํ•ด ๋ณด์ธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™„๋ฒฝํ•œ ์›์€ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์— ๋น„ํ•ด ์ด์ƒํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

์ €์—๊ฒŒ๋„ 3๋ฒˆ์งธ :-D

๋‚ด๊ฐ€ ๊ฐ€์ง„ ์œ ์ผํ•œ ๋น„ํŒ์€ "a"๊ฐ€ ์•ฝ๊ฐ„ ์ด์ƒํ•ด ๋ณด์ธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™„๋ฒฝํ•œ ์›์€ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์— ๋น„ํ•ด ์ด์ƒํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

์˜ˆ, ์•„๋งˆ๋„ a ์˜ ์›์„ ๋ฐ˜์›์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ˆœ์„œ๋„์— ํ‘œ์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋” ๋‚˜์€ ์กฐ๊ฑด๋ถ€ if ๋ฅผ ๋ชจ๋ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :-)

A์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜...
async_as

์ €๋Š” 3A ๋ฐ 3B์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋ฐฉํ˜• ๋˜๋Š” ํ์‡„ํ˜• ์ˆ˜ํ‰ ์ข…๋‹จ์ด ์žˆ๋Š” 2D์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” 2A์™€ 2C๊ฐ€ ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ๋” ์ž‘์€ ํฌ๊ธฐ์—์„œ ๋กœ๊ณ ๋Š” ์–ด๋–ป๊ฒŒ ๋ณด์ž…๋‹ˆ๊นŒ? ์ž‘์„ ๋•Œ ๋” ๋‘๊บผ์šด ์„ ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2a/2b์™€ 3c์˜ ๊ฐญ์ด ์ž˜ ์–ด์šธ๋ฆด ๊ฒƒ ๊ฐ™์•„์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‚˜๋Š” 2b-2d๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ์—ฌ๊ธฐ ์ตœ์ข… ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค(๋‚˜๋Š” ์ฃผ์„์—์„œ ์ผ์ข…์˜ ํˆฌํ‘œ์— ์˜ํ•ด 2A๋ฅผ "a"๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค).

์•„์ด์ฝ˜์— ๋Œ€ํ•ด (Favicon ์ƒ์„ฑ์šฉ) ํฌ๊ธฐ์— ๋”ฐ๋ผ ์™ธ๋ถ€ ์ƒ์ž์˜ ์„ ์„ ์กฐ๊ธˆ ๋” ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค...

README ๋ณ€๊ฒฝํ•˜๊ณ  github์˜ EPS์— ๊ทธ๋ž˜ํ”ฝ๋„ ํฌํ•จํ•˜์—ฌ ๋‚˜์ค‘์— ๋ชจ๋‘๊ฐ€ ์‚ฌ์šฉ/์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
async_final

README๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋„ค, ๋กœ๊ณ ์™€ ์•„์ด์ฝ˜์„ ์ถ”๊ฐ€ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณด๋‚ด์„ธ์š”. /logo ํด๋”์— ๋„ฃ์–ด

๋˜ํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋‚˜์ค‘์— ์‚ฌ์šฉ/์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก github์˜ EPS์— ๊ทธ๋ž˜ํ”ฝ์„ ํฌํ•จํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

EPS๋Š” ์–ผ๋งˆ๋‚˜ ํฐ๊ฐ€์š”? ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ„๋„๋กœ ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

EPS๋Š” ์–ผ๋งˆ๋‚˜ ํฐ๊ฐ€์š”? ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ„๋„๋กœ ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.npmignore ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๋ฉด ์ถฉ๋ถ„ํ•˜๋ฏ€๋กœ npm ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋‚˜์ค‘์— npm install ์ˆ˜ํ–‰ํ•  ๋•Œ๋„ ๋‹ค์šด๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค...).

  • [X]๋Š” ๋ชจ๋‘ ๋„ฃ์–ด .AI ์— /logo .
  • [x] Readme ๋กœ๊ณ  ์ถ”๊ฐ€
  • [x] /logo ํด๋”/ํŒŒ์ผ์— .npmignore ์ถ”๊ฐ€
  • [x] ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ Favicon ์ƒ์„ฑ( #1202 )
  • [x] ํ–‰๋ณตํ•˜์„ธ์š”

์šฐ๋ฆฌ๊ฐ€ ๊ฐ„๋‹ค: ivanseidel/async

๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ด๋ฉด readme ํ—ค๋” URL์„ caolan ๋ฐ”๊พธ๊ฒ ์Šต๋‹ˆ๋‹ค. @piranna @megawac

๋‚˜์—๊ฒŒ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณด๋‚ด๊ณ  ํ–‰๋ณตํ•˜๊ฒŒ ํ•ด์ฃผ์„ธ์š”

@megawac ๋ชจ๋“  ๊ฒƒ์„ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์ด

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