IT ์•Œ์•„๊ฐ€๊ธฐ 20

[์ดˆ๋ณด ์›น๊ฐœ๋ฐœ] Web ๊ฐœ๋ฐœ์˜ ๊ฐœ๋… ์ •๋ฆฌ (์›น์‚ฌ์ดํŠธ, ์›น์•ฑ, ์ธํ„ฐ๋„ท, HTTP/HTTPS, ์›น ๊ฐœ๋ฐœ ์ข…๋ฅ˜... )

# ๋”ด์ง“์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์˜ค๋Š˜์˜ ์˜์‹์˜ ํ๋ฆ„ ๊ณต๋ถ€๋Œ€๋œธ ์•„์ดํฐ์œผ๋กœ ์ƒ์‚ฐ์„ฑ ๋„๊ตฌ๋“ค์„ ์ž๋™ํ™”ํ•˜๋ ค๊ณ  ํ•˜๋‹ค๊ฐ€ Google์˜ AppScripts๋ผ๋Š” ๊ธฐ๋Šฅ์„ ๋ฐœ๊ฒฌํ–ˆ๊ณ , ์ด๊ฑธ ํ†ตํ•ด์„œ ์›น์•ฑ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ๋„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒ์‚ฐ์„ฑ ๋„๊ตฌ๋ฅผ ์›น์•ฑ์œผ๋กœ ๋งŒ๋“ ๋‹ค๋ฉด, ์•„์ดํฐ ๋‹จ์ถ•์–ด ๊ธฐ๋Šฅ์œผ๋กœ ์›น์•ฑ์— ์ ‘์†ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์ƒ์‚ฐ์„ฑ ๋„๊ตฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์— ์ผ๋‹จ (ํด๋กœ๋“œ๊ฐ€) ๋งŒ๋“ค์–ด๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋Œ€์™€ ๋‹ฌ๋ฆฌ ๋ฐ”๋กœ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๊ณ ... ํ™”๋‚˜์„œ ์ž๊พธ ํด๋กœ๋“œ์—๊ฒŒ ์ด์œ ๋ฅผ ๋ฌป๋‹ค๊ฐ€ ์•Œ ์ˆ˜ ์—†๋Š” ๋ง๋“ค์ด ๊ณ„์†๋˜์–ด ๊ฐœ๋…์ด๋ผ๋„ ๋จผ์ € ๊ณต๋ถ€ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹œ์ž‘๋œ ์˜ค๋Š˜์˜ ๊ณต๋ถ€... ๋ฐ”๋กœ ์›น๊ฐœ๋ฐœ ๊ฐœ๋… ์ •๋ฆฌ! Web๊ณผ ๊ด€๋ จ๋œ ๊ฐœ๋… ์ •๋ฆฌ์›น์•ฑ์ด๋ž€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ธํ„ฐ๋„ท ์ฃผ์†Œ (url)๋กœ ์ ‘์†ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜..

