ObsiKO ObsiKO ๋„์›€๋ง

12 Bases(๋ฐ์ดํ„ฐ ํ‘œ) ๐Ÿ“Š

๋…์„œ ๊ธฐ๋ก, ์Šต๊ด€ ํŠธ๋ž˜์ปค, ํ”„๋กœ์ ํŠธ ํ˜„ํ™ฉํŒโ€ฆ ๋…ธํŠธ๋ฅผ ํ‘œ๋กœ ๋ชจ์•„ ๋ณด๊ณ , ํ‘œ์—์„œ ๋ฐ”๋กœ ๊ณ ์น˜๊ณ , ์ฐจํŠธ๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ๋…ธ์…˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ ์“ฐ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋Š” ์ „๋ถ€ ๋‚ด ๋…ธํŠธ์˜ ํ”„๋ก ํŠธ๋งคํ„ฐ์— ํ‰๋ฌธ์œผ๋กœ ๋‚จ๋Š”๋‹ต๋‹ˆ๋‹ค!

โ† ํ™ˆ์œผ๋กœ: ์˜ต์‹œ์ฝ” 101


Bases๊ฐ€ ๋ญ์˜ˆ์š”? ๐Ÿค”

๋งŒ๋“ค๊ธฐ โž•

ํ‘œ์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๐Ÿ› ๏ธ

์…€์—์„œ ๋ฐ”๋กœ ํŽธ์ง‘ โœ๏ธ

๏ผ‹ ์ƒˆ ํ•ญ๋ชฉ ํ–‰ ๐ŸŒฑ

ํ‘œ ๋งจ ์•„๋ž˜ ์ ์„  ์ž…๋ ฅ์นธ์— ๋…ธํŠธ ์ด๋ฆ„์„ ์น˜๊ณ  Enter โ€” ํ˜„์žฌ ํ•„ํ„ฐ์— ๋งž๋Š” ํ”„๋ก ํŠธ๋งคํ„ฐ(ํƒœ๊ทธยทํด๋”ยท์†์„ฑ)๊ฐ€ ๋ฏธ๋ฆฌ ์ฑ„์›Œ์ง„ ์ƒˆ ๋…ธํŠธ๊ฐ€ ๋งŒ๋“ค์–ด์ ธ์š”. ์—ฐ์†์œผ๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ชฉ๋ก ๋งŒ๋“ค๊ธฐ๊ฐ€ ์ˆœ์‹๊ฐ„!

โœจ AI๋กœ ์ฑ„์šฐ๊ธฐ (์—ด ๋ฉ”๋‰ด)

์—ด โŒ„ ๋ฉ”๋‰ด์˜ AI๋กœ ์ฑ„์šฐ๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด, AI๊ฐ€ ๊ฐ ๋…ธํŠธ์˜ ๋ณธ๋ฌธ์„ ์ฝ๊ณ  ๊ทธ ์†์„ฑ ๊ฐ’์„ ์ •ํ•ด ์ฑ„์›Œ์ค˜์š”. "์žฅ๋ฅด", "๋‚œ์ด๋„", "ํ•œ์ค„์š”์•ฝ" ๊ฐ™์€ ์—ด์„ ๋งŒ๋“ค๊ณ  ๋งก๊ฒจ ๋ณด์„ธ์š”. ๋นˆ ์นธ๋งŒ ์ฑ„์šฐ๊ธฐ/๋ชจ๋‘ ๋‹ค์‹œ ์ฑ„์šฐ๊ธฐ๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ์–ด์š”. โ†’ 16 AI ์—์ด์ „ํŠธ

์ฐจํŠธ ๋ทฐ ๐Ÿ“ˆ

