<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>내 인생의 흐름</title>
    <link>https://rhythmos.tistory.com/</link>
    <description>멀리서 불어오는 따스한 봄바람을 미리 느끼고서, 가슴가득 안을 준비를 합니다..</description>
    <language>ko</language>
    <pubDate>Fri, 10 Jul 2026 16:23:53 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>리트모스</managingEditor>
    <image>
      <title>내 인생의 흐름</title>
      <url>https://t1.daumcdn.net/cfile/tistory/1802940F49D20E9A1C</url>
      <link>https://rhythmos.tistory.com</link>
    </image>
    <item>
      <title>iBatis selectKey &amp;gt; INSERT할때 selectKey태그를 활용하여 키값 반환받기</title>
      <link>https://rhythmos.tistory.com/73</link>
      <description>&lt;DIV class=titlepage&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;H4 class=title&gt;&lt;A name=id379361&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt&quot;&gt;iBatis selectKey&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;3.3.3.3.�Auto-Generated Keys&lt;/SPAN&gt;&lt;/H4&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Many database systems support auto-generation of primary key fields, as a vendor extension. Some vendors pre-generate keys (e.g. Oracle), some vendors post-generate keys (e.g. MS-SQL Server and MySQL). In either case, you can obtain a pre-generated key using a &amp;lt; selectKey&amp;gt; stanza within an &amp;lt;insert&amp;gt; element. Example 3.7 shows an &amp;lt;insert&amp;gt; statement for either approach.&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class=example&gt;&lt;A name=id379380&gt;&lt;/A&gt;
&lt;P class=title&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Example�3.9.�&amp;lt;insert&amp;gt; statements using &amp;lt;selectKey&amp;gt; stanzas&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;DIV class=example-contents&gt;&lt;PRE class=programlisting&gt;&lt;P&gt;&lt;SPAN class=comment style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;STRONG&gt;&amp;lt;!—Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient --&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt; 
&amp;lt;insert id=&quot;insertProduct-ORACLE&quot; parameterClass=&quot;product&quot;&amp;gt; 
  &amp;lt;selectKey resultClass=&quot;int&quot; type=&quot;pre&quot; property=&quot;Id&quot; &amp;gt; 
     &lt;/SPAN&gt;&lt;SPAN class=blue style=&quot;FONT-FAMILY: Courier New&quot;&gt;SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;
  &amp;lt;/selectKey&amp;gt; 
  insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#) 
&amp;lt;/insert&amp;gt;