์œˆ๋„์šฐ PC ์‹œ์Šคํ…œ ์–ธ์–ด๋ฅผ ์˜์–ด๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐ€์ด๋“œ๋ผ์ธ ์ž‘์„ฑ ๋“ฑ์„ ์˜์–ด๋กœ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ์œˆ๋„์šฐ ํ”ผ์‹œ ์–ธ์–ด๋ฅผ ์˜์–ด๋กœ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๋ฐ”๋กœ ๋˜์ง€ ์•Š์•„์„œ ๊ทธ ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. ์œˆ๋„์šฐ ์‹œ์Šคํ…œ ์–ธ์–ด๋ฅผ ์˜์–ด๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•1. ์œˆ๋„์šฐ์˜ ์„ค์ •์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ์‹œ๊ฐ„ ๋ฐ ์–ธ์–ด๋กœ ๋“ค์–ด๊ฐ„๋‹ค. 2. ์–ธ์–ด๋กœ ๋“ค์–ด๊ฐ€์„œ ์–ธ์–ด์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. 3. ์„ค์น˜ํ•  ์–ธ์–ด๋ฅผ ์˜์–ด (๋ฏธ๊ตญ)์œผ๋กœ ์„ ํƒํ•œ๋‹ค. 4. ๋‹ค์Œ์„ ๋ˆ„๋ฅด๋ฉด ์–ธ์–ด๊ธฐ๋Šฅ์„ค์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๊ณณ์—์„œ ๋‚ด Windows ํ‘œ์‹œ์–ธ์–ด์— ์ฒดํฌ ํ‘œ์‹œ๋ฅผ ํ•œ๋‹ค. 5. ์ดํ›„ ์–ธ์–ดํŒฉ์ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์ง€๋Š”๋ฐ, ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋กœ๊ทธ์•„์›ƒ์„ ํ•˜๋ผ๊ณ  ๋‚˜์˜จ๋‹ค. ๋กœ๊ทธ์•„์›ƒ์„ ์‹œ๋„ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ด ๊ณผ์ •์œผ๋กœ ์–ธ์–ด ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿผ์—๋„ ์ผ๋ถ€์•ฑ์—์„œ ํ•œ๊ตญ์–ด๊ฐ€ ๊ณ„์† ํ‘œ์‹œ๊ฐ€ ๋˜๋Š” ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ๊ณผ์ •์œผ๋กœ ..

[ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ] pedalboard

์˜ค๋Š˜์€ ์˜ค๋””์˜ค ์ดํŽ™ํŠธ ์ฒ˜๋ฆฌ์šฉ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ ํŽ˜๋‹ฌ๋ณด๋“œ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. Pedal Board ๊ฐœ๋…Pedal Board๋ž€? Spotify์—์„œ ๊ฐœ๋ฐœํ•œ ์˜ค๋””์˜ค ์ดํŽ™ํŠธ ์ฒ˜๋ฆฌ์šฉ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์‹ค์ œ ๊ธฐํƒ€ ์ดํŽ™ํŠธ ํŽ˜๋‹ฌ๋ณด๋“œ์—์„œ ์ด๋ฆ„์„ ๋”ฐ์˜จ ๊ฒƒ์œผ๋กœ,์—ฌ๋Ÿฌ ์˜ค๋””์˜ค ์ดํŽ™ํŠธ๋ฅผ ์ฒด์ธ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์˜ค๋””์˜ค ์‹ ํ˜ธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. Pedalboard๋Š” ์‹ค์‹œ๊ฐ„ ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ์šฉ์ด ์•„๋‹ˆ๋ผ, ํŒŒ์ผ์— ์ดํŽ™ํŠธ๋ฅผ ์ž…ํžˆ๋Š” ๋ฐ ํŠนํ™”๋˜์–ด์žˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ NumPy ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๋ฉฐWAV ํŒŒ์ผ ๋“ฑ PCM (Pulse Code Modulation) ํฌ๋งท์„ ๊ธฐ๋ณธ์œผ๋กœ ์ง€์›ํ•œ๋‹ค. ๋˜ํ•œ C++ ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋œ ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ ์ปดํŒŒ์ผ์ด ํ•„์š”ํ•œ ํŒจํ‚ค์ง€์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ˆœํžˆ pip๋กœ ์„ค์น˜ํ•˜๋ฉด ์•ˆ๋˜๊ณ , C++ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™..

[PC] ๋ฐ์ดํ„ฐ ์ „์†ก & ์ „์› ์ผ€์ด๋ธ” ์ข…๋ฅ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