๋ทฐ๋ฅผ ์ฐจํŠธ๋กœ ๋ฐ”๊พธ๋ฉด ํ‘œ๊ฐ€ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋ผ์š” โ€” ๊ทธ๋ฃน(์–ด๋–ค ์†์„ฑ์œผ๋กœ ๋ฌถ์„์ง€) ยท ์ง‘๊ณ„(๊ฐœ์ˆ˜/ํ•ฉ๊ณ„/ํ‰๊ท ) ยท ์ฐจํŠธ ์ข…๋ฅ˜(๋ง‰๋Œ€/๊ฐ€๋กœ ๋ง‰๋Œ€/์„ /์˜์—ญ/ํŒŒ์ด/๋„๋„›/๋ง‰๋Œ€์‚ฌํƒ•) ์„ธ ๊ฐ€์ง€๋งŒ ๊ณ ๋ฅด๋ฉด ๋. ๋‚ ์งœ ๊ฐ’๊ณผ ์ƒ์„ฑ/์ˆ˜์ • ์‹œ๊ฐ์€ ์›” ๋‹จ์œ„๋กœ ์ž๋™์œผ๋กœ ๋ฌถ์—ฌ์„œ "์›”๋ณ„ ๋…์„œ๋Ÿ‰" ๊ฐ™์€ ์ฐจํŠธ๊ฐ€ ๋ฐ”๋กœ ๋‚˜์™€์š”.

์–ด๋””์„œ๋‚˜ ๋‹ค์‹œ ์“ฐ๊ธฐ โ™ป๏ธ

์นธ๋ฐ˜ ๋ณด๋“œ ๐Ÿงฎ

๋ทฐ ๋ฉ”๋‰ด(ํƒญ โŒ„)์˜ ์นธ๋ฐ˜์œผ๋กœ ๋ณด๊ธฐ๋กœ ๋…ธํŠธ๋ฅผ ์†์„ฑ๊ฐ’๋ณ„ ์—ด(์˜ˆ: ์ƒํƒœ๋ณ„ ํ•  ์ผ ๋ณด๋“œ)๋กœ ๋ด์š”. ์นด๋“œ๋ฅผ ๋‹ค๋ฅธ ์—ด๋กœ ๋Œ๋ฉด ๊ทธ ์†์„ฑ๊ฐ’์ด ๋…ธํŠธ์— ๊ธฐ๋ก๋ผ์š”(ํฐยท์•„์ดํŒจ๋“œ๋Š” ์ž ๊น ๋ˆ„๋ฅธ ์ฑ„ ๋Œ๊ธฐ, ๊ฐ€์žฅ์ž๋ฆฌ์—์„œ ์ž๋™ ์Šคํฌ๋กค). ์˜ˆ์ปจ๋Œ€ '์ง„ํ–‰์ค‘' ์—ด์—์„œ '์™„๋ฃŒ' ์—ด๋กœ ์˜ฎ๊ธฐ๋ฉด ๊ทธ ๋…ธํŠธ์˜ ์ƒํƒœ๊ฐ€ ์™„๋ฃŒ๋กœ ๋ฐ”๋€Œ๋Š” ์‹์ด์—์š”. ์—ด ๋จธ๋ฆฌ์˜ ๏ผ‹๋Š” ๊ทธ ์ƒํƒœ๊ฐ€ ์ฑ„์›Œ์ง„ ์ƒˆ ๋…ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด์š”. ํˆด๋ฐ”์˜ ์—ด ๊ด€๋ฆฌ๋กœ ์—ด ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๊ณ  ์•„์ง ์นด๋“œ๊ฐ€ ์—†๋Š” ์—ด('์ง„ํ–‰์ค‘' ๋“ฑ)๋„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”. - ์•„์ง ์—†๋Š” ์†์„ฑ์œผ๋กœ ๋ฌถ๊ธฐ: ๊ทธ๋ฃน select(๋˜๋Š” ์„น์…˜ โ‹ฎ)์˜ '๏ผ‹ ์ƒˆ ์†์„ฑ์œผ๋กœ ๊ทธ๋ฃน' ์— ์ƒํƒœ ๊ฐ™์€ ์ด๋ฆ„์„ ์ž๋™์™„์„ฑ ๋“œ๋กญ์ฐฝ์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด, ์–ด๋–ค ๋…ธํŠธ์—๋„ ์•„์ง ์—†๋Š” ์†์„ฑ์œผ๋กœ๋„ ๋ณด๋“œ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์—ด์„ ๋งŒ๋“ค๊ณ  ์นด๋“œ๋ฅผ ๋Œ๋ฉด ๊ทธ ์†์„ฑ์ด ์ฑ„์›Œ์ ธ์š”. - ํ•„ํ„ฐ์— ๊ฑธ๋ ค ์‚ฌ๋ผ์งˆ ๋•Œ ์•ˆ๋‚ด: ๊ทธ ๋ทฐ๊ฐ€ ๊ทธ๋ฃน ์†์„ฑ์œผ๋กœ ํ•„ํ„ฐ๋ผ ์žˆ์œผ๋ฉด(์˜ˆ: ์ƒํƒœ == "ํ•  ์ผ"์ธ ๋ทฐ) ์นด๋“œ๋ฅผ ๋‹ค๋ฅธ ์—ด๋กœ ์˜ฎ๊ธฐ๋Š” ์ˆœ๊ฐ„ ํ•„ํ„ฐ์—์„œ ๋น ์ ธ ๋ชฉ๋ก์—์„œ ์‚ฌ๋ผ์ง€๋Š”๋ฐ, ์ด๋•Œ ์กฐ์šฉํžˆ ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ  ํ† ์ŠคํŠธ๋กœ ์•Œ๋ ค์ค˜์š”("์™„๋ฃŒ๋กœ ๋ณ€๊ฒฝ๋จ โ€” ์ด ๋ชฉ๋ก์˜ ํ•„ํ„ฐ์— ๋งž์ง€ ์•Š์•„ ์ˆจ๊ฒจ์ ธ์š”"). ๋…ธํŠธ๋Š” ๊ทธ๋Œ€๋กœ ์žˆ์œผ๋‹ˆ, ์ƒํƒœ๋ณ„ ์„น์…˜์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋‘๋ฉด ์˜ฎ๊ธด ์นด๋“œ๊ฐ€ ํ•ด๋‹น ์ƒํƒœ ์„น์…˜์— ๋‚˜ํƒ€๋‚˜์š”.

