Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€ 54

[Eric's ๋ฐฑ์ค€] 3046๋ฒˆ - R2 - Python

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜๋ถ€ํ„ฐ๋Š” python์œผ๋กœ ๊ณต๋ถ€๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ–ˆ๋‹ต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ๋ฐฑ์ค€ 3046๋ฒˆ R2์ž…๋‹ˆ๋‹ค. [ํ•ด์„ค] ์šฐ์„  input ์„ 2๊ฐœ ๋ฐ›๊ณ , ํ‰๊ท ๊ฐ’์„ ๋‘๋ฐฐ๋กœ ํ•˜๊ณ , ์ฒซ๋ฒˆ์งธ ๊ฐ’์„ ๋นผ๊ฒŒ๋˜๋ฉด ํ•ด๊ฒฐ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. a, b = input().split() print(int(b)*2-int(a)) ์˜ค๋Š˜์˜ ๋ฆฌ๋ทฐ๋Š” ์—ฌ๊ธฐ๊นŒ์ง€! ๋‹ค์Œ์—๋Š” ๋” ์–ด๋ ค์šด ๋ฌธ์ œ๋กœ ์˜ฌ๊ฒŒ์šฉ! ใ…Žใ…Ž

[Eric's Elixir] Elixir์—์„œ์˜ Quote์™€ Unquote ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž!

์„œ๋ก  Elixir, Erlang VM ์œ„์—์„œ ์šด์˜๋˜๋Š” ๊ฐ•๋ ฅํ•œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด,๋Š” ๋ฉ”ํƒ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žˆ์–ด ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” quote์™€ unquote๋ผ๋Š” ๋‘ ๊ฐœ๋…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ์ด ๋‘ ๊ฐœ๋…์˜ ํ•„์š”์„ฑ๊ณผ ๊ธฐ๋Šฅ์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Quote์˜ ํ•„์š”์„ฑ๊ณผ ์ž‘๋™ ์›๋ฆฌ 1. ํ•„์š”์„ฑ: ์ฝ”๋“œ ์กฐ์ž‘: Elixir์—์„œ ์ฝ”๋“œ๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์ด๋ฅผ ์กฐ์ž‘ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ quote๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งคํฌ๋กœ, ์ฝ”๋“œ ์ƒ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ถ”์ƒํ™” ์ธต ์ƒ์„ฑ: quote๋Š” ์ฝ”๋“œ์˜ ์˜๋ฏธ๋ฅผ ๋ณด์กดํ•˜๋ฉด์„œ ๊ทธ๊ฒƒ์„ ์ถ”์ƒํ™” ์ธต์œผ๋กœ ๋ž˜ํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณต์žกํ•œ ์ฝ”๋“œ ๋ณ€ํ™˜์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. 2. ์ž‘๋™ ์›๋ฆฌ: quote๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์ฃผ์–ด์ง„ ์ฝ”๋“œ ๋ธ”๋ก์ด Elixir์˜ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ..

[Eric's Elixir] ์•„ํ†ฐ(Atom), ํŠœํ”Œ(tuple) ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ๐Ÿงช

Elixir์™€ ์•„ํ†ฐ(Atom)์˜ ๋งŒ๋‚จ Elixir๋Š” Erlang VM ์œ„์— ๊ตฌ์ถ•๋œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ๋†’์€ ๋™์‹œ์„ฑ(concurrency), ๋‚ด๊ฒฐํ•จ์„ฑ(fault-tolerance), ๋ถ„์‚ฐ(distribution)์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ‹์ง„ ์–ธ์–ด์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ '์•„ํ†ฐ(atom)'์ž…๋‹ˆ๋‹ค. ์•„ํ†ฐ์€ Elixir์˜ ๋ถˆ๋ณ€ํ•˜๋Š” ์ƒ์ˆ˜์ด๋ฉฐ, ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ณ ์œ ํ•œ ๊ฐ’์œผ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ด๋Ÿฌํ•œ ์•„ํ†ฐ์— ๋Œ€ํ•ด ๊นŠ์ด ์žˆ๊ฒŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„ํ†ฐ(Atom)์ด๋ž€? ์•„ํ†ฐ์€ ์ด๋ฆ„์ด ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์•„ํ†ฐ์€ ์ž๊ธฐ ์ž์‹ ์ด ์ตœ์ข… ๊ฐ’์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, :ok ์•„ํ†ฐ์€ "ok"๋ผ๋Š” ์ด๋ฆ„์˜ ์•„ํ†ฐ์ž…๋‹ˆ๋‹ค. ์ด ํŠน์„ฑ ๋•Œ๋ฌธ์—, ์•„ํ†ฐ์€ ์ฃผ๋กœ ์ƒํƒœ, ์‹๋ณ„์ž ๋˜๋Š” ํŠน์ • ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค...

[Eric's JS] JavaScript์—์„œ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ์˜ ์ดํ•ด โ˜•๏ธ

JavaScript๋ฅผ ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ค‘์š”ํ•˜๊ฒŒ ์ ‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋Š” ๋™๊ธฐ(synchronous)์™€ ๋น„๋™๊ธฐ(asynchronous)์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด ๋‘ ๊ฐœ๋…์˜ ์ฐจ์ด๋ฅผ ๊ธฐ๋ณธ์ ์ธ ์˜ˆ์‹œ๋ถ€ํ„ฐ ์‹ค์šฉ์ ์ธ ์˜ˆ์‹œ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค๋ช…ํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๊ธฐ๋ณธ ๊ฐœ๋… ๊ตฌ๋ถ„ ๋™๊ธฐ(Synchronous) ๋น„๋™๊ธฐ(Asynchronous) ๋™์ž‘ ์›๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰. ํ•œ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ž‘์—… ๋Œ€๊ธฐ. ์ฝ”๋“œ๋Š” ๋ฐ”๋กœ ๋‹ค์Œ ์ž‘์—…์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉฐ, ํŠน์ • ์ž‘์—…์˜ ์™„๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Œ. ์žฅ์  ์ฝ”๋“œ์˜ ํ๋ฆ„์ด ๋ช…ํ™•ํ•˜๋ฉฐ ์˜ˆ์ธกํ•˜๊ธฐ ์‰ฝ๋‹ค. ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜์—ฌ ํšจ์œจ์ . ๋‹จ์  ๊ธด ์ž‘์—…์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ์ „์ฒด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉˆ์ถœ ์œ„ํ—˜์ด ์žˆ์Œ. ์ฝ”๋“œ์˜ ํ๋ฆ„์ด ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๊ณ , ์ฝœ๋ฐฑ, ํ”„๋กœ๋ฏธ์Šค ๋“ฑ์˜ ๋ฉ”์ปค๋‹ˆ..

[Eric's JS] localStorage ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๐Ÿค”

JavaScript์˜ localStorage ํ™œ์šฉํ•˜๊ธฐ ์—ฌ๋Ÿฌ๋ถ„ ์•ˆ๋…•ํ•˜์„ธ์š”! Eric์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์›น ํŽ˜์ด์ง€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ localStorage๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ JSON.stringify()์™€ JSON.parse()์˜ ์‚ฌ์šฉ๋ฒ•๋„ ํ•จ๊ป˜ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 1. localStorage๋ž€? localStorage๋Š” ์›น ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์นจํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ๋Š” key-value ์Œ์œผ๋กœ ์ €์žฅ๋˜๋ฉฐ, ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. 2. localStorage์— ๋ฐ์ดํ„ฐ ์ €์žฅํ•˜๊ธฐ localStorage์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. localStorage..

[Eric's Elixir] ํ•€ ์—ฐ์‚ฐ์ž๋ž€? ๐Ÿ“

Elixir ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ, JS์—์„œ๋Š” ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋‚ด์šฉ์ด ์žˆ์–ด์„œ ๋”ฐ๋กœ ์ •๋ฆฌํ•˜๊ณ ์ž ์ด ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค. Elixir์—์„œ ํ•€(^) ์—ฐ์‚ฐ์ž๋ž€? Elixir์—์„œ๋Š” ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€๋Š” ๋‹ค๋ฅด๊ฒŒ = ์—ฐ์‚ฐ์ž๊ฐ€ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ , = ์—ฐ์‚ฐ์ž๋Š” ํŒจํ„ด ๋งค์นญ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ๋•Œ๋ฌธ์—, Elixir์—์„œ ์ด๋ฏธ ํ• ๋‹น๋œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ณ ์ •ํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ๊ฐ’๊ณผ ๋‹ค๋ฅธ ํŒจํ„ด์„ ๋งค์นญํ•˜๊ณ ์ž ํ•  ๋•Œ ํŠน๋ณ„ํ•œ ์—ฐ์‚ฐ์ž๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๊ทธ ๊ฒƒ์ด ๋ฐ”๋กœ ํ•€(^) ์—ฐ์‚ฐ์ž์ด๋‹ค. 1. ํŒจํ„ด ๋งค์นญ์—์„œ์˜ ๊ฐ’ ๊ณ ์ • ํŒจํ„ด ๋งค์นญ์€ ๋ณ€์ˆ˜๋ฅผ ๊ฐ’์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ณ€์ˆ˜๊ฐ€ ์ด๋ฏธ ๊ฐ’์œผ๋กœ ๋ฐ”์ธ๋”ฉ๋œ ์ƒํƒœ์—์„œ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฐ’์ด๋‚˜ ํŒจํ„ด๊ณผ ๋งค์นญํ•˜๋ ค๋ฉด ํ•€ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. x = 1 # x ๋ณ€์ˆ˜์— 1์ด ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค..

[Eric's Web] API๋ฅผ ํ†ตํ•ด์„œ Jira Webhook ๋“ฑ๋กํ•˜๊ธฐ. ( OAuth2.0 Token์–ป๊ธฐ ํฌํ•จ)

API๋ฅผ ํ†ตํ•ด์„œ Jira Webhook ๋“ฑ๋กํ•˜๊ธฐ. ( OAuth2.0 Token์–ป๊ธฐ ํฌํ•จ) ์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์ œ๊ฐ€ ์ค€๋น„ํ•œ ๋‚ด์šฉ์€ Jira API๋ฅผ ํ†ตํ•œ Jira Webhook ๋“ฑ๋กํ•˜๊ธฐ ์ž…๋‹ˆ๋‹ค. ์›นํ›…(Webhook)์ด๋ž€? ์›นํ›…(Webhook)์€ ํ•œ ์‹œ์Šคํ…œ์—์„œ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋ฒคํŠธ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ž๋™ํ™”๋œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์›นํ›…์€ ์ฃผ๋กœ ์›น ์„œ๋น„์Šค ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ์ƒํ˜ธ ์ž‘์šฉ์— ์‚ฌ์šฉ๋˜๋ฉฐ, ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์›นํ›… ๊ฐœ๋…์€ ํ•˜๋‹จ์˜ ์ €์˜ ๊ฒŒ์‹œ๊ธ€ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”. https://just09.tistory.com/363 [Eric's CS] ์›นํ›…(WebHook) ? ๐ŸŽฃ โœ… Abstarct ์›นํ›…(Webhook)์€ ์›น ์„œ๋น„์Šค ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ž๋™ํ™”๋œ ๋ฐฉ๋ฒ•..

[Eric's API] Github Organizations API ๊ฐ€์ ธ์˜ค๊ธฐ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๐Ÿ‘จ‍๐Ÿ’ป

์–ผ๋งˆ์ „์˜ ๋‚˜๋Š” Github ์˜ API๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹นํ•˜๋Š” Github User์˜ Organizations ๋ฅผ ๊ฐ€์ ธ์˜ค๋ คํ•˜์˜€๋‹ค. ์ด๋•Œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ค‘ ๋‚˜๋Š” 2๊ฐ€์ง€ API๋ฅผ ํ†ตํ•ด์„œ User์˜ List organizations ๋ฅผ ํ•˜์˜€๋‹ค. ์ฒซ๋ฒˆ์งธ๋Š” GET /user/orgs ๋ฅผ ํ†ตํ•ด์„œ ๊ฐ€์ ธ์˜ค๋ ค ํ•˜์˜€๋‹ค. ๋ฌธ์ œ์ ๐Ÿ˜ก ํ•˜์ง€๋งŒ, ๋ถ„๋ช…ํžˆ ๋‚˜๋Š” ํ•˜๋‹จ์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ 2๊ฐœ์˜ ์กฐ์ง์„ ๊ฐ€์ง€๊ณ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ํ•˜๋‹จ์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ Postman์œผ๋กœ header์— ์•Œ๋งž์€ token๊ณผ X-Github-Api-Version์„ ์ž…๋ ฅํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  response๋กœ empty array๊ฐ€ ๋‚˜์™”๋‹ค. ์›ƒ๊ธด๊ฑด status code๊ฐ€ 200 ๋ฒˆ์œผ๋กœ ์ •์ƒ์ด๋ผ๋Š” ๊ฑฐ๋‹ค. ํ•ด๊ฒฐ์ฑ… ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ด๋ฒˆ์—๋Š” ๋‹ค๋ฅธ API๋ฅผ ํ†ตํ•ด์„œ User์˜ List organizatio..

[Eric's JS] JavaScript๋กœ ๋‚˜์ด๊ณ„์‚ฐ, ๋  ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ โญ๏ธ

์•ˆ๋…•ํ•˜์„ธ์š”, ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜์€ JavaScript๋ฅผ ์ด์šฉํ•ด ๋‚˜์ด์™€ ๋ ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ƒ๋…„์›”์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๋‚˜์ด์™€ ๋ ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์ด๋ฅผ ์›น ํŽ˜์ด์ง€์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ €, HTML ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 'age'์™€ 'zodiac'๋ผ๋Š” id๋ฅผ ๊ฐ€์ง„ ๋‘ ๊ฐœ์˜ div ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ณณ์— JavaScript๋ฅผ ํ†ตํ•ด ๊ณ„์‚ฐ๋œ ๋‚˜์ด์™€ ๋  ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ... ๋‹ค์Œ์œผ๋กœ, JavaScript ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, ์‚ฌ์šฉ์ž์˜ ์ƒ๋…„์›”์ผ์„ 'birthDay' ๋ณ€์ˆ˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. let birthDay = "2001-02-21"; ๋งŒ๋‚˜์ด ๊ณ„์‚ฐํ•˜๊ธฐ ๊ทธ๋ฆฌ๊ณ  'calculateAge'๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์ƒ๋…„์›”์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ์˜ค๋Š˜ ๋‚ ์งœ์™€ ๋น„๊ตํ•˜์—ฌ ..

[Eric's IDE] Visual Studio Code์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹(Regex) ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๊ธฐ. โœ…

1. ์†Œ๊ฐœ Visual Studio Code(VSCode)๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์—๊ฒŒ ์ธ๊ธฐ ์žˆ๋Š” ํ…์ŠคํŠธ ์—๋””ํ„ฐ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๊ทธ ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” ๊ฐ•๋ ฅํ•œ ๊ฒ€์ƒ‰ ๋ฐ ์น˜ํ™˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ์š”, ํŠนํžˆ ์ •๊ทœ ํ‘œํ˜„์‹(Regex)์„ ํ™œ์šฉํ•˜๋ฉด ์ฝ”๋“œ์—์„œ ๋ณต์žกํ•œ ํŒจํ„ด์˜ ๋ฌธ์ž์—ด์„ ์‰ฝ๊ฒŒ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” VSCode์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 2. ์ •๊ทœ ํ‘œํ˜„์‹(Regex)์ด๋ž€? ์ •๊ทœ ํ‘œํ˜„์‹(Regex)๋Š” ํŠน์ •ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง„ ๋ฌธ์ž์—ด์˜ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ˜•์‹ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ํŒจํ„ด์„ ์ฐพ๊ฑฐ๋‚˜ ์น˜ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. VSCode์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉํ•˜..