๋””๋ฒ„๊น…

๋””๋ฒ„๊น…

๋””๋ฒ„๊ทธ ๋ชจ๋“œ ์„ค์ •

Rhymix/XE์—์„œ ๊ฐœ๋ฐœ ์ค‘ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ƒ์„ธํ•œ ์˜ค๋ฅ˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์ • ๋ฐฉ๋ฒ•

/config/config.user.inc.php ํŒŒ์ผ์— ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

<?php
// ๋””๋ฒ„๊ทธ ๋ชจ๋“œ ํ™œ์„ฑํ™”
define('__DEBUG__', 1);

// ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ ๋ ˆ๋ฒจ ์„ค์ • (0: ์—†์Œ, 1: ํŒŒ์ผ, 2: ํ™”๋ฉด)
define('__DEBUG_OUTPUT__', 2);

// ํŠน์ • IP์—์„œ๋งŒ ๋””๋ฒ„๊ทธ ์ •๋ณด ํ‘œ์‹œ (๋ณด์•ˆ์ƒ ๊ถŒ์žฅ)
define('__DEBUG_PROTECT__', '123.456.789.0');
?>

๋””๋ฒ„๊ทธ ๋ ˆ๋ฒจ ์˜ต์…˜

  • __DEBUG__: ๋””๋ฒ„๊ทธ ๋ชจ๋“œ on/off
  • 0: ๋น„ํ™œ์„ฑํ™” (๊ธฐ๋ณธ๊ฐ’)
  • 1: ํ™œ์„ฑํ™”

  • __DEBUG_OUTPUT__: ๋””๋ฒ„๊ทธ ์ •๋ณด ์ถœ๋ ฅ ์œ„์น˜

  • 0: ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ
  • 1: ํŒŒ์ผ๋กœ ์ €์žฅ (files/_debug/ ๋””๋ ‰ํ† ๋ฆฌ)
  • 2: ํ™”๋ฉด์— ์ง์ ‘ ์ถœ๋ ฅ

  • __DEBUG_PROTECT__: ๋ณด์•ˆ ์„ค์ •

  • IP ์ฃผ์†Œ ์ง€์ • ์‹œ ํ•ด๋‹น IP์—์„œ๋งŒ ๋””๋ฒ„๊ทธ ์ •๋ณด ํ‘œ์‹œ
  • ์šด์˜ ์„œ๋ฒ„์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์„ค์ • ๊ถŒ์žฅ

์ฃผ์˜์‚ฌํ•ญ

  1. ์„ฑ๋Šฅ ์˜ํ–ฅ: ๋””๋ฒ„๊ทธ ๋ชจ๋“œ ํ™œ์„ฑํ™” ์‹œ CSS/JS minify ๊ธฐ๋Šฅ์ด ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ๋ณด์•ˆ ์ฃผ์˜: ์šด์˜ ์„œ๋ฒ„์—์„œ๋Š” ์ ˆ๋Œ€ ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์ง€ ๋งˆ์„ธ์š”. ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ํŒŒ์ผ ๊ถŒํ•œ: ํŒŒ์ผ๋กœ ๋””๋ฒ„๊ทธ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๊ฒฝ์šฐ files/_debug/ ๋””๋ ‰ํ† ๋ฆฌ์— ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋””๋ฒ„๊น… ๋ฐฉ๋ฒ•

1. ๋ณ€์ˆ˜ ํ™•์ธ

// Rhymix ๋””๋ฒ„๊ทธ ํ•จ์ˆ˜
debug('๋ณ€์ˆ˜ ๋‚ด์šฉ ํ™•์ธ');
debugPrint($variable);

// XE ๋ ˆ๊ฑฐ์‹œ
debugPrint($variable, $title = null);

2. ์ฟผ๋ฆฌ ๋””๋ฒ„๊น…

// ์ฟผ๋ฆฌ ์‹คํ–‰ ์ „ ๋””๋ฒ„๊ทธ ๋ชจ๋“œ ์„ค์ •
$output = executeQuery('module.getModuleInfo', $args);
if (!$output->toBool()) {
    debugPrint($output);
}

3. ์—๋Ÿฌ ๋กœ๊ทธ ํ™•์ธ

์—๋Ÿฌ ๋กœ๊ทธ๋Š” ๋‹ค์Œ ์œ„์น˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
- PHP ์—๋Ÿฌ ๋กœ๊ทธ: ์„œ๋ฒ„ ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฆ„
- Rhymix ์—๋Ÿฌ ๋กœ๊ทธ: files/_debug/ ๋””๋ ‰ํ† ๋ฆฌ

4. ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ํ™œ์šฉ

  • F12๋ฅผ ๋ˆŒ๋Ÿฌ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์—ด๊ธฐ
  • Console ํƒญ์—์„œ JavaScript ์—๋Ÿฌ ํ™•์ธ
  • Network ํƒญ์—์„œ ์š”์ฒญ/์‘๋‹ต ํ™•์ธ

๋ฌธ์ œ ํ•ด๊ฒฐ ํŒ

  1. ํ™”๋ฉด์ด ๋ฐฑ์ง€๋กœ ๋‚˜์˜ฌ ๋•Œ
    - ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์—๋Ÿฌ ํ™•์ธ
    - PHP ์—๋Ÿฌ ๋กœ๊ทธ ํ™•์ธ
    - ํŒŒ์ผ ๊ถŒํ•œ ๋ฌธ์ œ ํ™•์ธ

  2. ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์„ ๋•Œ
    - XML ์ฟผ๋ฆฌ ํŒŒ์ผ ๋ฌธ๋ฒ• ํ™•์ธ
    - ํ…Œ์ด๋ธ”๋ช…, ์ปฌ๋Ÿผ๋ช… ํ™•์ธ
    - ์กฐ๊ฑด์ ˆ ๋ฌธ๋ฒ• ํ™•์ธ

  3. ๋ชจ๋“ˆ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๋•Œ
    - ๋ชจ๋“ˆ ์„ค์น˜ ์ƒํƒœ ํ™•์ธ
    - ๊ถŒํ•œ ์„ค์ • ํ™•์ธ
    - ์บ์‹œ ํŒŒ์ผ ์‚ญ์ œ (files/cache/)

์œ ์šฉํ•œ ๋””๋ฒ„๊น… ๋„๊ตฌ

  • XE/Rhymix Profiler: ์‹คํ–‰ ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ์ฟผ๋ฆฌ ๋ถ„์„
  • Xdebug: PHP ๋””๋ฒ„๊น… ํ™•์žฅ
  • Chrome DevTools: ํ”„๋ก ํŠธ์—”๋“œ ๋””๋ฒ„๊น…
  • Postman: API ํ…Œ์ŠคํŠธ