์ปดํ“จํ„ฐ๋‚˜ ์ „์ž๊ธฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ์ˆ˜๋งŽ์€ ์ผ€์ด๋ธ”๋“ค์„ ๋งˆ์ฃผํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋™์•ˆ์€ ๋ฌด์‹œํ–ˆ์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ํ•œ๋ฒˆ ์ผ€์ด๋ธ”์˜ ์ข…๋ฅ˜์™€ ์šฉ๋„๋ฅผ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์ผ๋‹จ ์ผ€์ด๋ธ”์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค:์ „์› ์ผ€์ด๋ธ”: ์ „๊ธฐ๋ฅผ ๊ณต๊ธ‰ํ•˜๋Š” ์ผ€์ด๋ธ”๋ฐ์ดํ„ฐ ์ „์†ก ์ผ€์ด๋ธ”: ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์ผ€์ด๋ธ”์ „์› ์ผ€์ด๋ธ”์˜ ์ข…๋ฅ˜ํŒŒ์›Œ ์ฝ”๋“œ: ๋ฒฝ๋ฉด ์ฝ˜์„ผํŠธ(220V)์—์„œ ์ปดํ“จํ„ฐ๋‚˜ ๋ชจ๋‹ˆํ„ฐ๋กœ ์ „๊ธฐ๋ฅผ ๊ณต๊ธ‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ปดํ“จํ„ฐ ๋ณธ์ฒด, ๋ชจ๋‹ˆํ„ฐ, ํ”„๋ฆฐํ„ฐ ๋“ฑ์— ์‚ฌ์šฉ๋œ๋‹ค. ํ”ํžˆ ์•„๋Š” ๋ผ์ง€์ฝ”์— ์—ฐ๊ฒฐํ•˜๋Š” ์ฝ˜์„ผํŠธ๋กœ AC ์ „์›์œผ๋กœ ์ „๊ธฐ๊ณต๊ธ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.DC ์ „์› (์ง๋ฅ˜ ์ „์›)1) ์–ด๋Œ‘ํ„ฐ ๋ฐฉ์‹ : ๋ณดํ†ต ํ•ธ๋“œํฐ์ด๋‚˜ ๋…ธํŠธ๋ถ ์ถฉ์ „๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ์ „์›์€ AC ์‹์œผ๋กœ ๊ณต๊ธ‰๋˜์ง€๋งŒ ์ „์ž๊ธฐ๊ธฐ๋Š” ์ง๋ฅ˜ ์ „์› ๋ฐฉ์‹์œผ๋กœ ์ „์›์ด ๊ณต๊ธ‰์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— '์–ด๋Œ‘ํ„ฐ'๋กœ ๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋‹ค.๋…ธํŠธ๋ถ ์–ด๋Œ‘ํ„ฐ: 2..

๋ธ”๋กœ๊ทธ์—์„œ ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ ๋ณต์‚ฌ ๋ง‰ํž˜ 10์ดˆ ๋งŒ์— ํ•ด์ œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ธ”๋กœ๊ทธ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•˜๋‹ค๋ณด๋ฉด ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋”์€ ๋ธ”๋กœ๊ทธ ์ž์ฒด์ ์œผ๋กœ ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ ๋ฐ ๋ณต์‚ฌ ๊ธฐ๋Šฅ์ด ๋ง‰ํ˜€ ์žˆ์–ด์„œ ํ…์ŠคํŠธ์™€ ์ด๋ฏธ์ง€๋ฅผ ๋ณต์‚ฌํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿด ๋•Œ F12(๊ฐœ๋ฐœ์ž ๋„๊ตฌ) → ์ฝ˜์†”(Console) ์„ ์ด์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณต์‚ฌ ์ œํ•œ์„ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค! ๋ณต์‚ฌ ์ œํ•œ ํ•ด์ œ ๋ฐฉ๋ฒ•ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ•ด๋‹น ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ ์ ‘์†ํ‚ค๋ณด๋“œ์—์„œ F12 ํ‚ค ๋ˆ„๋ฅด๊ธฐ (๋˜๋Š” ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ → ๊ฒ€์‚ฌ)์ƒ๋‹จ ํƒญ์—์„œ Console ํด๋ฆญ์•„๋ž˜ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๊ณ  Enterdocument.onselectstart = null;document.oncontextmenu = null;document.oncopy = null;document.onmousedown = ..

