๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT

์›น ์ž๋™ํ™” ํ”„๋กœ๊ทธ๋žจ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ Python ํ™˜๊ฒฝ ์—†์ด ์‹คํ–‰

๋ฐ˜์‘ํ˜•

ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์›น ์ž๋™ํ™” ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ๋„ Python ํ™˜๊ฒฝ ์—†์ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด Python ๋ฐ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์—†์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ์›น ์ž๋™ํ™” ๋„๊ตฌ์ธ PyInstaller๋ฅผ ์‚ฌ์šฉํ•œ ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์›น ์ž๋™ํ™” ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•

ํŒŒ์ด์ฌ์ด๋ž€? PyInstaller๋Š” Python ์ฝ”๋“œ๋ฅผ ๋…๋ฆฝ ์‹คํ–‰ํ˜• .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Python ํ™˜๊ฒฝ์„ ์„ค์น˜ํ•˜์ง€ ์•Š์•„๋„ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์ž๋™ํ™”์™€ ๊ฐ™์€ ์ž‘์—…์„ ํฌํ•จํ•œ ์ด ๋„๊ตฌ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Python ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ Python๊ณผ ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์—†์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ PyInstaller์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Python ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๊ณ , ๋ณ€ํ™˜ํ•œ .exe ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ ์†Œ๊ฐœ

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

๋ฐ˜์‘ํ˜•

PyInstaller ํŠน์ง•:

  • ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ: ๋ชจ๋“  ์ข…์†์„ฑ ํŒŒ์ผ์„ ํฌํ•จํ•œ ํ•˜๋‚˜์˜ .exe ํŒŒ์ผ๋กœ ํŒจํ‚ค์ง•.
  • ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ง€์›: Windows, Linux, macOS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฐ ํ”Œ๋žซํผ์—์„œ .exe ํŒŒ์ผ์„ ๋งŒ๋“ค๋ ค๋ฉด ํ•ด๋‹น ํ”Œ๋žซํผ์—์„œ PyInstaller๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ: ์›น ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ฐ™์€ ์™ธ๋ถ€ ํŒŒ์ผ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PyInstaller ์„ค์น˜ํ•˜๊ธฐ

๋จผ์ €, PyInstaller๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด pip ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PyInstaller๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pip install pyinstaller

์›น์ž๋™ํ™” ํ”„๋กœ๊ทธ๋žจ์„ ํ™œ์šฉํ•œ ๋กœ๋ด‡ํŠธ

ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

์ด์ œ Python ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Python ์ฝ”๋“œ ์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด, ์›น ์ž๋™ํ™”๋‚˜ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด๋ฅผ ์œ„ํ•œ Selenium์„ ์‚ฌ์šฉํ•˜๋Š” Python ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.

import time from selenium import webdriver # ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„ ๊ฒฝ๋กœ ์„ค์ • driver_path = "path_to_chromedriver.exe" # ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„ ์œ„์น˜ # ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„๋กœ ๋ธŒ๋ผ์šฐ์ € ์—ด๊ธฐ driver = webdriver.Chrome(executable_path=driver_path) # ์›น ํŽ˜์ด์ง€ ์—ด๊ธฐ driver.get("https://www.example.com") # ์ž ์‹œ ๋Œ€๊ธฐ time.sleep(5) # ์›น ํŽ˜์ด์ง€ ๋‹ซ๊ธฐ driver.quit()

.exe ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

์œ„ ์ฝ”๋“œ๋ฅผ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด PyInstaller ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. Python ํŒŒ์ผ์ด my_program.py๋ผ๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

pyinstaller --onefile my_program.py
  • --onefile: ๋ชจ๋“  ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋ฌถ์Šต๋‹ˆ๋‹ค.
  • my_program.py: ๋ณ€ํ™˜ํ•  Python ํŒŒ์ผ์˜ ์ด๋ฆ„.

์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด dist ํด๋” ์•ˆ์— my_program.exe ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ai์™€ ์ž๋™ํ™” ๋กœ๋ด‡

ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ์‹œํ‚ค๊ธฐ

Selenium๊ณผ ๊ฐ™์€ ์›น ์ž๋™ํ™” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋“œ๋ผ์ด๋ฒ„๋Š” .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ํ•จ๊ป˜ ํฌํ•จ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PyInstaller๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํฌํ•จ์‹œํ‚ค๋ ค๋ฉด --add-data ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„ ํŒŒ์ผ์ด chromedriver.exe๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

pyinstaller --onefile --add-data "path_to_chromedriver.exe;." my_program.py

  • --add-data "path_to_chromedriver.exe;.": ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„ ํŒŒ์ผ์„ .exe ํŒŒ์ผ์— ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค. ์„ธ๋ฏธ์ฝœ๋ก (;)์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๋ณธ๊ณผ ๋Œ€์ƒ ๊ฒฝ๋กœ๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ .exe ํŒŒ์ผ ํ™•์ธ

