trackback º¸³»°í ¹Þ±â ±¸Çö
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 Æ®·¢¹é ¹Þ±â
1.1 trackback ÀÀ´ä Çü½Ä
1.2 trackback Áֿ亯¼ö
1.3 trackback ÀúÀå Å×À̺í
1.4 ¿ÏÀüÇÑ ÄÚµå
1.5 joinc wiki trackback
2 Æ®·¢¹é º¸³»±â


trackback¸¦ º¸³»°í ¹Þ´Â ¸ðµâÀ» ¸¸µé¾îº¸±â·Î Çß´Ù. ¿ì¼±Àº joinc wiki¿¡ »ç¿ëÇØº¼ »ý°¢ÀÌ´Ù. ÇØ´ç À§Å°ÆäÀÌÁö¿¡¼­ ´Ù¸¥ blog Æ÷½ºÆ®µîÀ¸·Î Æ®·¢¹éÀ» º¸³»°Å³ª ȤÀº À§Å°ÆäÀÌÁö¿¡¼­ Æ®·¢¹éÀ» ¹Þµµ·Ï ÇØº¼ »ý°¢ÀÌ´Ù.

°³¹ßÀº php¸¦ ÀÌ¿ë ÇÒ °ÍÀÌ´Ù. ÀÌ ¸ðµâÀº 2009/7/5Âë¿¡ ¿Ï·áµÇ¾î¼­ joinc wiki ÆäÀÌÁö¿¡ Àû¿ëµÇ±â ½ÃÀÛÇß´Ù. °¡Àå¸ÕÀú Å×½ºÆ®µÈ ¿µ±¤ÀÇ wiki ÆäÀÌÁö´Â ´ëÇØ¼­ Site/SoftWare_engineering/OOPÀÌ´Ù. ¾ÕÀ¸·Î ÇÒÀÏÀº ´ÙÀ½°ú °°´Ù.
  • Æ®·¢¹éÀÌ ÀÖ´Â ÆäÀÌÁö´Â ¹Ù·Î Æ®·¢¹é¸ñ·ÏÀÌ ÀÖ´Â ÇÏ´ÜÀ¸·Î À̵¿ÇÒ ¼ö ÀÖµµ·Ï ¾ÞÄ¿Ãß°¡
  • Æ®·¢¹é ¸ðÀ½À» ¸ð¿©ÁÖ´Â °£´ãÇÑ ¸ðµâ ÀÛ¼º

1 Æ®·¢¹é ¹Þ±â

1.1 trackback ÀÀ´ä Çü½Ä

trackback ¿äû µ¥ÀÌÅÍ´Â POST¹æ½ÄÀ¸·Î Àü´ÞÀÌ µÈ´Ù. trackbackÀ» ¹Þ´Â ÃøÀº, °ªµéÀ» ó¸®Çؼ­ DB¿¡ Áý¾î ³Ö°í, ±× °á°ú¸¦ XML·Î ¸®ÅÏÇÏ¸é µÈ´Ù. ÀÀ´ä Æ÷¸ËÀº ´ÙÀ½°ú °°´Ù.
<?xml version="1.0" encoding="UTF-8"?> 
<response> 
 
<error>0</error> 
</response> 
 
content-type´Â phpÀÇ header() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­, text/xml·Î Á¤ÇØÁÖ¸é µÈ´Ù.
header("Content-type: text/xml"); 
 

1.2 trackback Áֿ亯¼ö

trackback·Î Àü¼ÛµÇ´Â ÁÖ¿ä º¯¼öµéÀÌ´Ù. °£´ÜÇÏ´Ù.
url trackback¸¦ º¸³»´Â ¼­¹öÀÇ URL
title Post Á¦¸ñ
blog_name ºí·Î±× À̸§
excerpt ³»¿ë ¿ä¾à

1.3 trackback ÀúÀå Å×À̺í

À§ µ¥ÀÌÅ͵éÀ» ÀúÀåÇϱâ À§Çؼ­ ´ÙÀ½°ú °°Àº Å×À̺íÀ» »ý¼ºÇß´Ù.
create table dmf_trackbacks( 
  id  int auto_increment, 
  page varchar(40), 
  url varchar(80), 
  excerpt varchar(255), 
  ip varchar(80), 
  title varchar(255), 
  PRIMARY KEY (id) 
); 
 
page´Â Æ®·¢¹éÀ» ¹ÞÀº ÆäÀÌÁöÀÇ À̸§ÀÌ´Ù.

1.4 ¿ÏÀüÇÑ ÄÚµå