[Visual Studio Code] ์ฃผ์š” ๋‹จ์ถ•ํ‚ค ์ •๋ฆฌ

Visual Studio Code๋ฅผ ์ฃผ์š” IDE๋กœ ํ˜„์žฌ๋Š” ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ž์ฃผ ํ™œ์šฉํ•˜๊ณ ๋Š” ์žˆ์ง€๋งŒ ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ชฐ๋ผ ๋งค๋ฒˆ ์ˆ˜๊ธฐ๋กœ ํด๋ฆญํ•ด์„œ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด ๋ถˆํŽธํ•˜๋‹ค๊ณ  ๋А๊ปด์„œ Visual Studio Code์˜ ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.์ถ”ํ›„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋” ์ž์ฃผ ํ™œ์šฉํ•˜๋Š” ๋‹จ์ถ•ํ‚ค๋‚˜ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๋“ค๋„ ์—…๋กœ๋“œํ•  ๊ณ„ํš์— ์žˆ๋‹ค.์ฝ”๋“œ ํƒ์ƒ‰ํŒŒ์ผ๋กœ ์ด๋™: Ctrl+P (Windows/Linux), โŒ˜+P (Mac)๋ชจ๋“  ๋ช…๋ น์–ด ํ‘œ์‹œ: Ctrl+Shift+P (Windows/Linux), โŒ˜+Shift+P (Mac)๋ผ์ธ์œผ๋กœ ์ด๋™: Ctrl+G (Windows/Linux), โŒ˜+G (Mac)์‹ฌ๋ณผ๋กœ ์ด๋™: Ctrl+Shift+O (Windows/Linux), โŒ˜+Shift+O (Mac)์ฝ”๋“œ ํŽผ์น˜๊ธฐ/์ ‘๊ธฐํ˜„์žฌ ๋ธ”๋ก ํ† ๊ธ€: Ctrl+S..

[์ฝ”๋”ฉํ”์ ] Python ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ํŒจํ„ด ์ฐพ๊ธฐ

๐Ÿ‘พ ์ •๊ทœํ‘œํ˜„์‹์ด๋ž€?์ •๊ทœ ํ‘œํ˜„์‹์€ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ํŒจํ„ด์„ ์ฐพ๊ฑฐ๋‚˜ ๋งค์นญ, ๋Œ€์ฒดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํŠน์ˆ˜ํ•œ ๋ฌธ์ž์—ด์ด๋‹ค. Python์—์„œ๋Š” re ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์ •๊ทœ ํ‘œํ˜„์‹ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋œ๋‹ค. import re # ์ •๊ทœ ํ‘œํ˜„์‹ ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ธฐ# ์ •๊ทœ ํ‘œํ˜„์‹ ํŒจํ„ด ๋ฆฌ์ŠคํŠธ ์ •์˜patterns = [ r'pattern1', r'pattern2', r'pattern3']๐Ÿ‘พ Python ์ •๊ทœ ํ‘œํ˜„์‹ ํŒจํ„ด ๋ฆฌ์ŠคํŠธ์˜ ์šฉ๋„Python์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹(Regular Expression) ํŒจํ„ด ๋ฆฌ์ŠคํŠธ๋Š” ๋ฌธ์ž์—ด ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค. ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒ˜๋ฆฌํ•  ๋•Œ ์ •๊ทœ ํ‘œํ˜„์‹ ๊ทœ์น™๋“ค์„ ๋„ฃ์–ด์„œ ์ œ๋ชฉ์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ํ•„์š”์—†๋Š” ๋ฌธ๊ตฌ๋“ค์„ ์—†์• ๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ ํ™œ์šฉํ•œ๋‹ค. ํ’ˆ์งˆ์ด ์ข‹์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์–ด์•ผ ์ดํ›„์˜ ์ž‘์—…์ด..

[ChatGPT] MCP๋ž€? MCP server ๋ชจ์Œ

