<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DONGBUM on blog</title>
	<atom:link href="http://blog.83rpm.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.83rpm.com</link>
	<description>programming, apple, mac, music, movie</description>
	<lastBuildDate>Sat, 12 May 2012 13:22:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MFC에서 데이터를 엑셀 파일로 저장하는 방법</title>
		<link>http://blog.83rpm.com/archives/754?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=754</link>
		<comments>http://blog.83rpm.com/archives/754#comments</comments>
		<pubDate>Sat, 12 May 2012 13:15:18 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[엑셀]]></category>
		<category><![CDATA[저장]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=754</guid>
		<description><![CDATA[MFC에서 자료를 엑셀파일로 저장하는 방법을 찾아보았다. 여러가지 방법들이 많이 있었는데 그중에 가장 괜찮은 방법이어서 나중에 잊어버리지 않도록 여기에 써둔다. 혹시나 이 글을 볼 사람들이 있을까봐 아래의 코드는 짬식(wingyui)님 블로그의 내용(http://blog.naver.com/wingyui?Redirect=Log&#38;logNo=30070208599)이며 이 코드 및 내용에 대한 모든 권리는 짬식(wingyui)님에게 있다는 것을 밝혀둔다. int i=1,j=1,k=1; int columnNum=0; char temp[10]; CString m_strFileName; CXLEzAutomation XL(FALSE); // FALSE: 처리 과정을 화면에 [...]]]></description>
			<content:encoded><![CDATA[<p>MFC에서 자료를 엑셀파일로 저장하는 방법을 찾아보았다.</p>
<p>여러가지 방법들이 많이 있었는데 그중에 가장 괜찮은 방법이어서 나중에 잊어버리지 않도록 여기에 써둔다.</p>
<p>혹시나 이 글을 볼 사람들이 있을까봐 아래의 코드는 <span style="text-decoration: underline;"><strong>짬식(wingyui)님 블로그</strong></span>의 내용(<a href="http://blog.naver.com/wingyui?Redirect=Log&amp;logNo=30070208599" target="_blank">http://blog.naver.com/wingyui?Redirect=Log&amp;logNo=30070208599</a>)이며 이 코드 및 내용에 대한 모든 권리는 짬식(wingyui)님에게 있다는 것을 밝혀둔다.</p>
<pre class="brush: c; gutter: true">
int i=1,j=1,k=1;
 int columnNum=0;
 char temp[10];
 CString m_strFileName;

 CXLEzAutomation XL(FALSE); // FALSE: 처리 과정을 화면에 보이지 않는다

 m_strFileName = &quot;Student Quiz Results&quot;;   // 저장할 파일 Name 

 // column 데이터
 XL.SetCellValue(++columnNum, 1, &quot;Login ID&quot;);
 XL.SetCellValue(++columnNum, 1, &quot;Student ID&quot;);
 XL.SetCellValue(++columnNum, 1, &quot;Name&quot;);

 //column 에 Quiz 번호 만큼 추가
 for(i=1;i&lt;=m_iQuizNum;i++){
  _snprintf(temp, 10, &quot;Quiz %d&quot;, i);
  XL.SetCellValue(++columnNum, 1 ,temp);
 }

 //학생수와 Quiz 수만큼 리스트 컨트롤에서 엑셀로 가져옴.
 for(k=1; k&lt;=m_iStudentNum; k++)
  for(j=1; j&lt;=columnNum; j++)
   XL.SetCellValue(j, k+1, m_ctrlScroeList.GetItemText(k-1, j));

 CFileDialog cFDlg(false,&quot;xlsx&quot;,m_strFileName+&quot;.xlsx&quot;, OFN_HIDEREADONLY |
  OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR, &quot;xlsx 파일 (*.xlsx)|*.xlsx|&quot;, NULL ); 

 if(cFDlg.DoModal() == IDOK)
  XL.SaveFileAs(cFDlg.GetPathName());

 XL.ReleaseExcel();
 </pre>
<p>코드는 그다지 어렵지 않다. 하나 중요한 점은 Column과 Row 번호를 지정할 때는 0부터 시작하는 것이 아니라 1부터 시작한다는 것. 프로그래밍 할때 모든 루프는 다 0부터 시작하다보니 어색하게 느껴진다. 반드시 1부터 넣을 것.</p>
<p>또 하나 중요한 점은 파일을 저장할 때 확장명을 xlsx로 해야 잘 열린다. xls로 해도 저장이 되긴 하는데 MS Excel 2010으로 열려고 하니 형식이 이상하다는 경고가 한번씩 떴다. xlsx로 저장하니 오류 없이 잘 열린다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/754/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>자료 정리의 게으름</title>
		<link>http://blog.83rpm.com/archives/751?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ec%259e%2590%25eb%25a3%258c-%25ec%25a0%2595%25eb%25a6%25ac%25ec%259d%2598-%25ea%25b2%258c%25ec%259c%25bc%25eb%25a6%2584</link>
		<comments>http://blog.83rpm.com/archives/751#comments</comments>
		<pubDate>Fri, 04 May 2012 15:21:27 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=751</guid>
		<description><![CDATA[C/C++을 배우고 공부하며 익힌 자료를 넣어야하는데 너무 많기도하고 지금은 Windows API와 MFC 때문에 시간이 없다. 자료를 미리미리 정리하고 적어놨어야했는데 왜 이렇게 게을렀던 것인지. 지금부터라도 조금씩 정리해야할 것 같다. 하긴 그런데 C/C++는 워낙에 책도 많고 인터넷에 자료도 많아서 내 블로그에다가 또 재탕을 해야하는지는 참 의문이긴 하다.]]></description>
			<content:encoded><![CDATA[<p>C/C++을 배우고 공부하며 익힌 자료를 넣어야하는데 너무 많기도하고 지금은 Windows API와 MFC 때문에 시간이 없다.</p>
<p>자료를 미리미리 정리하고 적어놨어야했는데 왜 이렇게 게을렀던 것인지.</p>
<p>지금부터라도 조금씩 정리해야할 것 같다.</p>
<p>하긴 그런데 C/C++는 워낙에 책도 많고 인터넷에 자료도 많아서 내 블로그에다가 또 재탕을 해야하는지는 참 의문이긴 하다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/751/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>krcert의 Castle JSP 설치 방법</title>
		<link>http://blog.83rpm.com/archives/747?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=krcert%25ec%259d%2598-castle-jsp-%25ec%2584%25a4%25ec%25b9%2598-%25eb%25b0%25a9%25eb%25b2%2595</link>
		<comments>http://blog.83rpm.com/archives/747#comments</comments>
		<pubDate>Fri, 04 May 2012 15:16:18 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CASTLE]]></category>
		<category><![CDATA[KISA]]></category>
		<category><![CDATA[krcert]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[SQL Injection]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[보안]]></category>
		<category><![CDATA[웹방화벽]]></category>
		<category><![CDATA[인터넷침해대응센터]]></category>
		<category><![CDATA[한국인터넷진흥원]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=747</guid>
		<description><![CDATA[KISA 한국인터넷진흥원의 인터넷침해대응센터에서는 Castle이라는 웹방화벽을 배포하고 있어서 설치해봤다. SQL 인젝션, 욕설 필터링 등등 좋은 기능이 많다. 이 소프트웨어는 PHP/JSP/ASP 3가지 버전으로 나와있어 자기 플랫폼에 맞는 버전으로 사용하면 된다. 내 서버의 경우에는 JSP와 PHP를 사용중인데 사실 PHP쪽은 잘 쓰지 않기도하고 JSP쪽으로 프로그래밍을 더 많이 즐기기 떄문에 JSP 버전으로 설치해보았다. 다운로드는 http://www.krcert.or.kr 에서 다운로드가 가능하다. 상단메뉴 중에 [...]]]></description>
			<content:encoded><![CDATA[<p>KISA 한국인터넷진흥원의 인터넷침해대응센터에서는 Castle이라는 웹방화벽을 배포하고 있어서 설치해봤다. SQL 인젝션, 욕설 필터링 등등 좋은 기능이 많다.</p>
<p>이 소프트웨어는 PHP/JSP/ASP 3가지 버전으로 나와있어 자기 플랫폼에 맞는 버전으로 사용하면 된다. 내 서버의 경우에는 JSP와 PHP를 사용중인데 사실 PHP쪽은 잘 쓰지 않기도하고 JSP쪽으로 프로그래밍을 더 많이 즐기기 떄문에 JSP 버전으로 설치해보았다.</p>
<p>다운로드는 <a title="인터넷침해대응센터" href="http://www.krcert.or.kr" target="_blank">http://www.krcert.or.kr</a> 에서 다운로드가 가능하다. 상단메뉴 중에 &#8216;웹보안서비스&#8217;에 &#8216;CASTLE&#8217; 메뉴를 클릭하면 된다.</p>
<p><strong><span style="color: #ff9900;">중요한 점 : 내가 해본 결과 이 페이지는 윈도우7 + 크롬에서는 잘 열리고 다운로드도 제대로 작동되었지만 맥 OSX 10.7 + Safari에서는 제대로 작동되지 않았다. 왜 다운로드가 안되나 한참 삽질했다.</span></strong></p>
<p>다운로드하면 PHP/JSP/ASP 세가지 버전의 파일과 사용설명서, 설치설명서 등이 친절하게 들어있다. 사실 설치는 포함된 설치설명서 PDF 파일을 보고 그대로 하면 된다.</p>
<p>파일업로드 -&gt; 자바 class 파일 컴파일 -&gt; 기존 파일에 코드 삽입의 세단계로 이루어지는데 자바,  JSP와 서블릿을 조금이라도 해봤던 사람이라면 하나도 어렵지 않다.</p>
<p>문제는 다른 곳에 있었는데&#8230; 설치안내 문서에는 class 파일을 컴파일 할때 &#8216;javac *.java&#8217;를 실행하라고 나와있는데 이대로 했을 경우, EUC-KR 문자셋에 문제가 있다는 오류가 딱 100개 출력된다. 이 상태로 그냥 진행하면 작동은 되긴되나 나중에 방어 메시지가 한글이 모조리 깨지며 로그 파일의 한글도 모조리 깨지게 된다. java 파일을 열어봤으나 UTF-8로 제대로 저장되어 있었고 컴파일 명령도 제대로 내렸는데 왜 안됐을 까 한참 고민했는데 생각해보니 내 서버는 모든 환경을 UTF-8로 사용하고 있었다.</p>
<p><strong><span style="color: #ff9900;">중요한 점 : 컴파일 할 때 &#8216;javac -encoding utf8 *.java&#8217;와 같이 -encoding 옵션으로 자기에게 맞는 문자셋을 지정해줘야한다. 정상적으로 컴파일이 되었다면 프롬프트에 아무런 메시지도 나타나지 않아야한다.</span></strong></p>
<p>클래스 파일을 컴파일해서 넣고 진행했다. 이제서야 제대로 작동한다. install 화면을 진행하고 내 사이트의 헤더 파일에 프로그램 소스코드를 삽입한 후 작동테스트를 시작했다. 그런데 또 하나의 문제점 발견. 내 사이트에서는 예를 들어, a.jsp 파일에 form 양식이 있고 여기서 데이터를 입력 받은 다음 b.jsp 파일에 POST 형식으로 데이터를 넘기게 되어있었는데 a.jsp 파일에 캐슬 소스코드를 넣고 SQL 인젝션 테스트를 했더니 아무런 경고조치 없이 돌아가는 것이었다. 왜 이러나 고민하다가 b.jsp 파일에다가도 캐슬 소스코드를 넣었더니 그제서야 제대로 인젝션이 차단되었다.</p>
<p><strong><span style="color: #ff9900;">중요한 점 : 데이터를 페이지에서 페이지로 이동시키며 처리하는 경우는 양쪽 모두에다가 캐슬 소스코드를 넣어줘야한다.</span></strong></p>
<p>이렇게 설치하고 테스트해보면 SQL 인젝션을 잘 차단해주며 로그도 정상적으로 쌓인다.</p>
<p>&nbsp;</p>
<p>사용해보니 몇가지 아쉬운 점은..</p>
<ol>
<li><span style="color: #ff9900;">설치문서가 조금 단순하다. 좀더 다양한 상황에서 테스트해주시고 설치문서를 써주셧으면.</span></li>
<li><span style="color: #ff9900;">로그 파일이 저장되는 위치를 바꿀 수가 없다. 리눅스에서는 /var/log 디렉토리가 주로 로그파일 디렉토리로 많이 쓰이는데 castle은 로그파일이 무조건 캐슬 설치 디렉토리의 log 디렉토리에만 저장된다.</span></li>
<li><span style="color: #ff9900;">한 사이트마다 캐슬을 하나씩 설치해야한다. 캐슬 하나만 설치해서 여러사이트, 여러도메인에서 공유해서 사용할 수 있는 방법이 있으면 좋을 것 같다. 내 서버의 여러 사이트들에도 캐슬을 적용하고 싶었는데 한 사이트당 하나씩 설치해야하니 너무 부담스러워서 그만뒀다. 이렇게 설치해서 사용할 수 있는 방법이 있다면 설치문서에라도 좀 추가되길.</span></li>
<li><span style="color: #ff9900;">iptables 같은 방화벽 소프트웨어와 연동해서 공격IP를 자동차단 할 수 있으면 더 좋을 것 같다. 웹프로그램의 특성상 시스템명령 수행이 좀 어렵긴하지만 가능하지 않을까? Runtime 클래스를 이용해도 될것 같고 아니면 나중에 C로 한번 만들어봐야할 것 같다.</span></li>
</ol>
<p>하여튼 너무 좋은 프로그램 개발해주셔서 감사~ ^^ 혹시 나중에 krcert 관계자분이 이 글을 보게된다면 꼭 불편한 점과 아쉬운 점은 고쳐주셨으면 좋겠다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/747/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>어벤져스</title>
		<link>http://blog.83rpm.com/archives/744?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ec%2596%25b4%25eb%25b2%25a4%25ec%25a0%25b8%25ec%258a%25a4</link>
		<comments>http://blog.83rpm.com/archives/744#comments</comments>
		<pubDate>Wed, 02 May 2012 16:23:21 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Movie]]></category>
		<category><![CDATA[Avengers]]></category>
		<category><![CDATA[닉퓨리]]></category>
		<category><![CDATA[블랙위도우]]></category>
		<category><![CDATA[아이언맨]]></category>
		<category><![CDATA[야탑CGV]]></category>
		<category><![CDATA[어벤져스]]></category>
		<category><![CDATA[캡틴아메리카]]></category>
		<category><![CDATA[토르]]></category>
		<category><![CDATA[헐크]]></category>
		<category><![CDATA[호크아이]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=744</guid>
		<description><![CDATA[간만에 본 옛 판도라 동료들과 함께 본 영화. 저번에 광명CGV에 가서 너무 고생한지라 이번에는 야탑CGV로 갔다. 어벤져스에 대해 평들이 너무 좋아서 봤는데 역시나 기대에 부응했다. 아이언맨, 헐크, 토르, 캡틴아메리카, 호크아이, 블랙위도우, 퓨리 일곱명이서 펼치는 액션인데 사실상 아이언맨과 헐크가 거의 다 해먹고&#8230; 토르가 약간 보조하고 나머지는 그냥 옵션 정도로 보면 될것 같다. 이미 토르에서 나왔던 토르의 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.83rpm.com/wp-content/uploads/2012/05/movie_image.jpg"><img class="alignleft size-medium wp-image-745" style="margin: 10px;" title="movie_image" src="http://blog.83rpm.com/wp-content/uploads/2012/05/movie_image-210x300.jpg" alt="" width="210" height="300" /></a>간만에 본 옛 판도라 동료들과 함께 본 영화.</p>
<p>저번에 광명CGV에 가서 너무 고생한지라 이번에는 야탑CGV로 갔다. 어벤져스에 대해 평들이 너무 좋아서 봤는데 역시나 기대에 부응했다.</p>
<p>아이언맨, 헐크, 토르, 캡틴아메리카, 호크아이, 블랙위도우, 퓨리 일곱명이서 펼치는 액션인데 사실상 아이언맨과 헐크가 거의 다 해먹고&#8230; 토르가 약간 보조하고 나머지는 그냥 옵션 정도로 보면 될것 같다. 이미 토르에서 나왔던 토르의 동생이 다시 나오게 되는데 이 양반이 지구를 먹으려고 하다가 위 여섯명이서 이걸 막는다는 얘기다. 대부분 캐릭터들이 예전의 성격과 모습을 그대로 유지하고 있어서 꽤 반가웠다.</p>
<p>역시 아이언맨이 화려한 액션으로 대부분의 문제점을 해결하고 헐크와 토르가 그 뒤를 보조한다. 캡틴아메리카는 들고다니는 솥뚜껑 하나 밖에 없는만큼 그다지 할 수 있는 일이 많지가 않았고 호크아이와 블랙위도우 역시 그냥 &#8216;지상군&#8217; 이상의 역할을 보여주지 못했다. 퓨리는 뭐 원래 별 캐릭터가 아닌듯하고.</p>
<p>사람들이 이 영화를 보고 대부분 헐크를 너무나 좋아하는데 그럴만도 하다. 시종일관 장난치는 아이언맨과 귀여운 행동의 헐크가 이 영화의 포인트.</p>
<p>주위 사람 중에 한번 더 보겠다는 사람이 있을만큼 괜찮은 영화같다. 특히 잔인한 장면이나 피튀기는 장면이 거의 없고 위트 있는 헐크의 행동 때문에 여자들도 굉장히 좋아한다. 다만, 이 영화를 보기 전에 &#8216;아이언맨&#8217;, &#8216;토르&#8217;는 꼭 보고 가는게 좋을듯하다. 특히 토르의 동생이 이 영화의 악당으로 나오는만큼 &#8216;토르&#8217;는 보고가는게 좋을듯하다. 물론 시간이 된다면 &#8216;헐크&#8217;와 &#8216;퍼스트 어벤져&#8217;도 보고 가면 더 좋겠지만.</p>
<p>&nbsp;</p>
<p>P.S. 주차를 매우 걱정했는데 야탑CGV 주차는 근처에 환승센터 주차장이 있다. 30분에 400원 밖에 안한다. 이날 영화보고 밥 먹고 신나게 놀았음에도 불구하고 주차비는 6천원 밖에 안나왔다. 야탑 CGV 주차도 무료지만 여기다가 세우는 것도 나쁘지 않을듯하다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/744/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>건축학개론</title>
		<link>http://blog.83rpm.com/archives/740?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ea%25b1%25b4%25ec%25b6%2595%25ed%2595%2599%25ea%25b0%259c%25eb%25a1%25a0</link>
		<comments>http://blog.83rpm.com/archives/740#comments</comments>
		<pubDate>Wed, 18 Apr 2012 14:29:45 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Movie]]></category>
		<category><![CDATA[건축학개론]]></category>
		<category><![CDATA[수지]]></category>
		<category><![CDATA[엄태웅]]></category>
		<category><![CDATA[영화]]></category>
		<category><![CDATA[이제훈]]></category>
		<category><![CDATA[한가인]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=740</guid>
		<description><![CDATA[얼마전 옛 회사동료들과 같이 본 건축학개론. 처음엔 그냥 그저그런 멜로 정도로 별로 기대 안하고 봤으나 꽤 괜찮았다. 특히 수지의 미모에서 환한 웃음이&#8230; 하하. 영화 내용상으로는 사실 내 연애관과는 별로 맞지 않지만 어쨌튼 보는 동안만큼은 참 재미있고 아름다운 내용들이었다. 아마 어렸을적 저런 두근두근하는 마음들 누구나 한번쯤 있지 않을까 싶다. 나도 누군가에게 첫사랑이었을까 이런 기대는 해본적이 없고 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.83rpm.com/wp-content/uploads/2012/04/movie_image1.jpg"><img class="alignleft size-medium wp-image-741" style="margin: 10px;" title="건축학개론" src="http://blog.83rpm.com/wp-content/uploads/2012/04/movie_image1-209x300.jpg" alt="" width="209" height="300" /></a>얼마전 옛 회사동료들과 같이 본 건축학개론.</p>
<p>처음엔 그냥 그저그런 멜로 정도로 별로 기대 안하고 봤으나 꽤 괜찮았다. 특히 수지의 미모에서 환한 웃음이&#8230; 하하. 영화 내용상으로는 사실 내 연애관과는 별로 맞지 않지만 어쨌튼 보는 동안만큼은 참 재미있고 아름다운 내용들이었다. 아마 어렸을적 저런 두근두근하는 마음들 누구나 한번쯤 있지 않을까 싶다.</p>
<p>나도 누군가에게 첫사랑이었을까 이런 기대는 해본적이 없고 이 영화를 본 이후에도 그런 생각은 전혀 들지 않았지만 대부분의 남자들은 그런 생각 한번쯤 해봤을 것 같다.</p>
<p>여튼 따뜻한 봄철에 적절했던 그런 영화.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/740/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cacti에서 CPU Usage 표시하기</title>
		<link>http://blog.83rpm.com/archives/737?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cacti%25ec%2597%2590%25ec%2584%259c-cpu-usage-%25ed%2591%259c%25ec%258b%259c%25ed%2595%2598%25ea%25b8%25b0</link>
		<comments>http://blog.83rpm.com/archives/737#comments</comments>
		<pubDate>Fri, 06 Apr 2012 16:01:11 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[모니터링]]></category>
		<category><![CDATA[서버]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=737</guid>
		<description><![CDATA[모니터링툴인 Cacti를 설치하면 기본으로 있는 그래픽 템플릿으로 여러가지 모니터링 템플릿이 들어있는데 아쉽게도 여기에는 CPU 사용률에 대한 그래픽 템플릿이 없다. 물론 Host MIB &#8211; CPU Utilization이나 ucd/net &#8211; Load Average 같은 템플릿이 있지만 이것은 내가 원하는 ##%형태의 숫자를 보여주는 것이 아니었다. 그래서 역시 오늘도 구글님에게 물어본 결과 괜찮은 답변을 받았다. 역시나 이미 나와 같은 고민을 했던 외국인들이 있었다. [...]]]></description>
			<content:encoded><![CDATA[<p>모니터링툴인 Cacti를 설치하면 기본으로 있는 그래픽 템플릿으로 여러가지 모니터링 템플릿이 들어있는데 아쉽게도 여기에는 CPU 사용률에 대한 그래픽 템플릿이 없다. 물론 Host MIB &#8211; CPU Utilization이나 ucd/net &#8211; Load Average 같은 템플릿이 있지만 이것은 내가 원하는 ##%형태의 숫자를 보여주는 것이 아니었다.</p>
<p>그래서 역시 오늘도 구글님에게 물어본 결과 괜찮은 답변을 받았다. 역시나 이미 나와 같은 고민을 했던 외국인들이 있었다.</p>
<p><a href="http://forums.cacti.net/about15412.html" target="_blank">http://forums.cacti.net/about15412.html</a></p>
<p>글을 읽어보면 2-way system / 4-way system / 8-way system 으로 파일이 나뉘어있다. 서버의 CPU에 맞도록 다운로드 받는다. 리눅스 시스템의 경우에는 /proc/cpuinfo 파일에 프로세서 정보가 나와있으니 여기에 CPU가 몇개나 보이는지 확인한 후 적당한 것을 다운로드 받으면 된다.</p>
<p>내 서버의 경우에는 Intel Xeon E3-1220 프로세서를 사용하고 있고 1개의 CPU에 4개의 코어가 장착되어있으므로 4-way용으로 다운 받았다.</p>
<p>다운로드 받은 후 Cacti의 메뉴 중 import templete에 들어가서 다운로드 받은 xml 파일을 선택하면 cacti에 CPU 사용률을 표시할 수 있는 그래픽 템플릿이 생성된다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/737/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>타이탄의 분노</title>
		<link>http://blog.83rpm.com/archives/732?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ed%2583%2580%25ec%259d%25b4%25ed%2583%2584%25ec%259d%2598-%25eb%25b6%2584%25eb%2585%25b8</link>
		<comments>http://blog.83rpm.com/archives/732#comments</comments>
		<pubDate>Mon, 02 Apr 2012 16:40:50 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Movie]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=732</guid>
		<description><![CDATA[얼마전 본 타이탄2. 상암CGV에서 보았는데 여긴 주말에 갈때마다 느끼는것이지만 주차공간이 너무 좁은게 아닌가 싶다. 혹시 상암월드컵경기장 갈 분은 홈플러스 주차장보다는 월드컵경기장 주차장을 추천한다. 단, 유료이다. 이 영화의 1편을 내가 보지 못했기 때문에 딱히 1편에 비해서 어떻다는 평은 못할 것 같다. 영화의 주인공은 페르세우스. 그리스 신화에 나오는 그 페르세우스이다. 페르세우스와 그의 아버지 제우스, 지하의 신인 하데스, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.83rpm.com/wp-content/uploads/2012/04/movie_image.jpg"><img class="alignleft size-medium wp-image-733" style="margin: 10px;" title="movie_image" src="http://blog.83rpm.com/wp-content/uploads/2012/04/movie_image-205x300.jpg" alt="" width="205" height="300" /></a>얼마전 본 타이탄2. 상암CGV에서 보았는데 여긴 주말에 갈때마다 느끼는것이지만 주차공간이 너무 좁은게 아닌가 싶다. 혹시 상암월드컵경기장 갈 분은 홈플러스 주차장보다는 월드컵경기장 주차장을 추천한다. 단, 유료이다.</p>
<p>이 영화의 1편을 내가 보지 못했기 때문에 딱히 1편에 비해서 어떻다는 평은 못할 것 같다.</p>
<p>영화의 주인공은 페르세우스. 그리스 신화에 나오는 그 페르세우스이다. 페르세우스와 그의 아버지 제우스, 지하의 신인 하데스, 그리고 전쟁의 신인 아레스가 가지는 이야기인데&#8230;</p>
<p>사실은 그냥 마법영감님 두분이 쌈박질해서 젊은이 둘이서 싸웠다. 정도의 얘기에 신화를 조금 첨가한 후 괴물을 약간 첨가한 영화가 될 것 같다.</p>
<p>사실 타이탄이라는 제목이 왜 붙었는지도 잘 모르겠다.</p>
<p>아, 그래픽 하나는 꽤나 잘 만든 것 같다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/732/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>쉘에서 계정용량 출력하여 MySQL에 추가하기</title>
		<link>http://blog.83rpm.com/archives/729?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ec%2589%2598%25ec%2597%2590%25ec%2584%259c-%25ea%25b3%2584%25ec%25a0%2595%25ec%259a%25a9%25eb%259f%2589-%25ec%25b6%259c%25eb%25a0%25a5%25ed%2595%2598%25ec%2597%25ac-mysql%25ec%2597%2590-%25ec%25b6%2594%25ea%25b0%2580%25ed%2595%2598%25ea%25b8%25b0</link>
		<comments>http://blog.83rpm.com/archives/729#comments</comments>
		<pubDate>Mon, 02 Apr 2012 16:08:27 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[du]]></category>
		<category><![CDATA[계정용량]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[쉘]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=729</guid>
		<description><![CDATA[사용자들의 계정확인 페이지에서 계정용량을 확인할 수 있도록 제공하고 있는데 JSP페이지에서 시스템명령을 직접 수행하고 있다. 수행결과는 잘 나오고 있지만 문제는 가끔 Tomcat 서버가 다운이 된다는 것. 톰캣 서버의 로그를 자세히 살펴보기에는 너무 힘들어서 톰캣 서버 다운 문제가 혹시 이 문제가 아닌가 싶어서 계정용량 제공방식을 변경해보기로 했다. 계정용량을 cron을 통해 주기적으로 확인하여 MySQL 데이터베이스에 저장하고 계정용량을 표시할 [...]]]></description>
			<content:encoded><![CDATA[<p>사용자들의 계정확인 페이지에서 계정용량을 확인할 수 있도록 제공하고 있는데 JSP페이지에서 시스템명령을 직접 수행하고 있다.</p>
<p>수행결과는 잘 나오고 있지만 문제는 가끔 Tomcat 서버가 다운이 된다는 것. 톰캣 서버의 로그를 자세히 살펴보기에는 너무 힘들어서 톰캣 서버 다운 문제가 혹시 이 문제가 아닌가 싶어서 계정용량 제공방식을 변경해보기로 했다.</p>
<p>계정용량을 cron을 통해 주기적으로 확인하여 MySQL 데이터베이스에 저장하고 계정용량을 표시할 때는 MySQL의 정보를 뽑아서 보여주기만 하면 된다.</p>
<p>일단 계정용량을 뽑는 명령은 다음과 같다.</p>
<p>du -shm /home/사용자ID | awk -F &#8216;[\t]&#8216; &#8216;{print $1}&#8217;</p>
<p>du 명령어의 출력결과를 파이프라인을 통해 재처리하는 것인데 처음에는 grep이나 cut 등의 명령으로 수행해봤지만 du 명령의 결과가 탭으로 구분되어있기 때문에 제대로 작동하지 않았다. awk 명령으로 가능할 것 같아서 찾아보니 한참을 찾아내어 위 명령어를 만들었다. 수행해보니 제대로 작동한다.</p>
<p>이제 이 명령어를 MySQL 데이터베이스에 추가하기만 하면 된다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/729/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 6.2에서 Cacti 설치시 graphs.php 페이지 오류 해결방법</title>
		<link>http://blog.83rpm.com/archives/726?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=centos-6-2%25ec%2597%2590%25ec%2584%259c-cacti-%25ec%2584%25a4%25ec%25b9%2598%25ec%258b%259c-graphs-php-%25ed%258e%2598%25ec%259d%25b4%25ec%25a7%2580-%25ec%2598%25a4%25eb%25a5%2598-%25ed%2595%25b4%25ea%25b2%25b0%25eb%25b0%25a9%25eb%25b2%2595</link>
		<comments>http://blog.83rpm.com/archives/726#comments</comments>
		<pubDate>Sun, 01 Apr 2012 17:23:32 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[graph-viz]]></category>
		<category><![CDATA[graphs.php]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=726</guid>
		<description><![CDATA[Cacti를 설치했는데 Graph Management 페이지가 아예 빈페이지로 나왔다. 이런 경우는 PHP 오류인 경우인데 내 서버 경우에는 PHP 오류시 오류메시지 출력이 꺼져있으므로 빈페이지가 그냥 출력되는 경우이다. 이 문제를 해결하기 위해 또 구글링을 해봤다. 다행히 Cacti 포럼에 다음의 글이 올라와있었다. http://forums.cacti.net/viewtopic.php?f=2&#038;t=46455 문제는 graphviz라는 프로그램이라는 것이었고 이것을 삭제하였더니 잘 작동하더라는 것이다. 내 서버에도 확인해봤더니 역시나 저 프로그램이 설치되어 [...]]]></description>
			<content:encoded><![CDATA[<p>Cacti를 설치했는데 Graph Management 페이지가 아예 빈페이지로 나왔다.</p>
<p>이런 경우는 PHP 오류인 경우인데 내 서버 경우에는 PHP 오류시 오류메시지 출력이 꺼져있으므로 빈페이지가 그냥 출력되는 경우이다.</p>
<p>이 문제를 해결하기 위해 또 구글링을 해봤다.</p>
<p>다행히 Cacti 포럼에 다음의 글이 올라와있었다.</p>
<p>http://forums.cacti.net/viewtopic.php?f=2&#038;t=46455</p>
<p>문제는 graphviz라는 프로그램이라는 것이었고 이것을 삭제하였더니 잘 작동하더라는 것이다. 내 서버에도 확인해봤더니 역시나 저 프로그램이 설치되어 있었다. 무엇에 쓰는 프로그램인지도 잘 모르는채로 삭제할 수 없어서 다시 위 글타래를 잘 읽어보니 다음의 링크에서 해결방법을 찾을 수 있었다.</p>
<p>http://bugs.cacti.net/view.php?id=2161</p>
<p>아마 Cacti의 이슈트래킹 시스템인 것 같은데 다행히도 이 문제를 해결해서 패치파일로 제공하고 있었다. 이 페이지에 링크 걸려있는 cacti_graph.diff 파일을 cacti 디렉토리에 다운로드 받은 후 다음 명령을 적용해준다.</p>
<p>patch -p0 &lt; cacti_graph.diff</p>
<p>몇줄의 안내메시지가 나온 후 패치가 끝난다. 다시 Graph Management 페이지를 접속하면 잘 보이게 된다. 이 버그가 신고된게 올해 2월 1일이었고 2월 22일에 패치가 적용되었다. 불과 한달 전에 이 패치가 개발되었으니 얼마나 다행인지 모르겠구나. 흠흠..</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/726/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOs 6.2에서 PortSentry 설치 시 오류 해결방법</title>
		<link>http://blog.83rpm.com/archives/722?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=centos-6-2%25ec%2597%2590%25ec%2584%259c-portsentry-%25ec%2584%25a4%25ec%25b9%2598-%25ec%258b%259c-%25ec%2598%25a4%25eb%25a5%2598-%25ed%2595%25b4%25ea%25b2%25b0%25eb%25b0%25a9%25eb%25b2%2595</link>
		<comments>http://blog.83rpm.com/archives/722#comments</comments>
		<pubDate>Sat, 31 Mar 2012 19:01:45 +0000</pubDate>
		<dc:creator>viper9</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[portsentry]]></category>
		<category><![CDATA[포트스캔]]></category>

		<guid isPermaLink="false">http://blog.83rpm.com/?p=722</guid>
		<description><![CDATA[최근에 중국쪽에서 해킹시도가 감지되어 portsentry를 설치하기로 했다. portsentry는 서버에 포트스캐닝이 들어오면 해당 아이피를 미리 지정된 정책에 따라 host.deny 파일에 추가하여 tcpwrapper로 차단하거나 iptables 같은 방화벽과 연동하여 해당 아이피를 차단하게 된다. 해킹 시도시 포트스캐닝을 해보고 열린 포트(특히 SSH)를 공격한다는 것을 생각할 때 포트스캐닝 시도시 바로 막아버리는 것은 상당히 좋은 정책인 것 같다. 여하튼 그런 이유로 내 [...]]]></description>
			<content:encoded><![CDATA[<p>최근에 중국쪽에서 해킹시도가 감지되어 portsentry를 설치하기로 했다.</p>
<p>portsentry는 서버에 포트스캐닝이 들어오면 해당 아이피를 미리 지정된 정책에 따라 host.deny 파일에 추가하여 tcpwrapper로 차단하거나 iptables 같은 방화벽과 연동하여 해당 아이피를 차단하게 된다. 해킹 시도시 포트스캐닝을 해보고 열린 포트(특히 SSH)를 공격한다는 것을 생각할 때 포트스캐닝 시도시 바로 막아버리는 것은 상당히 좋은 정책인 것 같다.</p>
<p>여하튼 그런 이유로 내 서버에 portsentry를 설치해보았다.</p>
<p><a href="http://www.psionic.com/products/portsentry.html" target="_blank">http://www.psionic.com/products/portsentry.html</a> 에서 portsentry 프로그램을 일단 다운로드 받는다.</p>
<p>다운로드 받은 파일을 압축을 풀고 make 명령을 실행하래서 해봤더니 사용법은 make &#8216;시스템타입&#8217;을 입력하면 된다고 한다. 내 경우에는 리눅스이므로 make linux를 입력.</p>
<p>그런데 다음과 같은 오류를 내고 더이상 진행이 되지 않았다.</p>
<p>SYSTYPE=linux<br />
Making<br />
cc -O -Wall -DLINUX -DSUPPORT_STEALTH -o ./portsentry ./portsentry.c \<br />
./portsentry_io.c ./portsentry_util.c<br />
./portsentry.c: In function ‘PortSentryModeTCP’:<br />
./portsentry.c:1187: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness<br />
/usr/include/sys/socket.h:214: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’<br />
./portsentry.c: In function ‘PortSentryModeUDP’:<br />
./portsentry.c:1384: warning: pointer targets in passing argument 6 of ‘recvfrom’ differ in signedness<br />
/usr/include/sys/socket.h:166: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’<br />
./portsentry.c:1584:11: warning: missing terminating &#8221; character<br />
./portsentry.c: In function ‘Usage’:<br />
./portsentry.c:1584: error: missing terminating &#8221; character<br />
./portsentry.c:1585: error: ‘sourceforget’ undeclared (first use in this function)<br />
./portsentry.c:1585: error: (Each undeclared identifier is reported only once<br />
./portsentry.c:1585: error: for each function it appears in.)<br />
./portsentry.c:1585: error: expected ‘)’ before ‘dot’<br />
./portsentry.c:1585: error: stray ‘\’ in program<br />
./portsentry.c:1585:24: warning: missing terminating &#8221; character<br />
./portsentry.c:1585: error: missing terminating &#8221; character<br />
./portsentry.c:1595: error: expected ‘;’ before ‘}’ token<br />
./portsentry_io.c: In function ‘ConfigTokenRetrieve’:<br />
./portsentry_io.c:321: warning: cast from pointer to integer of different size<br />
./portsentry_io.c:324: warning: cast from pointer to integer of different size<br />
./portsentry_io.c: In function ‘IsBlocked’:<br />
./portsentry_io.c:670: warning: cast from pointer to integer of different size<br />
./portsentry_io.c: In function ‘SubstString’:<br />
./portsentry_io.c:727: warning: cast from pointer to integer of different size<br />
make: *** [linux] 오류 1</p>
<p>제대로 입력했건만 무엇이 잘못되었을까 한참을 고민하다가 구글에 검색을 하다가 겨우겨우 해결책을 찾았다.</p>
<p><a href="http://www.howtoforge.com/forums/showthread.php?t=25114" target="_blank">http://www.howtoforge.com/forums/showthread.php?t=25114</a></p>
<p>이 문서에서 나와 동일한 오류를 겪은 사람이 있고 해결책까지 제시되어있었다.</p>
<p>portsentry.c 파일의 1584, 1585 행을 보면,</p>
<pre class="brush: c; gutter: true">printf (&quot;Copyright 1997-2003 Craig H. Rowland &lt;craigrowland at users dot
sourceforget dot net&gt;\n&quot;);</pre>
<p>이렇게 두줄로 되어있는데 이것을</p>
<pre class="brush: c; gutter: true">printf (&quot;Copyright 1997-2003 Craig H. Rowland &lt;craigrowland at users dot sourceforget dot net&gt;\n&quot;);</pre>
<p>이렇게 한줄로만 변경해주면 된다.</p>
<p>변경한 후 다시 make linux 명령을 내리면 컴파일이 잘 진행된다. 물론 포인터 사이즈에 대한 경고는 여전히 나온다.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.83rpm.com/archives/722/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