์นด๋“œ์—๋Š” ๋ทฐ์˜ ์•ž ์—ด 1~2๊ฐœ๊ฐ€ ๋ณด์กฐ ์ •๋ณด๋กœ ๋ถ™๊ณ  ์ง€๋‚œ ๋‚ ์งœ๋Š” ๋นจ๊ฐ›๊ฒŒ ํ‘œ์‹œ๋˜๋ฉฐ, ์นด๋“œ ์šฐํด๋ฆญ์œผ๋กœ ๋…ธํŠธ๋ฅผ ์—ด์ง€ ์•Š๊ณ  ์†์„ฑ์„ ๋ฐ”๋กœ ๊ณ ์ณ์š”.

๋ฐ”๋กœ ์“ฐ๋Š” ํ”„๋ฆฌ์…‹ ๋ณด๋“œ ๐ŸŽ

์ง์ ‘ ์งœ์ง€ ์•Š์•„๋„, ์‚ฌ์ด๋“œ๋ฐ” ๏ผ‹ ๋ฉ”๋‰ด๋‚˜ ๋ช…๋ น ํŒ”๋ ˆํŠธ์—์„œ ๊ณจ๋ผ ๋ฐ”๋กœ ๋งŒ๋“œ๋Š” ๋ณด๋“œ๋“ค์ด ์žˆ์–ด์š”. - PARA ๋ณด๋“œ ๐Ÿ—„๏ธ: para ๊ฐ’์ด ์žˆ๋Š” ๋…ธํŠธ๋ฅผ ํ”„๋กœ์ ํŠธยท์˜์—ญยท์ž์›ยท์•„์นด์ด๋ธŒ ๋„ค ์—ด์˜ ์นธ๋ฐ˜์œผ๋กœ. ์นด๋“œ๋ฅผ ๋Œ์–ด ์˜ฎ๊ธฐ๋ฉด para๊ฐ€ ๋ฐ”๋€Œ์–ด์š”. โ†’ 17 ์ง€์‹ ๊ตฌ์กฐํ™” - ์„œ์žฌ ๐Ÿ“š: type: book ๋…ธํŠธ๋ฅผ ๋ชจ์œผ๋Š” ์„ธ๋กœ ์ฑ…์žฅ(์ „๋ฉด ๊ฐค๋Ÿฌ๋ฆฌ) ๋ทฐ. ํ‘œ์ง€๋ฅผ ์™„๋… ์„ ๋ฐ˜์œผ๋กœ ๋Œ์–ด ์™„๋… ์ฒ˜๋ฆฌ, ํ‘œ์ง€ ์•„๋ž˜ ๋…์„œ ์ง„ํ–‰๋ฅ  ๋ฐ”๊นŒ์ง€. โ†’ 12-2 ์„œ์žฌ์™€ ๋…์„œ ๊ธฐ๋ก - ๊ฐ€๊ณ„๋ถ€ ๐Ÿ’ฐ: ์ง€์ถœยท์ˆ˜์ž… ๋‚ด์—ญ ๋…ธํŠธ๋ฅผ ๋ชจ์•„ ํ‘œ + ์š”์•ฝ ํŒจ๋„๋กœ. ๊ธฐ๊ฐ„๋ณ„ ์ˆ˜์ž…ยท์ง€์ถœยท๊ฒฐ์‚ฐ, ์˜ˆ์‚ฐ, ์นดํ…Œ๊ณ ๋ฆฌ ๋น„์œจ๊นŒ์ง€ ํ•œ ํ™”๋ฉด์—. โ†’ 12-3 ๊ฐ€๊ณ„๋ถ€