MCP (Model-Context-Protocol) ๋ž€?MCP๋Š” **Model(๋ชจ๋ธ) - Context(์ปจํ…์ŠคํŠธ) - Protocol(ํ”„๋กœํ† ์ฝœ)**์˜ ์•ฝ์ž๋กœ, AI ๋ชจ๋ธ์ด ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค์™€ ์‰ฝ๊ฒŒ ์—ฐ๊ฒฐ๋˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋‹ค. ์‰ฝ๊ฒŒ ๋น„์œ ํ•˜์ž๋ฉด, ๊ฐœ๋ฐœ์ž๋“ค์ด API๋ฅผ ํ™œ์šฉํ•ด ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, AI ๋ชจ๋ธ๋„ ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์‰ฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” '๋‹ค๋ฆฌ' ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.MCP์˜ ๊ตฌ์„ฑ ์š”์†Œ 4๊ฐ€์ง€๐Ÿ  Host (ํ˜ธ์ŠคํŠธ)ํ˜ธ์ŠคํŠธ๋Š” AI ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ์‹ค์ œ๋กœ ํ™œ์šฉํ•˜๋Š” ์„œ๋น„์Šค๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. โœ… ๋Œ€ํ‘œ์ ์ธ ํ˜ธ์ŠคํŠธ ์„œ๋น„์Šค๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํด๋กœ๋“œ(Claude) - ์ธ๊ฐ„๊ณผ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ AI ๋น„์„œ์ปค์„œ(C..

[์ฝ”๋”ฉํ”์ ] .env file ๋งŒ๋“ค๊ณ  ํ™œ์šฉํ•˜๊ธฐ : ๊ฐ„๋‹จํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฐฉ๋ฒ•

.env ํŒŒ์ผ์ด๋ž€?.env๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜(environment variables)๋ฅผ ์ €์žฅํ•˜๋Š” ํŒŒ์ผ๋กœ, API ํ‚ค, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ณด, ์„ค์ • ๊ฐ’์„ ๋ณด๊ด€ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.๋ณด์•ˆ์ƒ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์•„ ๋†“๊ณ  github์— ์—…๋กœ๋“œ ํ•˜๊ธฐ ์ „์—, .gitignore์— ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๊ณต์œ ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.  ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋งˆ๋‹ค ๋‹ค๋ฅธ ์„ค์ • ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, .env ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ์‰ฝ๊ฒŒ ํ™˜๊ฒฝ ์„ค์ • ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ด์„œ ๋”ฐ๋กœ .env ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค. .env ํŒŒ์ผ ์ƒ์„ฑ๋ฐฉ๋ฒ• 1. ์šฐ์„  ๋งฅ๊ณผ Linux OS์˜ ๋ช…๋ น์–ด์ด๋‹ค. nano .env  ์ด ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” .env ํŒŒ์ผ์„ nano ์—๋””ํ„ฐ๋กœ ์—ฌ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์—ฌ๊ธฐ์— OPENAI_API_KE..

[์ฝ”๋”ฉ ํ”์ ] 10์ดˆ๋งŒ์— doc ํŒŒ์ผ์„ docx ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒ• (์ฝ”๋“œ์ฒจ๋ถ€, ์ดˆ๋ณด์ž์šฉ ์„ค๋ช… ํฌํ•จ)

์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ DOC์„ DOCX๋กœ ๋ฐ”๊พธ๋Š” ์ฝ”๋“œ import osimport win32com.clientdef convert_doc_to_docx(input_folder, output_folder):    # ์ถœ๋ ฅ ํด๋”๊ฐ€ ์—†์œผ๋ฉด ์ƒ์„ฑ    os.makedirs(output_folder, exist_ok=True)    word = win32com.client.Dispatch("Word.Application")    word.Visible = False    for root, dirs, files in os.walk(input_folder):        for file in files:            if file.endswith(".doc") and not file.endswith(".docx")..

728x90