์œ„ ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํ›„, dist ํด๋”์— ์ƒ์„ฑ๋œ .exe ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํ•ด๋‹น ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ์˜ฎ๊ฒจ์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ .exe ํŒŒ์ผ ์‹คํ–‰ํ•˜๊ธฐ

Python๊ณผ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ๋„ ์ด .exe ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ๋ช‡ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ ํŒŒ์ผ

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

. ์‹คํ–‰ ํ™˜๊ฒฝ

.exe ํŒŒ์ผ์€ Windows ์šด์˜์ฒด์ œ์—์„œ๋งŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด, ํ•ด๋‹น ์šด์˜์ฒด์ œ์— ๋งž๋Š” Python ํŒŒ์ผ์„ ๊ฐ๊ฐ .exe๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ํ™” ์ถ”๊ฐ€ ์˜ต์…˜

์•„์ด์ฝ˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

.exe ํŒŒ์ผ์— ์•„์ด์ฝ˜์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด --icon ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, icon.ico๋ผ๋Š” ์•„์ด์ฝ˜ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

pyinstaller --onefile --add-data "path_to_chromedriver.exe;." --icon=icon.ico my_program.py

์ฝ˜์†” ์ฐฝ ์ˆจ๊ธฐ๊ธฐ

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝ˜์†” ์ฐฝ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ด ์ฐฝ์„ ์ˆจ๊ธฐ๋ ค๋ฉด --noconsole ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

pyinstaller --onefile --noconsole --add-data "path_to_chromedriver.exe;." my_program.py

์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด .exe ํŒŒ์ผ์ด ์‹คํ–‰๋  ๋•Œ ์ฝ˜์†” ์ฐฝ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ์„ .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐฐํฌํ•˜๊ธฐ

PyInstaller๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Python ํ”„๋กœ๊ทธ๋žจ์„ Windows์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” .exe ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ๋„ Python ์„ค์น˜ ์—†์ด ์†์‰ฝ๊ฒŒ ์ž๋™ํ™” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์›น ์ž๋™ํ™”๋‚˜ ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ฐ™์€ ์™ธ๋ถ€ ํŒŒ์ผ์„ ํฌํ•จ์‹œํ‚ค๋ฉด Python๊ณผ ๊ด€๋ จ๋œ ์„ค์ • ์—†์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

'IT' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ธ”๋กœ๊ทธ ์ด์ „ ์ž๋™ํ™” ํ”„๋กœ๊ทธ๋žจ 2] ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฑ์—…ํ•˜๋Š” ์‰ฌ์šด ๋ฐฉ๋ฒ•  (5) 2025.03.21
[ ๋ธ”๋กœ๊ทธ ๊ตฌ๋… ํŒ ] ๋‚ด๊ฐ€ ๊ตฌ๋…ํ•œ ๋ธ”๋กœ๊ทธ์™€ ๋‚˜๋ฅผ ๊ตฌ๋…ํ•˜์ง€ ์•Š์€ ๋ธ”๋กœ๊ทธ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฐพ๋Š” ๋ฐฉ๋ฒ•  (12) 2025.03.16
์ž๋™ ๋Œ“๊ธ€ ์ฐจ๋‹จ ๋ฐฉ๋ฒ•. ๋งคํฌ๋กœ ๋Œ“๊ธ€๋กœ๋ถ€ํ„ฐ ๋ธ”๋กœ๊ทธ ๋ณดํ˜ธํ•˜๋Š” ํด๋ฆญ ํƒ€์ด๋ฐ๊ณผ ์†๋„  (0) 2025.03.15
๋™์˜์ƒ ์ „์ฒด ๋ฐฐ๊ฒฝ - ๋ธ”๋กœ๊ทธ์— ๋™์˜์ƒ ๋ฐฐ๊ฒฝํ™”๋ฉด ์ „์ฒดํ™”๋ฉด ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•  (0) 2025.03.09
๋ชจ๋ฐ”์ผ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ AMP ํŽ˜์ด์ง€ ์—ฐ๊ฒฐํ•˜๋Š” ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•  (1) 2025.03.02
AI ์‹œ๋Œ€์— ์ตœ์ ํ™”๋œ ๋ธ”๋กœ๊ทธ ์ฝ˜ํ…์ธ  ์ œ์ž‘ ๋ฐฉ๋ฒ•- ๊ฒ€์ƒ‰ ์ตœ์ ํ™” ์ „๋žต ๋ถ„์„  (2) 2025.03.01
์ด๋ฏธ์ง€ ๋ฉ”ํƒ€ ํƒœ๊ทธ ์ž๋™ ์ถ”๊ฐ€๋กœ SEO ์ตœ์ ํ™” ๋ฐ ๋ฌด๋‹จ ๋„์šฉ ๋ฐฉ์ง€ํ•˜๊ธฐ  (0) 2025.02.28