ํ”„๋กœ์ ํŠธ ๋ทฐ ๐Ÿ—‚๏ธ

๋ฒ ์ด์Šค ํ•˜๋‚˜๋กœ ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜๋ฅผ ํ†ต์งธ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ทฐ์˜ˆ์š” โ€” ํ‘œ์ง€ยท์ƒํƒœยท๋งˆ๊ฐ D-dayยท์ง„ํ–‰๋ฅ ์ด ์žˆ๋Š” ํ™ˆ ์•„๋ž˜์— ๋‹ค๋ฅธ ๋ทฐ๋“ค์„ ์„น์…˜์œผ๋กœ ์Œ“์•„์š”. 8๊ฐ€์ง€ ํ…œํ”Œ๋ฆฟ(์›น์†Œ์„คยท๋…์„œยท์—ฐ๊ตฌยท์—…๋ฌดยท์—ฌํ–‰ยท๋ธ”๋กœ๊ทธยท๊ณต๋ถ€โ€ฆ), ์†Œ๊ฐœ ๋…ธํŠธ ์ž„๋ฒ ๋“œ, โœจ AI ๋ธŒ๋ฆฌํ•‘, ๋Œ€์‹œ๋ณด๋“œยท๋‹ฌ๋ ฅ ์—ฐ๋™๊นŒ์ง€ โ€” ์ž์„ธํ•œ ์‚ฌ์šฉ๋ฒ•์€ 12-1 ํ”„๋กœ์ ํŠธ ๋ทฐ์—์„œ!

์†Œ์Šค๊ฐ€ ๊ถ๊ธˆํ•˜๋ฉด </> ๐Ÿง‘โ€๐Ÿ’ป

์šฐ์ƒ๋‹จ </> ์†Œ์Šค ๋ฒ„ํŠผ์œผ๋กœ YAML ์›๋ฌธ์„ ์ง์ ‘ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์–ด์š”(๋‹ค์‹œ ํ‘œ ๋ณด๊ธฐ๋กœ ๋Œ์•„์˜ค๋ฉด ๋ฐ˜์˜). UI๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ณต์žกํ•œ ํ•„ํ„ฐ(or/not ์ค‘์ฒฉ, ๋‚ ์งœ ์—ฐ์‚ฐ ๋“ฑ)์™€ ์ˆ˜์‹ ์—ด(formulas:)์€ ์†Œ์Šค์—์„œ ์“ฐ๋ฉด ํ‘œ์—์„œ ๊ณ„์‚ฐ๋ผ ๋ณด์—ฌ์š”.

์ˆ˜์‹ ์—ด, ๊ณ„์‚ฐ์€ ์˜ต์‹œ์ฝ”๊ฐ€ โœจ๐Ÿงฎ

formulas:์— ์‹์„ ์ ์œผ๋ฉด ๊ฐ ๋…ธํŠธ๋งˆ๋‹ค ๊ณ„์‚ฐ๋œ ์ฝ๊ธฐ ์ „์šฉ ์—ด(formula.์ด๋ฆ„)์ด ์ƒ๊ฒจ์š”. ์†์„ฑ ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ์“ฐ๊ณ , ๋‹ค๋ฅธ ์ˆ˜์‹์€ formula.์ด๋ฆ„์œผ๋กœ ์ฐธ์กฐํ•ด์š”.