´ÙÀ½Àº trackback¸¦ ÀúÀåÇÏ´Â ¿ÏÀüÇÑ ÄÚµå´Ù. trackback µ¥ÀÌÅ͸¦ °Ë»çÇÏ´Â µîÀÇ ÄÚµå´Â ³ÖÁö ¾Ê¾Ò´Ù.
header("Content-type: text/xml"); 
echo <<<FOOT 
<?xml version="1.0" encoding="UTF-8"?> 
<response> 
FOOT; 
 
$url = $_POST['url']; 
$title = $_POST['title']; 
$blogname = $_POST['blog_name']; 
$excerpt = $_POST['excerpt']; 
$ip = getenv('REMOTE_HOST'); 
$error; 
 
$title  = mysql_escape_string($title); 
$excerpt  = mysql_escape_string($escerpt); 
$url  = mysql_escape_string($url); 
 
if(!$url || !$title || !$blogname || !$excerpt) 
{ 
    $error = 0; 
} 
else 
{ 
    $query = "insert into dmf_trackbacks(page, url, excerpt, ip, title) values". 
        "('$page', '$url', '$excerpt', '$ip', '$title')"; 
    $result = mysql->query($query); 
    if(!$result) $error = 0; 
    else $error = 1; 
} 
echo <<<FOOT 
<error>0</error> 
</response> 
FOOT; 
 

1.5 joinc wiki trackback

À§ÀÇ Äڵ带 ¾à°£ ¼öÁ¤Çؼ­ joincÀÇ wikiÆäÀÌÁö¿¡ ´ëÇÑ trackback ±â´ÉÀ» ¸¸µé¾î º¸±â·Î Çß´Ù. À̸¦ À§Çؼ­ ´ÙÀ½°ú °°Àº °£´ÜÇÑ Å×À̺íÀ» ¸¸µé¾ú´Ù.
Field Type NULL Key Default Extra
tid int PRI NULL
url varchar YES NULL
excerpt text YES NULL
ip varchar YES NULL
descpage varchar(255)

Å×À̺íÀº sqlite¸¦ ÀÌ¿ëÇß´Ù.

2 Æ®·¢¹é º¸³»±â

joinc À§Å°ÀÇ ³»¿ëÀ» ´Ù¸¥ ºí·Î±×µî¿¡ Æ®·¢¹éÀ¸·Î º¸³¾ ¼ö ÀÖÀ¸¸é ÁÁ°Ú´Ù ½Í¾î¼­ Æ®·¢¹é º¸³»±â ±â´Éµµ ¸¸µé¾î º¸±â·Î Çß´Ù.

Æ®·¢¹é Á¤º¸´Â POST¹æ½ÄÀ¸·Î °£´ÜÈ÷ º¸³¾ ¼ö ÀÖ´Ù.
POST http://teamblog.joinc.co.kr/trackback/5 
Content-Type: application/x-www-form-urlencoded: charst=utf8 
 
title=Hello+world&url=http://www.joinc.co.kr&excerpt=text&blog_name=joinc 
 

Æ®·¢¹éÀ» º¸³½Á¤º¸´Â DB¿¡ °£´ÜÈ÷ ³²±â±â·Î Çß´Ù. ÃÑ 2°³ÀÇ Å×À̺íÀ» µÎ±â·Î Çß´Ù. Çϳª´Â Æ®·¢¹éÀü¼Û ¸ñ·ÏÀ̰í, ´Ù¸¥ Çϳª´Â Æ®·¢¹éÀ» º¸³½ ÆäÀÌÁöÀÇ excerpt Á¤º¸¸¦ ³²±â±â À§Çؼ­ »ç¿ëÇÒ °ÍÀÌ´Ù. wiki ¹®¼­ÀÇ Æ¯¼º»ó ´ÜÁö html ű׸¸ Á¦°ÅÇØ¼­´Â ¾µ¸¸ÇÑ excerpt ¸¦ »ý¼ºÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¼öµ¿À¸·Î ÀÔ·ÂµÈ Á¤º¸¸¦ ÀúÀåÇÒ Å×À̺íÀ» À¯ÁöÇϱâ·Î Çß´Ù.
  • º¸³½ Æ®·¢¹é List ÆäÀÌÁö
Field Type NULL Key Default Extra
page_name varchar PRI
url varchar
title varchar
create_date datetime
  • excerpt Á¤º¸
Field Type NULL Key Default Extra
page_name varchar PRI
excerpt text
create_date datetime
Æ®·¢¹éÁ¤º¸´Â php¿ë http¼ÒÄÏ Àü¼Û ÇÔ¼ö¸¦ »ç¿ëÇØ¼­ Àü¼ÛÇß´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.