timeout = 1; if ($request->send()){ $rst = $request->responseText; } // $rst = html_entity_decode($rst); $rst = uft8html2utf8($rst); $xmls = new XMLStruct(); $xmls->open($rst); if($xmls->doesExist('/rss/channel/title')) { $title=$xmls->getValue('/rss/channel/title'); } if($xmls->doesExist('/rss/channel/link')) { $link=$xmls->getValue('/rss/channel/link'); } $rankicon = ($data['icon_use']=='T')?" style=\"margin:4px 0px 0px 0px;padding:0px;list-style:none;margin-left:1px;\"":""; list($me2dayer, $temp) = split('님의 ', $title); $me2day .= $data['md_header']."\n"; $me2day .= "\n"; $me2day .= $data['md_footer']; } return $me2day; } function Me2DayConfig_ko($plugin) { global $service; $manifest = ''; $manifest .= ''.CRLF; $manifest .= ''.CRLF; $manifest .= ' '.CRLF; $manifest .= '
'.CRLF; $manifest .= ' '; $manifest .= ' '.CRLF; $manifest .= ' http://me2day.net/doa라면 doa를 입력하면 됩니다. 하나 이상의 주소를 입력하려면 주소와 주소를 쉼표로 구분(예: doa,taemy)하면 됩니다. 주소와 주소 사이에는 공백이 있어서는 안됩니다.'.CRLF; $manifest .= ' ]]>'.CRLF; $manifest .= ' '.CRLF; $manifest .= ' '.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= ' '; $manifest .= ' '; $manifest .= ' '.CRLF; $manifest .= ' 글의 수에는 목록에 표시할 글의 수를 지정하고 글자 수에는 글 하나당 표시할 글자 수를 입력합니다.'.CRLF; $manifest .= ' ]]>'.CRLF; $manifest .= ' '.CRLF; $manifest .= ' '.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= ' '; $manifest .= ' 사용'.CRLF; $manifest .= ' 사용 안 함'.CRLF; $manifest .= ' '.CRLF; $manifest .= ' '.CRLF; $manifest .= ' '.CRLF; $manifest .= ' '.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= ' '; $manifest .= ' 날짜'.CRLF; $manifest .= ' 시간'.CRLF; $manifest .= ' '.CRLF; $manifest .= ' 날짜 - 글 제목(시간)입니다.'.CRLF; $manifest .= ' ]]>'.CRLF; $manifest .= ' '.CRLF; $manifest .= ' '.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= ' 미투데이]]>'.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= ' ]]>'.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= ' '; $manifest .= ' 사용'.CRLF; $manifest .= ' 사용 안 함'.CRLF; $manifest .= ' '.CRLF; $manifest .= ' 사용을 선택합니다. 치환자를 사용할 사람은 사이드바를 사용 안 함으로 설정하고 치환자를 스킨 파일의 원하는 위치에 삽입하면 됩니다.

이 플러그인에 대한 더 자세한 정보는 미투와 블로그를 하나로, 태터툴즈 미투데이 플러그인을 읽어보기 바랍니다.'.CRLF; $manifest .= ' ]]>'.CRLF; $manifest .= ' '.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'.CRLF; $manifest .= '
'; return $manifest; } ?> #dhtmltooltip{ position: absolute; border: 1px solid #ccc; padding: 0px 5px; visibility: hidden; z-index: 100; color : #000; font-size: 11px; text-align: left; } #tooltip_ul{ list-style-type:none; margin: 0px !important; padding : 0 !important; } #tooltip_ul li{ margin: 4px !important; padding: 0px 0px 2px 18px !important; line-height: 16px !important; } #tooltip_date{ font-size: 12px; color : #000060; font-weight: bold; background : url(".$pluginURL."/date-plain.png) no-repeat 0px 50% !important; border-bottom-width: 1px !important; border-top-style: none !important; border-right-style: none !important; border-bottom-style: solid !important; border-left-style: none !important; border-bottom-color: #EEE !important; } #tooltip_post{ background : url(".$pluginURL."/doc-option-edit.png) no-repeat 0px 50% !important; border : none !important; } #tooltip_guest{ background : url(".$pluginURL."/user-plain-blue_mod.png) no-repeat 0px 50% !important; border : none !important; } #draco_counter { margin: 0px !important; padding: 0px !important;"; $target .= " font-family: Tahoma; font-size: 9px;"; if(isset($xy_color)) {$target .="color : ".$xy_color.";";} $target .=" } #draco_counter_y p{ display: block !important; margin: 0px !important; line-height: 12px !important; } #draco_counter_x p{ display: inline !important; margin: 0px !important; line-height: 12px !important; padding: 0px !important; } #draco_counter_y{ width: 30px; height: 100px; text-align: right; } #draco_counter_y_mid{ padding: 34px 0px 46px 0px; } #draco_counter_x { width : ".($graph_width)."px; height: 12px; margin: 0px !important; padding: 0px !important; } #draco_counter_x1{ float: left !important; text-align: left; } #draco_counter_x2{ float: right !important; text-align: right; }
"; $target .= ""; #그래프 왼쪽 Y축 if($disp_y=='true'){ $target .=""; } $target .= ""; #그래프 하단 X축 if($disp_x=='true'){ $target .=""; if($disp_y=='true') $target .=""; $target .=""; } $target .= "