์†Œ์Šค๋ฅผ ์•ˆ ์—ด์–ด๋„ ๋ผ์š” โ€” ํ‘œ ์˜ค๋ฅธ์ชฝ ๋ ๏ผ‹ โ†’ 'ฦ’ ์ˆ˜์‹ ์—ด ์ถ”๊ฐ€'๋กœ ์ด๋ฆ„ยท๊ณ„์‚ฐ์‹์„ ํผ์—์„œ ๋„ฃ๊ณ (์ฒซ ํ–‰ ๊ธฐ์ค€ ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋กœ ๊ฒฐ๊ณผ ํ™•์ธ!), ์ˆ˜์‹ ์—ด ๋จธ๋ฆฌ์˜ โŒ„ โ†’ 'ฦ’ ์ˆ˜์‹ ํŽธ์ง‘'์œผ๋กœ ์–ธ์ œ๋“  ๊ณ ์น˜๊ฑฐ๋‚˜ ์ง€์šธ ์ˆ˜ ์žˆ์–ด์š”.

formulas:
  ์ด์•ก: ๊ฐ€๊ฒฉ * ์ˆ˜๋Ÿ‰
  ๋“ฑ๊ธ‰: ์ ์ˆ˜ >= 90 ? "A" : ์ ์ˆ˜ >= 80 ? "B" : "C"
  ๋””๋ฐ์ด: dateDiff(today(), ๋งˆ๊ฐ์ผ)
  ๋งˆ๊ฐ์ฃผ: dateFormat(๋งˆ๊ฐ์ผ, "MM.DD") + " (" + weekday(๋งˆ๊ฐ์ผ) + ")"
  ํ‰๊ท ์ ์ˆ˜: round(์ ์ˆ˜๋ชฉ๋ก.avg(), 1)
  ์ €์ž์ •๋ฆฌ: ์ €์ž.split(",").unique().sort().join(" ยท ")
  ์˜ˆ์‚ฐ์ƒํƒœ: coalesce(์˜ˆ์‚ฐ, 0) > 0 ? "์ฑ…์ •" : "๋ฏธ์ •"

์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค: - ์—ฐ์‚ฐ: + - * / %, ๋น„๊ต(== != > <โ€ฆ), && || !, ์‚ผํ•ญ ์กฐ๊ฑด ? ์ฐธ : ๊ฑฐ์ง“, ๊ด„ํ˜ธ. ๋‚ ์งœยฑ๊ธฐ๊ฐ„ ํ˜ผํ•ฉ(๋งˆ๊ฐ์ผ + duration("1 week"))๋„ ๋ผ์š”. - ์ˆซ์ž: abs round(x, ์ž๋ฆฟ์ˆ˜) floor ceil sqrt pow clamp(v, ์ตœ์†Œ, ์ตœ๋Œ€) min max sum average(avg) number - ๋‚ ์งœ: now() today() date("2026-07-17") duration("3 days") year month day hour minute weekday(์š”์ผ ์ด๋ฆ„) dateFormat(๋‚ ์งœ, "YYYY.MM.DD HH:mm ddd") dateDiff(๋ถ€ํ„ฐ, ๊นŒ์ง€, "days") - ์กฐ๊ฑดยท๊ธฐ๋ณธ๊ฐ’: if(์กฐ๊ฑด, ์ฐธ, ๊ฑฐ์ง“)(=choice) ยท coalesce(๊ฐ’1, ๊ฐ’2, โ€ฆ)(=default, ์ฒซ ๋น„์–ด์žˆ์ง€ ์•Š์€ ๊ฐ’ โ€” ํ”„๋ก ํŠธ๋งคํ„ฐ ๋น ์กŒ์„ ๋•Œ ๊ธฐ๋ณธ๊ฐ’) - ๋ฌธ์ž์—ด ๋ฉ”์„œ๋“œ: .lower() .upper() .trim() .slice(0,5) .replace("a","b") .split(",") .padStart(3,"0") .repeat(n) .contains() .startsWith() .endsWith() .isEmpty() .toFixed(1) .length - ๋ชฉ๋ก ๋ฉ”์„œ๋“œ(ํƒœ๊ทธยท๋‹ค์ค‘๊ฐ’ ์†์„ฑ): .first() .last() .count() .sort()/.sort("desc") .reverse() .unique() .sum() .avg() .join(" ยท ")

ํ‘œ์—์„œ ๋ฐ”๋กœ ๋ˆ„๋ฅด๋Š” ์œ„์ ฏ ์ˆ˜์‹ โ€” ๋ณ„์  โญ ยท ์™„๋ฃŒ ์ฒดํฌ โœ…