&lt;/SPAN&gt;&lt;SPAN class=comment style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;STRONG&gt;&amp;lt;!— Microsoft SQL Server IDENTITY Column Example --&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt; 
&amp;lt;insert id=&quot;insertProduct-MS-SQL&quot; parameterClass=&quot;product&quot;&amp;gt; 
  insert into PRODUCT (PRD_DESCRIPTION)
  values (#description#) 
 &amp;lt;selectKey resultClass=&quot;int&quot; type=&quot;post&quot; property=&quot;id&quot; &amp;gt; 
   &lt;/SPAN&gt;&lt;SPAN class=blue style=&quot;FONT-FAMILY: Courier New&quot;&gt;select @@IDENTITY as value&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;
 &amp;lt;/selectKey&amp;gt;
&amp;lt;/insert&amp;gt;

&lt;/SPAN&gt;&lt;SPAN class=comment style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;STRONG&gt;&amp;lt;!-- MySQL Example --&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;
&amp;lt;insert id=&quot;insertProduct-MYSQL&quot; parameterClass=&quot;product&quot;&amp;gt; 
  insert into PRODUCT (PRD_DESCRIPTION)
  values (#description#) 
 &amp;lt;selectKey resultClass=&quot;int&quot; type=&quot;post&quot; property=&quot;id&quot; &amp;gt; 
   &lt;/SPAN&gt;&lt;SPAN class=blue style=&quot;FONT-FAMILY: Courier New&quot;&gt;select LAST_INSERT_ID() as value&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;
 &amp;lt;/selectKey&amp;gt;
&amp;lt;/insert&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;관련 URL&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- &lt;/SPAN&gt;&lt;A href=&quot;http://whiteship.tistory.com/207&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;http://whiteship.tistory.com/207&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- &lt;/SPAN&gt;&lt;A href=&quot;http://ibatis.apache.org/docs/dotnet/datamapper/ch03s03.html&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;http://ibatis.apache.org/docs/dotnet/datamapper/ch03s03.html&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;</description>
      <category>프로그래밍/Database</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/73</guid>
      <comments>https://rhythmos.tistory.com/73#entry73comment</comments>
      <pubDate>Thu, 11 Apr 2013 11:43:52 +0900</pubDate>
    </item>
    <item>
      <title>JQuery datepicker</title>
      <link>https://rhythmos.tistory.com/69</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;html&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;head&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;/SPAN&gt;&lt;A href=&quot;http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&quot; /&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;script src=&quot;&lt;/SPAN&gt;&lt;A href=&quot;http://code.jquery.com/jquery-1.9.1.js%22%3E%3C/script&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;http://code.jquery.com/jquery-1.9.1.js&quot;&amp;gt;&amp;lt;/script&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;script src=&quot;&lt;/SPAN&gt;&lt;A href=&quot;http://code.jquery.com/ui/1.10.1/jquery-ui.js%22%3E%3C/script&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;http://code.jquery.com/ui/1.10.1/jquery-ui.js&quot;&amp;gt;&amp;lt;/script&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;style&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-family: 나눔고딕;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-size: 10px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;padding: 10px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;width: 24em;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-widget-header {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-style: none;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;background-image: url(&quot;&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;background-color: rgb(255, 255, 255);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker .ui-datepicker-title {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-top: 4px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-bottom: 4px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker .ui-datepicker-prev SPAN {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-top: -3px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-left: 10px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker .ui-datepicker-next SPAN {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-top: -3px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-left: -36px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker TABLE {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-top: 8px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker TH {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-family: dotum;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-size: 12px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-weight: normal;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-top: 0.4em;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;margin-bottom: 0.4em;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;padding-bottom:0.4em;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;background-color: rgb(244, 244, 244);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-top-style: solid;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-bottom-style: solid;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-top-width: 1px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-bottom-width: 1px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-color: rgb(200, 200, 200);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker TD A {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-family: 나눔고딕;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-weight: bold;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-size: 10px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;text-align: center;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker TD:first-child A {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #f00; &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker TD:last-child A {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: blue; &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;} &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-widget-content .ui-state-default {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;border-style: none;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;background-image: url(&quot;&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;background-color: rgb(255, 255, 255);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker SELECT.ui-datepicker-month {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;width: 20%;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-family: 나눔고딕;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-size: 11px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;text-align: center;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;.ui-datepicker SELECT.ui-datepicker-year {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;width: 30%;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-family: 나눔고딕;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;font-size: 11px;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;text-align: center;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;/style&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;script language=&quot;javascript&quot;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;$(document).ready(function() {&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;$('#testDate').datepicker({&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dayNamesMin: ['일','월','화','수','목','금','토'],&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; weekHeader: 'Wk',&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dateFormat: 'yymmdd', //형식(2012.03.03)&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changeMonth: true,&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changeYear: true,&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;showButtonPanel: true,&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentText: '오늘',&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;closeText: &quot;X&quot;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;/head&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;body&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;lt;input type=&quot;text&quot; id=&quot;testDate&quot; size=&quot;10&quot; value=&quot;&quot;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;/body&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;/html&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <category>프로그래밍/JavaScript&amp;middot;JQuery</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/69</guid>
      <comments>https://rhythmos.tistory.com/69#entry69comment</comments>
      <pubDate>Thu, 21 Feb 2013 10:22:42 +0900</pubDate>
    </item>
    <item>
      <title>Tinysort를 이용한 노드 정렬</title>
      <link>https://rhythmos.tistory.com/66</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 18pt&quot;&gt;A jQuery plugin to sort child nodes by (sub) contents or attributes&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Jquery 셀렉터를 이용하여 각종 속성이나 태그명에 접근하여 노드의 순서를 변경하는 JQuery 정렬 플러그인이다.&amp;nbsp;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;언어별 예제에 한글이 없지만 문제없이 잘 되며, 상세한 내용은 Tinysort 사이트에서 참조하길 바란다.&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;1. 사용법&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;사이트에서 소개하고 있는 간략한 사용법에 대해&amp;nbsp;알아보겠다. 기본적인 방법은 &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Jquery에서 접근 가능한 각종 Selector를 이용하여 배열 노드에 접근하여 tsort() 를 호출한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;$('.classNa&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;me&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;'&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;).tsort(&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;);&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;$('.classNa&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;me&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;').tsort({place:'end'});&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;$('&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;.classNa&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;me&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;').tsort('img', {order:'desc',attr:'alt'});&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;tinysort.defaults 에 접근하면&amp;nbsp;글로벌 설정을 변경할 수 있다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;order 속성에 asc, desc 값을 대입해 오름차순, 내림차순을 정할 수 있다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;STRONG&gt;$.tinysort.defaults.order = 'desc';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;기본 속성을 정하고 싶다면 아래와 같이 attr 값을 입력하도록 한다.&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;STRONG&gt;$.tinysort.defaults.attr = 'title';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;2. 다운로드&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1410E34150288F8C2E&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;jquery.tinysort.1.3.27.zip&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/201FA84150288F9617&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;jquery.tinysort.min.js&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;3. 관련사이트&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Tinysort : &lt;A class=tx-link href=&quot;http://tinysort.sjeiti.com/&quot; target=_blank&gt;http://tinysort.sjeiti.com/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;구글 프로젝트 : &lt;A class=tx-link href=&quot;https://code.google.com/p/tinysort/&quot; target=_blank&gt;https://code.google.com/p/tinysort/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;4. 유의사항&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Stackoverflow 에서 발견한 이슈 하나를 참조해보면 style 속성 자체로는 정렬이 되지 않는 다는 문의가 있다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;A href=&quot;http://stackoverflow.com/questions/6585190/jquery-tinysort&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;A class=tx-link href=&quot;http://stackoverflow.com/questions/6585190/jquery-tinysort&quot; target=_blank&gt;http://stackoverflow.com/questions/6585190/jquery-tinysort&lt;/A&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;간략하게 살펴보면,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;1. style태그에 직접 접근하여 정렬을 하지말고 custom attribute을 생성한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;2. 정렬에 참조하고자 하는 style 값을 custom attribute로 대입한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;간트챠트와 같이 ajax로 데이터 값이 실시간 처리 되는 곳에서 유용하게 사용할 수 있을 거라 예상된다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>프로그래밍/JavaScript&amp;middot;JQuery</category>
      <category>jQuery</category>
      <category>jquery sort</category>
      <category>tinysort</category>
      <category>정렬</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/66</guid>
      <comments>https://rhythmos.tistory.com/66#entry66comment</comments>
      <pubDate>Mon, 13 Aug 2012 14:21:10 +0900</pubDate>
    </item>
    <item>
      <title>Spring MVC classes not found</title>
      <link>https://rhythmos.tistory.com/65</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 18pt&quot;&gt;Spring MVC classes not found&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Eclipse Juno 에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt; Spring MVC 을 활성화 하는 &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;중이다.&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;분명히&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Templates를 통해서 프로젝트를 생성했는데 아래와 같은 Problems 이 발생하는 것이 아닌가!?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;문제점&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Description&amp;nbsp;Resource&amp;nbsp;Path&amp;nbsp;Location&amp;nbsp;Type&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Class 'org.springframework.web.servlet.view.InternalResourceViewResolver' not found [config set: spring-mvc/web-context]&amp;nbsp;servlet-context.xml&amp;nbsp;/spring-mvc/src/main/webapp/WEB-INF/spring/appServlet&amp;nbsp;line 19&amp;nbsp;Spring Beans Problem&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;해결방안&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Spring P&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;roject Nature 를 비활성화 하고 다시 활성화&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt; 하였더니 해당 에러가 사라지는 것이었다.&amp;nbsp;동시에 JSTL을 못찾던 문제도 함께!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Package Explorer -&amp;gt; Project 메뉴(우클릭) -&amp;gt; Spring tools -&amp;gt; spring project nature&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;혹시나 하는 의문에 구글링을 해보았지만 명쾌한 답은&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;찾지못하고&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt; 동일한 상황을 겪은 stackOverflow 글을 발견했다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A class=tx-link href=&quot;http://stackoverflow.com/questions/9177902/spring-mvc-classes-not-found&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;http://stackoverflow.com/questions/9177902/spring-mvc-classes-not-found&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>프로그래밍/JAVA</category>
      <category>InternalResourceViewResolver</category>
      <category>not found web-context</category>
      <category>org.springframework.web.servlet.view.InternalResourceViewResolver</category>
      <category>Spring</category>
      <category>spring project nature</category>
      <category>springmvc</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/65</guid>
      <comments>https://rhythmos.tistory.com/65#entry65comment</comments>
      <pubDate>Tue, 7 Aug 2012 09:46:16 +0900</pubDate>
    </item>
    <item>
      <title>Chart FX 7 가이드라인 추가 - Using a CustomGridLine Class</title>
      <link>https://rhythmos.tistory.com/64</link>
      <description>&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt&quot;&gt;Using a CustomGridLine Class&amp;nbsp;of guidelines to add&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Chart FX 7 에서 제공하고 있는 CustomGridLine 를 통해 가이드 라인을 그릴 수 있다. 해당 가이드라인은 범례(Legend)에 추가 되지 않으므로 참조되기 바란다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;1. 샘플소스&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 604px; BORDER-COLLAPSE: collapse; FONT-FAMILY: 돋움; FONT-SIZE: 9pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none&quot; class=txc-table border=0 cellSpacing=0 cellPadding=0 width=604&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: 604px; HEIGHT: 24px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChartServer sampleChart = new ChartServer(pageContext,request,response);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 0, 120.1);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 1, 160.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 2, 750.9);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 3, 110.4);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Y축 자릿수구분&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisY().getLabelsFormat().setCustomFormat(&quot;###,###&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PointLabel&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().getPointLabels().setFormat(&quot;%v건&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Legend&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getLegendBox().setVisible(false); // 활성화 여부&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 챠트 여백조절 및 사이즈&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setTop(60);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setLeft(90);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setRight(90);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setBottom(80);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.setWidth(480);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.setHeight(386);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 기타설정&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getImageSettings().setQuality(100); // 이미지&amp;nbsp;퀄리티&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getImageSettings().setInteractive(false); // 상호작용 해제&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 포인트 별 색상&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(0).setColor(new java.awt.Color(237, 132, 132));&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisX().getGrids().getMajor().setVisible(false);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisY().getGrids().getMajor().setStyle(DashStyle.SOLID);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Chart style : LINES&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.setAxesStyle(AxesStyle.MATH);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().getLine().setWidth((short) 2.4); // 라인챠트 선 두께&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().getLine().setStyle(DashStyle.DASH);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().setMarkerSize((short) 4); // Marker 사이즈&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().setMarkerShape(MarkerShape.RECT); // Marker 종류&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().setFillMode(FillMode.SOLID); // 채움타입&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(0).setGallery(Gallery.LINES);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;그리드라인 1&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CustomGridLine custom1 = new CustomGridLine();&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setValue(Double.parseDouble(&quot;590&quot;));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setColor(java.awt.Color.GREEN);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setWidth(2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setStyle(DashStyle.DOT);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setText(&quot;　상한&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setFont(new java.awt.Font(&quot;맑은 고딕&quot;,java.awt.Font.TRUETYPE_FONT, 12));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setTextColor(java.awt.Color.BLACK);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setOutsideText(true);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setAlignment(StringAlignment.FAR);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom1.setLineAlignment(StringAlignment.CENTER);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisY().getCustomGridLines().add(custom1);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 그리드라인 2&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CustomGridLine custom2 = new CustomGridLine();&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setValue(Double.parseDouble(&quot;220&quot;));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setWidth(2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setColor(java.awt.Color.GREEN);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setStyle(DashStyle.DOT); &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setText(&quot;　하한&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setFont(new java.awt.Font(&quot;맑은 고딕&quot;,java.awt.Font.TRUETYPE_FONT, 11));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setTextColor(java.awt.Color.BLACK);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setOutsideText(true);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setAlignment(StringAlignment.FAR);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom2.setLineAlignment(StringAlignment.CENTER);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisY().getCustomGridLines().add(custom2);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 렌더링&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.renderControl();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;2. 결과&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 433px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/110E53445010AEA40D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F110E53445010AEA40D&quot; width=&quot;433&quot; height=&quot;320&quot; filename=&quot;2012-07-26 11;42;25.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다&lt;/SPAN&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt; :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>프로그래밍/Chart FX 7 for Java Server</category>
      <category>Chart FX 7</category>
      <category>chartfx 가이드라인</category>
      <category>ChartServer</category>
      <category>CustomGridLine</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/64</guid>
      <comments>https://rhythmos.tistory.com/64#entry64comment</comments>
      <pubDate>Thu, 26 Jul 2012 11:43:26 +0900</pubDate>
    </item>
    <item>
      <title>Chart FX 7 가이드라인 추가 - Using a series</title>
      <link>https://rhythmos.tistory.com/63</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt&quot;&gt;Using a series of guidelines to add&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;시리즈를 이용하여 가이드 라인을 추가하겠다. Chart FX에서 제공하는 가이드라인과는&amp;nbsp;달리&amp;nbsp;시리즈를 이용하게 되면 범례(Legend)에 표시 되므로 유의하도록 한다. &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;기재된 값은 임의의 값이므로 참조로만 확인토록 한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;1. 샘플소스&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 605px; BORDER-COLLAPSE: collapse; FONT-FAMILY: 돋움; FONT-SIZE: 9pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none&quot; class=txc-table border=0 cellSpacing=0 cellPadding=0 width=605&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: 605px; HEIGHT: 24px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChartServer sampleChart = new ChartServer(pageContext,request,response);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 0, 430.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 1, 340.3);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 2, 670.5);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(0, 3, 320.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(1, 0, 560.6);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(1, 1, 740.4);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(1, 2, 120.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(1, 3, 10.1);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(2, 0, 450.6);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(2, 1, 60.3);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(2, 2, 560.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(2, 3, 780.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(3, 0, 120.1);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(3, 1, 160.2);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(3, 2, 750.9);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(3, 3, 110.4);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(4, 0, 1100.0);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(4, 1, 1100.0);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(4, 2, 1100.0);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getData().set(4, 3, 1100.0);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Y축 자릿수구분&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisY().getLabelsFormat().setCustomFormat(&quot;###,###&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PointLabel&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().getPointLabels().setFormat(&quot;%v건&quot;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Legend&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getLegendBox().setVisible(false); // 활성화 여부&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 챠트 여백조절 및 사이즈&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setTop(60);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setLeft(90);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setRight(90);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPlotAreaMargin().setBottom(80);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.setWidth(480);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.setHeight(386);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 기타설정&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getImageSettings().setQuality(100); // 이미지&amp;nbsp;퀄리티&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getImageSettings().setInteractive(false); // 상호작용 해제&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 포인트 별 색상&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(0).setColor(new java.awt.Color(237, 132, 132));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(1).setColor(new java.awt.Color(115, 150, 243));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(2).setColor(new java.awt.Color(199, 144, 220));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(3).setColor(new java.awt.Color(175, 223, 132));&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(4).setColor(new java.awt.Color(217, 75, 75));&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 그리드 스타일 변경&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisX().getGrids().getMajor().setVisible(false);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAxisY().getGrids().getMajor().setStyle(DashStyle.SOLID);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Chart style : LINES&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.setAxesStyle(AxesStyle.MATH);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().getLine().setWidth((short) 2.4); // 라인 두께&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().getLine().setStyle(DashStyle.DASH);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().setMarkerSize((short) 4); // Marker 사이즈&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().setMarkerShape(MarkerShape.RECT); // Marker 종류&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getAllSeries().setFillMode(FillMode.SOLID); // 채움타입&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 시리즈별 갤러리 스타일&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(0).setGallery(Gallery.BAR);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(1).setGallery(Gallery.BAR);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(2).setGallery(Gallery.BAR);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(3).setGallery(Gallery.LINES);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(4).setGallery(Gallery.LINES);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Stacked 볼륨&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(0).setVolume((short) 32);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(1).setVolume((short) 32);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(2).setVolume((short) 32);&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Stacked 여부&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(0).setStacked(true);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(1).setStacked(true);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(2).setStacked(true);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;// 시리즈를 이용한 가이드라인&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(4).getLine().setWidth((short) 2.4);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(4).getLine().setStyle(DashStyle.DOT); &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(4).setMarkerShape(MarkerShape.NONE);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;// 시리즈를 이용한 가이드라인 라벨 설정&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPoints().get(4, 3).getPointLabels().setVisible(true);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;sampleChart.getPoints().get(4, 3).getPointLabels().setAlignment&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;(StringAlignment.NEAR);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getPoints().get(4, 3).getPointLabels().setLineAlignment&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;(StringAlignment.CENTER);&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PointLabel : 라벨포인트 타입 설정&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.getSeries().get(4).getPointLabels().setFormat(&quot;　최소 %v건　&quot;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 렌더링&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sampleChart.renderControl();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;2. 결과&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 470px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/11456B335010A52A15&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F11456B335010A52A15&quot; width=&quot;470&quot; height=&quot;306&quot; filename=&quot;2012-07-26 11;01;57.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>프로그래밍/Chart FX 7 for Java Server</category>
      <category>Chart FX 7</category>
      <category>ChartFX</category>
      <category>chartfx7</category>
      <category>ChartServer</category>
      <category>guidelines</category>
      <category>setMarkerShape</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/63</guid>
      <comments>https://rhythmos.tistory.com/63#entry63comment</comments>
      <pubDate>Thu, 26 Jul 2012 10:34:46 +0900</pubDate>
    </item>
    <item>
      <title>[Jasypt] jdbc.properties 접속정보 PBEWithMD5AndDES 암호화 2</title>
      <link>https://rhythmos.tistory.com/62</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 18pt&quot;&gt;Integrating Jasypt with Spring 3.0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;앞선 글에 이어서&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;JASYPT 라이브러리를 활용하는 소스를 간략이 살펴보도록 하겠다. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;적용되는 관련&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;환경과 툴은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Spring 3.0x 에 Maven 이다.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;1. Maven repository&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;아래 소스와 같이 spring 3.0x 에 맞는 라이브러리가&amp;nbsp;있다. 그리고 &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;SPAN style=&quot;COLOR: #ff007f&quot;&gt;icu4j&lt;/SPAN&gt;는 Java 5 SE 이하 버전일 경우에만 추가&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;하고 Java 6 SE 버전 이상일 경우에는 내장된 Normalizer 패키지를 사용하므로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;하단의 com.ibm.icu 라이브러리를 추가하지 않는다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; FONT-FAMILY: 돋움; FONT-SIZE: 9pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none&quot; class=txc-table border=0 cellSpacing=0 cellPadding=0 width=564&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: 564px; HEIGHT: 24px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid&quot;&gt;&amp;nbsp; 
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;!-- JASYPT: Spring 3.0x Simplified Encryption --&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;groupId&amp;gt;org.jasypt&amp;lt;/groupId&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;artifactId&amp;gt;jasypt-spring3&amp;lt;/artifactId&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;version&amp;gt;1.9.0&amp;lt;/version&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- JASYPT: com.ibm.icu.text.Normalizer --&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.ibm.icu&amp;lt;/groupId&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;icu4j&amp;lt;/artifactId&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;49.1&amp;lt;/version&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;2. 원문 &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;가이드&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;FONT face=돋움&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Maven Dependency Update를 마치고 자바 프로젝트에 라이브러리가 추가 되었다면 이제 Jasypt 를 사용할 준비가 되었다. 아래 Jasypt 사이트에서 상세한 가이드를 통해 쉽게 적용할 수 있다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;A class=tx-link href=&quot;http://www.jasypt.org/spring3.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;http://www.jasypt.org/spring3.html&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; WIDTH: 600px; HEIGHT: 630px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/197FE547500F7C2810&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F197FE547500F7C2810&quot; width=&quot;600&quot; height=&quot;630&quot; filename=&quot;Untitled-1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;WIDTH: 600px; HEIGHT: 630px&quot;/&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;3. DataSource Configuration (XML)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Jasypt + Spring 3.0 가이드를 살펴보면 아래와 같은 코드가 추가 되어 있는 것을 확인 할 수 있다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;일반적인 DataSource 설정이라면 &lt;/SPAN&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;propertyConfigurer와&amp;nbsp;dataSource 부분만 설정 되어 있다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;Jasypt를 적용하게 되면&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- 빈객체가 두개 추가 되었고&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- propertyConfigurer에서 사용되는 Class도 Jasypt에서 제공되는 Class를 활용하도록 한다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 598px; BORDER-COLLAPSE: collapse; FONT-FAMILY: 돋움; FONT-SIZE: 9pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none&quot; class=txc-table border=0 cellSpacing=0 cellPadding=0 width=598&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: 598px; HEIGHT: 24px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid&quot;&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id=&quot;environmentVariablesConfiguration&quot; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class=&quot;org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig&quot;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;algorithm&quot; value=&quot;PBEWithMD5AndDES&quot; /&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;passwordEnvName&quot; value=&quot;APP_ENCRYPTION_PASSWORD&quot; /&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id=&quot;configurationEncryptor&quot; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class=&quot;org.jasypt.encryption.pbe.StandardPBEStringEncryptor&quot;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;config&quot; ref=&quot;environmentVariablesConfiguration&quot; /&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;property name=&quot;password&quot; value=&quot;jasyptPass&quot; /&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id=&quot;propertyConfigurer&quot;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;class=&quot;org.jasypt.spring3.properties.EncryptablePropertyPlaceholderConfigurer&quot;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;constructor-arg ref=&quot;configurationEncryptor&quot; /&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;locations&quot;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;list&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;value&amp;gt;classpath:properties/jdbc.properties&amp;lt;/value&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/list&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;/property&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- DataSource Configuration --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id=&quot;dataSource&quot; class=&quot;org.apache.commons.dbcp.BasicDataSource&quot; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destroy-method=&quot;close&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;driverClassName&quot; value=&quot;${jdbc.driverClassName}&quot;/&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;url&quot; value=&quot;${jdbc.url}&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;username&quot; value=&quot;${jdbc.username}&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;password&quot; value=&quot;${jdbc.password}&quot;/&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;4.&amp;nbsp;jdbc.properties 파일값 암호화&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;PBE방식으로 암호화해서 암호화 값을 properties에 대입하도록 한다.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;
&lt;P&gt;&lt;A class=tx-link href=&quot;http://www.jasypt.org/api/jasypt/1.8/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;http://www.jasypt.org/api/jasypt/1.8/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.html&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;StandardPBEStringEncryptor Class를 활용한 값 암호화&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; FONT-FAMILY: 돋움; FONT-SIZE: 9pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none&quot; class=txc-table border=0 cellSpacing=0 cellPadding=0 width=564&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: 564px; HEIGHT: 24px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid&quot;&gt;&amp;nbsp; 
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pbeEnc.setPassword(&quot;&lt;/SPAN&gt;&lt;FONT face=&quot;Courier New&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;jasyptPass&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&quot;); // PBE 값(XML PASSWORD설정)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String url = pbeEnc.encrypt(&quot;jdbc:oracle:thin:@x.x.x.x:1521:xxxxx&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String username = pbeEnc.encrypt(&quot;xxxxx&quot;);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String password = pbeEnc.encrypt(&quot;xxxxx&quot;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(url);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(username);&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(password);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;jdbc.properties 값대입 예시&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; FONT-FAMILY: 돋움; FONT-SIZE: 9pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none&quot; class=txc-table border=0 cellSpacing=0 cellPadding=0 width=564&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: 564px; HEIGHT: 24px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid&quot;&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jdbc.driverClassName=core.log.jdbc.driver.OracleDriver&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jdbc.url=ENC(bga9c867hgFkE4ALozTBqBWj2C5wPxH8kDa//7Pqlm8DpGbFK6Fod)&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jdbc.username=ENC(6gaEuIet0A4zRztWpUkS5w==)&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jdbc.password=ENC(XR7FHiFzSBhGT+uIYZJO6w==)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;이때 유의할 점은 ENC를 빼고 값을 대입하면 Jasypt에서&amp;nbsp;일반 문자열로 인식을 하게 되므로 암호화한 &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;문자열 값 앞에&amp;nbsp;ENC로 감싸도록 한다.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: left; FLOAT: none; CLEAR: none&quot;&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <category>프로그래밍/JAVA</category>
      <category>EncryptablePropertyPlaceholderConfigurer</category>
      <category>EnvironmentStringPBEConfig</category>
      <category>environmentVariablesConfiguration</category>
      <category>icu4j</category>
      <category>Integrating Jasypt with Spring 3.0</category>
      <category>Jasypt</category>
      <category>jdbc.properties</category>
      <category>PBEWithMD5AndDES</category>
      <category>properties</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/62</guid>
      <comments>https://rhythmos.tistory.com/62#entry62comment</comments>
      <pubDate>Wed, 25 Jul 2012 13:28:37 +0900</pubDate>
    </item>
    <item>
      <title>[Jasypt] jdbc.properties 접속정보 PBEWithMD5AndDES 암호화 1</title>
      <link>https://rhythmos.tistory.com/61</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 18pt&quot;&gt;Integrating jasypt with Spring's application configuration infrastructure&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;STRONG&gt;프로퍼티 파일&lt;/STRONG&gt;의 &lt;STRONG&gt;IP주소, 아이디, 패스워드&lt;/STRONG&gt; 등의 정보를 &lt;STRONG&gt;암호화&lt;/STRONG&gt;하여 기입하고 JASYPT 라이브러리를 통해 암호화 값을 비교한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;STRONG&gt;1. 적용환경&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- JDK 1.5.0_22&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- org.springframework 3.0.6.RELEASE&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- MAVEN&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;STRONG&gt;2. 라이브러리&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- Spring 3.0x Simplified Encryption JASYPT 1.9.0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- icu4j 49.1 (com.ibm.icu.text.Normalizer)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;JASYPT 설정을 마치고 Apache Tomcat을 통해 Spring Context를 로드하는 중에&lt;STRONG&gt; &lt;/STRONG&gt;java.text.Normalizer 패키지를 찾는 경우가 발생했다. 해당 패키지는 &lt;STRONG&gt;&lt;/STRONG&gt;&lt;A class=tx-link href=&quot;http://docs.oracle.com/javase/6/docs/api/java/text/Normalizer.html&quot; target=_blank&gt;&lt;STRONG&gt;Normalizer (Java Platform SE 6)&lt;/STRONG&gt;&lt;/A&gt; 이상에 포함되어 있는 패키지이다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;해당 패키지 말고 icu4j 라이브러리를 추가하면 된다라고 친절하게도 Exception을 떨궈준다. 1.5.x 이하의 버전 이라면 icu4j 라이브러리를 추가한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;STRONG&gt;3. 파일첨부&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1529784B500E50AB11&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;jasypt-1.9.0.jar&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1443C64B500E50AB32&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;jasypt-spring3-1.9.0.jar&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1851154B500E50A71C&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;icu4j-49.1.jar&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;STRONG&gt;4. 관련 URL&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- JASYPT : &lt;/SPAN&gt;&lt;A class=tx-link href=&quot;http://www.jasypt.org/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;http://www.jasypt.org/&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- Spring 3.0x Simplified Encryption JASYPT : &lt;/SPAN&gt;&lt;A class=tx-link href=&quot;http://www.jasypt.org/spring3.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;http://www.jasypt.org/spring3.html&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- Jasypt Maven Repository : &lt;/SPAN&gt;&lt;A class=tx-link href=&quot;http://mvnrepository.com/artifact/org.jasypt/jasypt&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;http://mvnrepository.com/artifact/org.jasypt/jasypt&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;- icu4j Maven Repository&amp;nbsp;: &lt;/SPAN&gt;&lt;A class=tx-link href=&quot;http://mvnrepository.com/artifact/com.ibm.icu/icu4j&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;http://mvnrepository.com/artifact/com.ibm.icu/icu4j&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;5. 라이센스&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- &lt;A class=tx-link href=&quot;http://www.jasypt.org/license.html&quot; target=_blank&gt;http://www.jasypt.org/license.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- The Apache Software License, Version 2.0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&amp;nbsp;- &lt;/SPAN&gt;&lt;A class=tx-link href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;Jasypt 사이트에서 가이드하고 있는 내용에는 PBEWithMD5AndDES 로 적용하도록 안내하고 있다. PBE방식과 함께 적용되는 MD5 방식이었지만, MD5가 해독이 가능하다는 얘기를 들은바 있다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;그래서 PBEWithSHAAnd128BitRC4 등의 PBEWithSHA* 알고리즘으로 암호화 하려고 시도 했지만 불가능했다. 이에 관련하여 상세한 정보가 있다면 댓글 바란다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;그리고 SHA512와는 틀리게 암호화 시 항상 다른 값을 만들어줬다. 그리고 이 항상 달리 만들어 주는 값으로도 JASYPT 라이브러리를 통해 값을 대조해볼때 알아서 인식을 했다. 깊이 들어가지는 않았지만 암호화 할때와 암호화값을 대조할때에도 특정한 조건이 형성이 되어 있을거라 예상된다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>프로그래밍/JAVA</category>
      <category>icu4j</category>
      <category>Jasypt</category>
      <category>PBEWithMD5AndDES</category>
      <category>PBEWithSHAAnd128BitRC4</category>
      <category>SHA512</category>
      <category>알고리즘</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/61</guid>
      <comments>https://rhythmos.tistory.com/61#entry61comment</comments>
      <pubDate>Tue, 24 Jul 2012 16:38:04 +0900</pubDate>
    </item>
    <item>
      <title>[log4sql] 콘솔에 인자값을 포함한 SQL 로그 출력</title>
      <link>https://rhythmos.tistory.com/59</link>
      <description>&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 14pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt&quot;&gt;&lt;STRONG&gt;log4sql&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;콘솔에 인자값을 포함한 SQL 로그 출력&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;1. 관련URL&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;A class=tx-link href=&quot;http://log4sql.sourceforge.net/index_kr.html&quot; target=_blank&gt;http://log4sql.sourceforge.net/index_kr.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;2. 다운로드&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;A class=tx-link href=&quot;http://sourceforge.net/projects/log4sql/files/&quot; target=_blank&gt;http://sourceforge.net/projects/log4sql/files/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;1.&amp;nbsp;라이브러리(log4sql.jar)를 다운 받고 빌드 PATH에 추가한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;2. jdbc 관련 설정에서 Driver Class Name을 설정한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;3. 파일첨부&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/12373434500CCF3F27&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;log4sql.jar&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/187E2434500CCF401B&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;log4sql.zip&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;다양한 라이브러리를 통해 SQL 로그를 남기지만 여러가지 불편한 사항이 많다. 특히 전달한 인자값을 쿼리와 분리시켜 SQL 로그를 남기는 것은 더더욱 불편함을 야기시킨다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;log4sql은 이러한 문제를 해결하여 &lt;STRONG&gt;인자값을 포함한 SQL로그를 콘솔로 보여준다.&lt;/STRONG&gt; 개인적으로 느끼는 단점이라면 쿼리 가독성이 떨어져 다시 보기 좋게 변경해야 하는 것이었다.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;관련 URL을 따라가면 매우 상세한 설명을 확인할 수 있을 것이다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;STRONG&gt;아래는 log4sql 사이트에 소개된 내용이다.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #a6a6a6&quot;&gt;log4sql은 소스의 변경없이 간단한 설정변경만으로 모든 SQL의 실행로그를 보여줍니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #a6a6a6&quot;&gt;개발을 할경우 우리는 무수히 많은 프레임웍과 도구들을 사용 합니다. View계층, Model계층 그리고 Controller또는 DataAcess계층에서 많은 도구들과 프레임웍은 현재 거의 모든 layer들에 걸쳐서 사용되고 개발되어지고 있습니다. 이런경우 개발자에게 중요한것중의 하나는 비즈니스 로직인 PL/SQL작업을 하는 것 입니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;br /&gt;&lt;SPAN style=&quot;COLOR: #a6a6a6&quot;&gt;모든 PL/SQL작업은 SQL을 작성하고 실행한 후에 버그가 존재하가나 원하는 결과가 나오지 않을경우 수정하는 것이며 이런작업은 반복적으로 수행됩니다. 이런 경우에 우리는 jdbc또는 Connection Pooling(Apache DBCP) 또는 support 2PC (JTA,JOTM)등을 사용합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma&quot;&gt;&lt;SPAN style=&quot;COLOR: #a6a6a6&quot;&gt;또한 우리는 데이터 접근계층의 프레임웍으로 IBATIS나 SpringFramework을 사용할 경우 springJDB&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #a6a6a6&quot;&gt;C 또는 HIBERNATE등을 사용합니다. 이런 상황에서 우리는 의문을 갖게 됩니다. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #a6a6a6&quot;&gt;'내가 작성한 SQL이 정상적으로 작동한 것인가?', '내가 입력값으로 넣어준 값들이 제대로 등록된 SQL인가?' SQL을 확인하고자 개발 소스의 구석구석에 System.out.println(...)으로 확인을 할 것입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #a6a6a6&quot;&gt;개발이 종료된 시점에 주석으로 가려진 가독성이 떨어지는 소스는 유지보수담당자에게 머리아픈 소스가 될 것이고 운영상에 문제가 발생할 경우 해당 SQL을 다시 확인하는 복잡한 작업이 반복될 것입니다. 이런경우를 경험한 개발자라면 log4sql은 간단한 설정으로 많은 편리함을, 개발의 즐거움을 당신에게 드릴것 입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;</description>
      <category>프로그래밍/JAVA</category>
      <category>console log</category>
      <category>JDBC</category>
      <category>log4sql</category>
      <category>sqllog</category>
      <category>SQL로그</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/59</guid>
      <comments>https://rhythmos.tistory.com/59#entry59comment</comments>
      <pubDate>Mon, 23 Jul 2012 13:16:24 +0900</pubDate>
    </item>
    <item>
      <title>Chart FX 7 포인트 별 링크걸기</title>
      <link>https://rhythmos.tistory.com/58</link>
      <description>&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin&quot;&gt;&lt;FONT color=#000000&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d&quot;&gt;Chart FX 7&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin&quot;&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-themecolor: text1&quot;&gt;&lt;FONT size=2&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;포인트별 링크에 특정 값을 대입 시켜 다양한 값의 제어가 가능하다&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-themecolor: text1&quot;&gt;&lt;FONT size=2&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;아래 소스는 특정 포인트에 키값을 대입해 함수를 호출하여 페이지 전환을 일으킨다&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-themecolor: text1&quot;&gt;&lt;FONT size=2&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #5d5d5d&quot;&gt;1. &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;소스코드&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin&quot;&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;// Servlet : LABEL &amp;amp; VALUE&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #7f0055; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;for&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; ( &lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #7f0055; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;int&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; i = 0; i &amp;lt; gridList.size(); i++ ) {&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;// &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'&quot;&gt;라벨대입&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;chart.getAxisX().getLabels().set(i, (gridList.get(i).get(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;LABEL&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;).toString()));&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;// &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'&quot;&gt;계&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'&quot;&gt;대입&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #7f0055; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;double&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; data1 = Double.parseDouble((gridList.get(i).get(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;SUM&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;).toString()));&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;chart.getData().set(0, i, data1);&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;// &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'&quot;&gt;포인트별&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; Link&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;chart.getPoints().get(i).getLink().setUrl(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;javascript:fn_callByFunc('%S',&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; '%N',&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;'%v','%l','&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; + gridList.get(i).get(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;KEY&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;).toString() + &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;')&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;);&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;}&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;// Javascript : call Function&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #7f0055; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;function&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;fn_callByFunc&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;(series, point, value, label, keyValue) {&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;document.hiddenFrm.action = &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;/…/…&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;document.hiddenFrm.submit();&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;}&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;2. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;상세설명&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style=&quot;COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩; mso-font-kerning: 0pt&quot;&gt;// &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt&quot;&gt;전체포인트&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩; mso-font-kerning: 0pt&quot;&gt; LINK&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩; mso-font-kerning: 0pt&quot;&gt;chart.getAllSeries().getLink().setUrl(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩; mso-font-kerning: 0pt&quot;&gt;&quot;javascript:fn_callByValue('%S', '%N', '%v', '%l')&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩; mso-font-kerning: 0pt&quot;&gt;);&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;FONT size=2 face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;SPAN style=&quot;COLOR: black; mso-ascii-font-family: '맑은 고딕'; mso-ascii-theme-font: major-latin; mso-fareast-font-family: '맑은 고딕'; mso-fareast-theme-font: major-latin; mso-hansi-font-family: '맑은 고딕'; mso-hansi-theme-font: major-latin; mso-bidi-font-family: 'Courier New'&quot;&gt;&lt;FONT size=2&gt;&lt;FONT face=&quot;맑은 고딕&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;일반적으로 위와 같이 전체시리즈의 포인트에 자바스크립트 함수를 호출하여 사용 가능하다&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;. &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;하지만 챠트의 포인트를 클릭하여 로직을 구현하여야 할 경우 원하는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt; row&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #5d5d5d; FONT-SIZE: 9pt&quot;&gt;값을 호출 할 수 없기 때문에 아래와 같이 루프문 내에 특정 값을 내재 시킴으로써 각 포인트 마다 자신이 원하는 로직을 구현할 수 있다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&lt;FONT color=#000000&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;// &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Tahoma; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'&quot;&gt;포인트별&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New; COLOR: #3f7f5f; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; Link&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;chart.getPoints().get(i).getLink().setUrl(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;javascript:fn_callByFunc('%S','%N','%v','%l','&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt; + gridList.get(i).get(&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;KEY&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;).toString() + &lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: #2a00ff; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;&quot;')&quot;&lt;/SPAN&gt;&lt;/B&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;);&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt; FLOAT: none; CLEAR: none&quot; class=MsoNoSpacing&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1338A53F4FFD4D5522&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1338A53F4FFD4D5522&quot; width=&quot;600&quot; height=&quot;408&quot; filename=&quot;2012-07-11 14;58;16.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNoSpacing&gt;&lt;B style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;/B&gt;&lt;/P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma; COLOR: black; FONT-SIZE: 9pt; mso-fareast-font-family: 나눔고딕코딩&quot;&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: #9aa5ea; FONT-FAMILY: Tahoma&quot;&gt;감사합니다 :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;</description>
      <category>프로그래밍/Chart FX 7 for Java Server</category>
      <author>리트모스</author>
      <guid isPermaLink="true">https://rhythmos.tistory.com/58</guid>
      <comments>https://rhythmos.tistory.com/58#entry58comment</comments>
      <pubDate>Wed, 11 Jul 2012 18:55:20 +0900</pubDate>
    </item>
  </channel>
</rss>