$max_data[visits]

"; if($cut_peak == 'true') $target .= $avg; else $target .= round($max_data[visits]/2); $target .="

"; $chd = ""; $map_x = 0; $map_x_next = $map_x + intval($graph_barwidth/2); $loopcount = 0; #그래프 그리기 반복 부분 while($dcount_data=mysql_fetch_array($dcount_result)) { # 그래프 크기 계산 $dcount_data[visits]=stripslashes($dcount_data[visits]); $graph_high = round($dcount_data[visits] / $graph_max *95); if($graph_high>95) $graph_high = 95; else if($graph_high<0) $graph_high = 0; if($chd!="") $chd .= ","; $chd .= $graph_high.".0"; # 날짜 데이터 년월일로 쪼개기 $y = intval($dcount_data[date]/10000); $m = intval(($dcount_data[date]%10000)/100); $d = $dcount_data[date]%100; # 날짜 데이터 mktime $day_post1_time = mktime(0, 0, 0, $m, $d, $y); $day_post2_time = $day_post1_time + 86400; # 해당 날짜에 몇개의 글을 썼나 찾기 $day_post_query = "SELECT id FROM `".$database['prefix']."Entries` WHERE `published` >= $day_post1_time AND `published` < $day_post2_time AND `".$blogid_col."` = $owner AND `visibility` >= 2 AND `category` > 0"; $day_post_data = mysql_query($day_post_query) or die("쿼리 실패6 : " . mysql_error()); $day_post = mysql_num_rows($day_post_data); # 툴팁 창 만들기 $dcount_day = "
  • ".$y."년 ".$m."월 ".$d."일
  • 포스팅 "; if($day_post) $dcount_day .= ": ".$day_post."개"; else $dcount_day .= "없음"; $dcount_day .= "
  • 방문자 : ".$dcount_data[visits]."명
"; #이미지 맵 만들기 if($day_post){ $target .= ""; } else { $target .= ""; } $map_x = $map_x_next+1; $map_x_next = $map_x -1 + $graph_barwidth; $loopcount ++; $lastvisit = $dcount_data[visits]; } #구글 api 이미지 주소 만들기 $chart_img = "http://chart.apis.google.com/chart?chs=".$graph_width."x100&chd=t:".$chd."&cht=lc&chco=".str_replace("#","",$graph_color)."&chf=bg,s,".str_replace("#","",$graph_backcolor); if($view_grid=='true') $chart_img .="&chg=".(100/$how_day*7).",50"; if($line_blank=='true') $chart_img .= "&chls=".$line_thickness.",".($line_thickness*2).",".$line_thickness; else $chart_img .= "&chls=".$line_thickness.",".($line_thickness*2).",0"; if($graph_fillcolor) $chart_img .="&chm=B,".str_replace("#","",$graph_fillcolor).",0,0,0"; if($view_marker=='true'){ if(!$graph_fillcolor) $chart_img .="&chm="; else $chart_img .="|"; $chart_img .="c,6C57E2,0,$high_diff.0,10.0|x,E25757,0,$low_diff.0,10.0"; } if($graph_fillcolor || $view_marker=='true') $chart_overimg = $chart_img."|"; else $chart_overimg = $chart_img."&chm="; $target .= "
"; $target .= "

-$how_day days

today : $lastvisit

"; #------------------------------------------------------------------------------------------ return $target; } ?> JCF TEAM BLOG » 웹애플리케이션 스타트업 키트

JCF TEAM BLOG

관리자 글쓰기
블로그 »
요즘 자바 웹 애플리케이션을 개발하기 위해서는 복잡한 JEE 개발환경 외에 참 많은 프레임워크들을 조합해서 쓰게 됩니다.
새로 조합을 하려면 모든 프레임워크 기술들을 쓸 줄 안다고 해도 상당한 시간이 소요됩니다.
또는 기존에 개발했던 애플리케이션을 통째로 복사해서 수정해서 사용하는 경우가 많은데, 사실 불필요한 구현부분이 많아서 지저분하고, 수시로 업데이트되는 프레임워크들을 반영하기가 여간 녹녹치 않습니다.

이런 불편을 해소하고자 스타터 키트를 제작하기로 했고, 이 계획의 일환으로 maven archetype을 이용한 웹애플리케이션 프로토타입을 만들게 되었습니다.
전형적인 프레임워크 구성요소들의 샘플 구현을 포함시켜서 바로 동작시킬 수 있도록 되어 있습니다. 이 때문에 형상관리를 초반에 시작할 수 있게 되는 잇점도 있습니다.

그리고 접근성을 확보하기 위해서 설치파일 및 스타트업 스크립트를 배포할 예정입니다. 이는 스타트업 키트의 일부가 될 것입니다.

앞으로는 이런 형태로 실제 프로젝트 적용 아키텍쳐 및 기술들을 하나씩 정리해서 담아볼 생각입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
author image
setq
2008/02/29 13:20 2008/02/29 13:20

(go to top)