์ˆ˜์‹ ์—ด์ธ๋ฐ ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ์—์š”! ๋‘ ๊ฐ€์ง€๋Š” ํ‘œ ์•ˆ์—์„œ ๋ฐ”๋กœ ๋งŒ์งˆ ์ˆ˜ ์žˆ๋Š” ์œ„์ ฏ์ด ๋ฉ๋‹ˆ๋‹ค. - ๋ณ„์  stars(ํ‰์ ): ์…€์— ๋ณ„ 5๊ฐœ๊ฐ€ ๋– ์š”. ๋ณ„์„ ํด๋ฆญ(ํƒญ)ํ•˜๋ฉด ๊ทธ ๊ฐœ์ˆ˜๋งŒํผ ํ‰์  ์†์„ฑ์— ๋ฐ”๋กœ ๊ธฐ๋ก๋˜๊ณ , ๊ฐ™์€ ๋ณ„์„ ๋‹ค์‹œ ๋ˆ„๋ฅด๋ฉด 0์œผ๋กœ ํ•ด์ œ! - ์™„๋ฃŒ ์ฒดํฌ checkbox(์™„๋ฃŒ): ์…€์— ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ๋– ์„œ ๋ˆ„๋ฅด๋ฉด ์™„๋ฃŒ ์†์„ฑ์ด ์ฐธ/๊ฑฐ์ง“์œผ๋กœ ํ† ๊ธ€๋ผ์š”. - ์ˆ˜์‹ ์—ด ์ถ”๊ฐ€ ํผ์˜ ํ”„๋ฆฌ์…‹์—์„œ '๋ณ„์ 'ยท'์™„๋ฃŒ ์ฒดํฌ'๋ฅผ ๊ณ ๋ฅด๋ฉด ํ•œ ๋ฒˆ์— ๋งŒ๋“ค์–ด์ ธ์š”. ์ •๋ ฌยท์ง‘๊ณ„๋Š” ๊ทธ ๊ฐ’ ๊ทธ๋Œ€๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋…ธํŠธ๋ผ๋ฆฌ ์ด์–ด์„œ ๊ณ„์‚ฐํ•˜๊ธฐ โ€” ๊ด€๊ณ„์™€ ๋กค์—… ๐Ÿ”—๐Ÿงฎ

๋…ธ์…˜์˜ '๊ด€๊ณ„(Relation)ยท๋กค์—…(Rollup)'์„ ์˜ต์‹œ์ฝ”์—์„œ๋„ ์“ธ ์ˆ˜ ์žˆ์–ด์š”. ๊ทธ๋Ÿฐ๋ฐ ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์—†์–ด์š” โ€” ํ”„๋ก ํŠธ๋งคํ„ฐ์— ์ ์–ด๋‘” [[์œ„ํ‚ค๋งํฌ]]๊ฐ€ ๊ณง ๊ด€๊ณ„๊ฑฐ๋“ ์š”!

---
title: ์‹ ์ œํ’ˆ ์ถœ์‹œ
para: project
parent_area: "[[๋งˆ์ผ€ํŒ…]]"   # โ† ์ด ํ•œ ์ค„์ด '๊ด€๊ณ„'์˜ˆ์š”
done: false
---

์ด๋ ‡๊ฒŒ๋งŒ ํ•ด๋‘๋ฉด ํ‘œ์—์„œ ์—ฐ๊ฒฐ๋œ ์ €์ชฝ ๋…ธํŠธ์˜ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋Œ์–ด๋‹ค ์“ธ ์ˆ˜ ์žˆ์–ด์š”.

์ €์ชฝ ๋…ธํŠธ์˜ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ โ€” ์  ํ•˜๋‚˜๋ฉด ๋ .

์ˆ˜์‹ ์—ด์— ๊ด€๊ณ„์†์„ฑ.๊ฐ€์ ธ์˜ฌ์†์„ฑ ์ด๋ผ๊ณ  ์“ฐ๋ฉด ๋ผ์š”.

formulas:
  ์˜์—ญ์ƒํƒœ: parent_area.status          # ์ƒ์œ„ ์˜์—ญ ๋…ธํŠธ์˜ status ๊ฐ’
  ์˜์—ญ์ด๋ฆ„: parent_area.file.name        # ์ €์ชฝ ๋…ธํŠธ์˜ ํŒŒ์ผ ์ด๋ฆ„
  ์ €์ž๊ตญ์ : ์ €์ž.๊ตญ์                      # ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด ๊ฒฐ๊ณผ๋„ ์—ฌ๋Ÿฌ ๊ฐœ!

๋‚˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋…ธํŠธ๋“ค ์„ธ๊ธฐ โ€” ๋กค์—… backlinks()

๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ๋„ ๋ผ์š”! "๋‚˜๋ฅผ parent_area๋กœ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋…ธํŠธ๋“ค" ์„ ๋ชจ์•„ ๊ฐœ์ˆ˜ยทํ•ฉ๊ณ„๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์–ด์š”. ์˜์—ญ(Area) ๋…ธํŠธ๋กœ ๋งŒ๋“  ํ‘œ์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ต๋‹ˆ๋‹ค.

formulas:
  ํ”„๋กœ์ ํŠธ์ˆ˜: backlinks("parent_area").count()
  ์ง„ํ–‰์ค‘: backlinks("parent_area").where("done", "!=", true).count()
  ์ด์˜ˆ์‚ฐ: backlinks("parent_area").sum("์˜ˆ์‚ฐ")
  ๋ชฉ๋ก: backlinks("parent_area").join(" ยท ")

์กฐ๊ธˆ ๋” ๋˜๋ ทํ•˜๊ฒŒ ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด โ€” ํ•จ์ˆ˜ํ˜•

์  ํ‘œ๊ธฐ ๋Œ€์‹  ํ•จ์ˆ˜๋กœ ์จ๋„ ๋˜‘๊ฐ™์•„์š”. ์†์„ฑ ์ด๋ฆ„์— ์ ยท๊ณต๋ฐฑ์ด ์„ž์—ฌ ํ—ท๊ฐˆ๋ฆด ๋•Œ ์œ ์šฉํ•ด์š”.

์“ฐ๋Š” ๋ฒ• ๋œป
link(parent_area).status ๋งํฌ ํ•˜๋‚˜๋ฅผ ๋”ฐ๋ผ๊ฐ€ ๊ฐ’ ์ฝ๊ธฐ
links(์ €์ž).count() ๋งํฌ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋ฌถ์Œ์œผ๋กœ
backlinks("parent_area") ๋‚˜๋ฅผ ๊ทธ ์†์„ฑ์œผ๋กœ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋…ธํŠธ๋“ค (= inbound(...))

๐Ÿ’ก ์™œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์—ˆ๋ƒ๋ฉด์š”: ๊ด€๊ณ„๋ฅผ ๋”ฐ๋กœ ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋„ฃ์–ด๋ฒ„๋ฆฌ๋ฉด, ๋…ธํŠธ๋ฅผ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์•ฑ์—์„œ ์—ด์—ˆ์„ ๋•Œ ๊ด€๊ณ„๊ฐ€ ํ†ต์งธ๋กœ ์‚ฌ๋ผ์ ธ์š”. ์˜ต์‹œ์ฝ”๋Š” ๊ด€๊ณ„๋„ ๊ทธ๋ƒฅ ๋งˆํฌ๋‹ค์šด ํ•œ ์ค„์ด๋ผ ์˜ต์‹œ๋””์–ธ์—์„œ ์—ด์–ด๋„ ํ‰๋ฒ”ํ•œ ์œ„ํ‚ค๋งํฌ๋กœ ๋ณด์ด๊ณ , ์—ฐ๊ฒฐ ํŒจ๋„ยท๊ทธ๋ž˜ํ”„๋ทฐ์—๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚œ๋‹ต๋‹ˆ๋‹ค. โ†’ 17 ์ง€์‹ ๊ตฌ์กฐํ™”

๋ทฐ ์ œ๋ชฉ ๊พธ๋ฏธ๊ธฐ โ€” ๋ฐฐ๋„ˆ ์ƒ‰๊ณผ ์ด๋ฆ„ ๐ŸŽจ

๊นจ์•Œ ์ •๋ณด ๐Ÿ’ก


โ† ์ด์ „: 11 ๋งˆ์ธ๋“œ๋งต ยท ์ฒ˜์Œ์œผ๋กœ ยท ๋‹ค์Œ: 12-1 ํ”„๋กœ์ ํŠธ ๋ทฐ โ†’