<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="html">쥬냑닭넷</title>
  <id>http://www.juniac.net/</id>
  <link rel="alternate" type="text/html" hreflang="ko" href="http://www.juniac.net/" />
  <subtitle type="html">곧감</subtitle>
  <updated>2009-01-02T23:43:01+09:00</updated>
  <generator>Textcube 1.7.6 : Staccato</generator>
  <entry>
    <title type="html">데이터 베이스 날리기</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/173" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/173" thr:count="0"/>
    <category term="전체" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/173</id>
    <updated>2008-12-29T22:47:09+09:00</updated>
    <published>2008-12-29T22:47:09+09:00</published>
    <summary type="html">&lt;p&gt;잘못해서 데이터 베이스를 날려버렸다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;</summary>
  </entry>
  <entry>
    <title type="html">서버호스팅</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/172" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/172" thr:count="0"/>
    <category term="일상" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/172</id>
    <updated>2008-11-06T01:03:02+09:00</updated>
    <published>2008-11-06T01:03:02+09:00</published>
    <summary type="html">&lt;p&gt;&amp;nbsp;웹호스팅은 너무 제약이 많고&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;서버호스팅은 너무 비싸고&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;</summary>
  </entry>
  <entry>
    <title type="html">Syntax Highlighter for Xquared test page</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/171" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/171" thr:count="0"/>
    <category term="개발" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/171</id>
    <updated>2008-11-06T01:03:14+09:00</updated>
    <published>2008-10-13T14:04:07+09:00</published>
    <summary type="html">&lt;ol class=&quot;code python&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;import sys&amp;nbsp;&lt;/p&gt;
&lt;p&gt;import csv&amp;nbsp;&lt;/p&gt;
&lt;p&gt;import cStringIO&lt;/p&gt;
&lt;p&gt;import codecs&lt;/p&gt;
&lt;p&gt;import MySQLdb&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;class Database:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;def __init__(self, hostname, user, password, database_name):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.hostname = hostname&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.user &amp;nbsp; &amp;nbsp; = user&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.password = password&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.name &amp;nbsp; &amp;nbsp; = database_name&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;def connect(self):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.connection = MySQLdb.connect(self.hostname, self.user, self.password, self.name)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.cursor = self.connection.cursor(MySQLdb.cursors.DictCursor)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;def query(self, query):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return self.cursor.execute(query)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;class Field:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;def __init__(self):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.value = &quot;&quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;def __call__(self, name):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print name&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;def __repr__(self):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return repr(self.value)&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code cpp&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;unistd.h&amp;gt;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;utmp.h&amp;gt;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;time.h&amp;gt;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;/p&gt;
&lt;p&gt;#include &amp;lt;string.h&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;int main(int argc, char **argv) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct utmp *fp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct tm *current_time;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf(&quot;-------------------------------------------------\n&quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf(&quot;Current Login User Listing (by malltb.com juniac)\n&quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf(&quot;-------------------------------------------------\n&quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf(&quot;WHEN\t\t WHO\t\tLogin from\n&quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while((fp = getutent()) != NULL) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(fp-&amp;gt;ut_type == USER_PROCESS) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current_time = localtime(&amp;amp;fp-&amp;gt;ut_time);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf(&quot;%d-%02d-%02d %02d:%02d %-10s\t%s\n&quot;,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current_time-&amp;gt;tm_year + 1900,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current_time-&amp;gt;tm_mon + 1,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current_time-&amp;gt;tm_mday,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current_time-&amp;gt;tm_hour,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current_time-&amp;gt;tm_min,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fp-&amp;gt;ut_user,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fp-&amp;gt;ut_host);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code shell&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;FUNCTION=`echo $1 | sed -e &#039;s/_/-/g&#039;`&lt;/p&gt;
&lt;p&gt;w3m -o confirm_qq=false &lt;a href=&quot;http://kr.php.net/manual/en/function.$%7BFUNCTION%7D.php&quot;&gt;http://kr.php.net/manual/en/function.${FUNCTION}.php&lt;/a&gt;&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code sql&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CREATE TABLE `banners` (&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`id` int(10) unsigned NOT NULL auto_increment,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`type` enum(&#039;TEXT&#039;,&#039;BOLDTEXT&#039;,&#039;IMAGE&#039;,&#039;FLASH&#039;,&#039;VIDEO&#039;) NOT NULL default &#039;TEXT&#039;,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`title` char(100) NOT NULL,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`filename` varchar(50) default NULL,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`filesize` varchar(50) default NULL,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`location` enum(&#039;main&#039;,&#039;mainL&#039;,&#039;mainR&#039;,&#039;topCH&#039;,&#039;topKEY&#039;,&#039;channel&#039;,&#039;video&#039;,&#039;search&#039;) NOT NULL,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`url` char(200) NOT NULL,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`description` char(100) NOT NULL,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`state` enum(&#039;SHOW&#039;,&#039;HIDDEN&#039;) NOT NULL default &#039;HIDDEN&#039;,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;`created` datetime NOT NULL default &#039;0000-00-00 00:00:00&#039;,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;PRIMARY KEY &amp;nbsp;(`id`),&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;KEY `state` (`state`)&lt;/p&gt;
&lt;p&gt;) ENGINE=MyISAM AUTO_INCREMENT=54 DEFAULT CHARSET=utf8;&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code php&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$tmp = &quot;/home/storage/tmp/&quot;;&lt;/p&gt;
&lt;p&gt;$video_id = 5188801;&lt;/p&gt;
&lt;p&gt;$target_dir = $tmp . $video_id . &#039;/&#039;;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$source_file = $target_dir . $video_id;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$movie = new ffmpeg_movie($source_file);&lt;/p&gt;
&lt;p&gt;$total_frames = $movie-&amp;gt;getFrameCount();&lt;/p&gt;
&lt;p&gt;$per_frame = round($total_frames / 6);&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$start_frame = $per_frame / 2;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;for ($i = $start_frame; $i &amp;lt; $total_frames; $i = $i + $per_frame) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;$count++;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if ($count &amp;gt; 6) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;$frame = $movie-&amp;gt;getFrame($i);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;$frame-&amp;gt;resize(400, 300);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;$GDimage = $frame-&amp;gt;toGDImage();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;$filename = $target_dir . sprintf(&quot;%04d&quot;, $count) . &#039;.png&#039;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;imagepng($GDimage, $filename);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code xml&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;html&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;head&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;juniac.aqua.kakaka.org&amp;lt;/title&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.juniac.net/js/prototype.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.juniac.net/js/scriptaculous.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.juniac.net/js/html_object.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;lt;body&amp;gt;&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code jscript&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (token.indexOf(&#039;#&#039;) &amp;gt; -1) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Token is an ID selector&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;var bits = token.split(&#039;#&#039;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;var tagName = bits[0];&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;var id = bits[1];&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;var element = document.getElementById(id);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (tagName &amp;amp;&amp;amp; element.nodeName.toLowerCase() != tagName) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// tag with that ID not found, return false&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Array();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Set currentContext to contain just this element&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;currentContext = new Array(element);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;continue; // Skip to next token&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;/ol&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;&amp;nbsp;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">Ubuntu 에서 FFMPEG-PHP 설치하기</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/170" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/170" thr:count="0"/>
    <category term="개발" />
    <category term="ffmpeg" />
    <category term="ffmpeg-php" />
    <category term="ubuntu" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/170</id>
    <updated>2008-10-13T13:57:27+09:00</updated>
    <published>2008-10-09T21:53:38+09:00</published>
    <summary type="html">&lt;p&gt;일단 gusty 기준으로 설치법&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(hardy 에는&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: normal;&quot;&gt;&lt;a href=&quot;http://packages.ubuntu.com/source/hardy/ffmpeg-php&quot;&gt;http://packages.ubuntu.com/source/hardy/ffmpeg-php 패키지가 있는모양이다)&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;ffmpeg-php 홈페이지&amp;nbsp;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: verdana;&quot; class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;http://ffmpeg-php.sourceforge.net/doc/api/&quot;&gt;http://ffmpeg-php.sourceforge.net/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;API document&amp;nbsp;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: verdana;&quot; class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;http://ffmpeg-php.sourceforge.net/doc/api/&quot;&gt;http://ffmpeg-php.sourceforge.net/doc/api/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;php는 dev버젼으로 설치되어있어야하고 (php5-dev)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ffmpeg은 설치되어있다는 가정하에&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code shell&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(85, 85, 85); font-family: verdana;&quot; class=&quot;Apple-style-span&quot;&gt;apt-get install ffmpeg libavformat-dev&amp;nbsp; libavcodev-dev liblame-dev&lt;/span&gt;&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;등등 필요한 라이브러리를 설치하고&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;&lt;p class=&quot;code shell&quot;&gt;phpize5&lt;/p&gt;
&lt;p class=&quot;code shell&quot;&gt;./configure&lt;/p&gt;
&lt;p class=&quot;code shell&quot;&gt;make&lt;/p&gt;
&lt;p class=&quot;code shell&quot;&gt;make install&lt;/p&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&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;php.ini 끝에&lt;/p&gt;
&lt;p&gt;extension=ffmpeg.so&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code shell&quot;&gt;&lt;p&gt;apache2ctl restart&lt;/p&gt;
&lt;/ol&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;&amp;nbsp;&lt;/p&gt;
&lt;ol class=&quot;code php&quot;&gt;$destination = &#039;video.avi&#039;;
$movie = new ffmpeg_movie($destination);
$total_frames = $movie-&amp;gt;getFrameCount();
$per_frame = round($total_frames / 6);
$start_frame = $per_frame / 2;
$count = 0;
for ($i = $start_frame; $i &amp;lt; $total_frames; $i = $i + $per_frame) {
&amp;nbsp;
&amp;nbsp;&amp;nbsp; &amp;nbsp;if ($count &amp;gt; 5) {
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&amp;nbsp;&amp;nbsp; &amp;nbsp;} &amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp; &amp;nbsp;$frame = $movie-&amp;gt;getFrame($i);
&amp;nbsp;&amp;nbsp; &amp;nbsp;if ($frame) {
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$frame-&amp;gt;resize(400, 300);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$GDimage = $frame-&amp;gt;toGDImage();
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$filename = sprintf(&quot;%04d&quot;, $count) . &#039;.png&#039;;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;imagepng($GDimage, $filename);
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$count++;
&amp;nbsp;&amp;nbsp; &amp;nbsp;} &amp;nbsp;&amp;nbsp;
}&lt;/ol&gt;
&lt;p&gt;뭐 대충 이렇게 해서 6장의 동영상 썸네일을 뽑아보기.&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;&amp;nbsp;&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;</summary>
  </entry>
  <entry>
    <title type="html">iPhone App 개발 screencast</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/165" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/165" thr:count="0"/>
    <category term="개발" />
    <category term="iphone" />
    <category term="screencast" />
    <category term="sdk" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/165</id>
    <updated>2008-09-23T11:18:33+09:00</updated>
    <published>2008-09-22T16:04:52+09:00</published>
    <summary type="html">&lt;p&gt;python 같이 Unix shell에서 바로 개발을 할 수 있는 언어들은 상관이 없는데  IDE를 사용해야 되는 언어들은 IDE사용법조차 익숙하지 않아서 새 언어를 시작할때 스크린캐스트를 먼저 챙겨보고 있다. 개인적으로 바퀴 다음으로 나에게 가장 도움이 되는 기술이 스크린캐스트다. 바로 옆에서 짝프로그래밍으로 새 언어를 배우는 느낌.&lt;/p&gt;
&lt;p&gt;iPhone SDK같은 경우는 나온지도 얼마 안되서 책조차도 없고 해서 고생좀 하다가 아주 좋은 사이트 발견.&lt;/p&gt;
&lt;p&gt;iphone app개발을 위해서 알기쉽고 다양한 스크린캐스트가 준비되어있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.iphonedevcentral.org&quot;&gt;http://www.iphonedevcentral.org&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;a href=&quot;http://cocoadevcentral.com/&quot;&gt;http://cocoadevcentral.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.iphonedevcentral.org&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">바이크 팔다</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/164" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/164" thr:count="1"/>
    <category term="일상" />
    <category term="ape100" />
    <category term="바이크" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/164</id>
    <updated>2008-10-13T18:14:46+09:00</updated>
    <published>2008-09-19T23:08:18+09:00</published>
    <summary type="html">&lt;p&gt;작년 8월 말에 혼다 줌머에 미쳐서 혼다매장갔다가 덜컥 사버린 APE100을 겨울빼고 일년동안 잘 타고 팔았다.&lt;/p&gt;
&lt;p&gt;그동안 머플러도 바꿔주고 핸들고 바꿔주고 새차 꼬박꼬박 하면서 열심히도 탔는데 요새 자금사정도 안 좋고 해서 카드값을 정리해버릴 생각으로 회사에 오후 반차를 내고 종로구청으로 갔다. 뺀찌를 빌려서 번호판을 때어 내고, 서류 작성을 하고 승합차를 화물차로 용도변경해달라는 어떤 아저씨의 긴 상담을 기다려서 등록말소 신청을 하고 나와서 바로 충무로로 갔다.&lt;/p&gt;
&lt;p&gt;혼다 코리아에 가서 얼마나 받을 수 있는지 물어보니 새모델이 나와서 180이상은 못주는데 정 비싸게 팔고 싶으면 동호회에 올려보라고 하는 혼다코리아 아저씨의 친절한 설명을 듣고 다음 가계로 가려는데 아저씨가 그냥 가자 뭔가 아쉬운듯한 표정을 지어 200은 넘게 받을 수 있겠군 하고 한 가계에 멈춰섰다 까뭇까뭇하게 그을린 아저씨가 나와서 관리 잘됬다고 칭찬도 해주고 내가 말하는게 양반 같다면서 웃으며 얼마에 팔고 싶냐고 물어서 이백오십 받으면 잘받는거라고 말씀드렸더니 이런저런 이유를 대면서 230에 팔라고 해서 옳타쿠나 하고 서류내고 도장찍고&amp;nbsp;10분만에 팔아 버렸다.&lt;/p&gt;
&lt;p&gt;정말 팔고 싶지 않은데 뭐 이런저런 사정때문에 팔수밖에 없으니 팔고 나서 옆을 걸어 지나가는데 쇳덩이 바이크가 왜그렇게 아쉽던지.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;만원짜리 뭉치를 가방에 넣고 집으로 오는데 전역하고 나서 남아있는 사람들때문에 들던 씁쓸한 기분이 들기까지.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;덕분에 집에 일찍와서 블로그도 디자인하고 CSS수정하고 반차 알차게 잘 썼다.&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;</summary>
  </entry>
  <entry>
    <title type="html">새로시작하기</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/163" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/163" thr:count="0"/>
    <category term="개발" />
    <category term="리팩토링" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/163</id>
    <updated>2008-09-20T09:22:36+09:00</updated>
    <published>2008-09-19T10:57:13+09:00</published>
    <summary type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: normal;&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;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;nbsp;같이&amp;nbsp;기본적이며&amp;nbsp;근원적인&amp;nbsp;프로그래밍&amp;nbsp;법칙&amp;nbsp;때문에&amp;nbsp;생깁니다.&lt;br /&gt;&quot;코드&amp;nbsp;쓰는&amp;nbsp;작업보다&amp;nbsp;읽는&amp;nbsp;작업이&amp;nbsp;더&amp;nbsp;어렵다&quot;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;- 조엘 온 소프트웨어에서&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">인터넷 사용자</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/162" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/162" thr:count="0"/>
    <category term="일상" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/162</id>
    <updated>2008-09-19T22:23:17+09:00</updated>
    <published>2008-09-19T00:08:05+09:00</published>
    <summary type="html">&lt;p&gt;&amp;nbsp;9시반 회사출근 6시반 퇴근을 하며 개발자들로 둘러쌓인 곳에서 지내다 보니 가끔 모든 사람들이 개발자의 생각으로 인터넷을 사용하고 있다는 착각을 할 때가 있다. 인터넷익스플로어가 6이 뭔지 7이 뭔지는 물론 네이버를 가려고&amp;nbsp;다음검색창에 네이버를 쳐서클릭해서 들어가는 사람들이 많은 지금 너무 어려운 것들을 인터넷이 뿌리고 있지 않나라는 생각이 든다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;친구가 중국에서 옷을 수입해다 한국에 팔고, 한국에서 중국으로 수출도 하는 일을 시작하려고 하는데.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;미디어에 나오는 300만원으로 시작해 3억의 매출을 올리는 쇼핑몰들의 성공사례만을 보며 뛰어들지 않게 적당한 충고를 해주다가 요샌 돈이 있어야 인터넷쇼핑몰도 할 수 있고&amp;nbsp;, 돈이 없으면 안된다 라는&amp;nbsp;것과 성공한 쇼핑몰들의 공통점이&amp;nbsp;아이템이 아니라 오너가 어떤 사람이냐는 것이라는 것을 이야기해 주었는데.&lt;/p&gt;
&lt;p&gt;첫번째의 충고가 대한민국의 상황을 대변하는 것 같아서 씁쓸하다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;스무살 초반의 아이에게&amp;nbsp;&quot;요새 너&amp;nbsp;미니홈피에 사람도 별로 안오잖아&quot; 라고 말하니&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;요새&amp;nbsp;미니홈피 다 접고 있어서 그래 라는 답변을 들었다.&lt;/p&gt;
&lt;p&gt;실제로 SK컴즈에서&amp;nbsp;사용율이 떨어져&amp;nbsp;가는지는 모르지만 예전에는 어땠는데 요샌 이정도 밖에 안된다는 말을 듣고 나니&amp;nbsp;요새 우리나이대는 몰라도&amp;nbsp;10대, 20대애들은 아직도 싸이 미친듯이 해&amp;nbsp;라고 말했던게 어색하게 됬다.&lt;/p&gt;
&lt;p&gt;블로그는 안해? 라고 물으니 어렵다고 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;&amp;nbsp;&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;RSS FEED, 트랙백, AJAX, 등 웹2.0이되었든&amp;nbsp;웹 삼촌, 웹 XP,&amp;nbsp;웹비스타가 나온들 보통의 사람들이 무슨 차이를 느낄 수 있다는 말이지 세상에는 아직도 인터넷 뱅킹을 못하는 사람이 더 많다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;어머니께 인터넷과 아래아한글을 가르쳐 드리고 있는데,&amp;nbsp; 그러다 보니&amp;nbsp;나조차 인터넷이 너무 어렵다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 기능은 왜 있을까?&amp;nbsp;필요해? 정말필요하진 않아.&amp;nbsp;근데 왜만들었어?&amp;nbsp;개발자가 할수 있어서 because we can do. 이것때문에 참 걸리적거려 힘들어 정말로 필요하지도 않은데&amp;nbsp;이걸 꼭 거쳐야되? 쉬워야지.&amp;nbsp;마우스는 왜  발명됬어?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;난 당장&lt;/p&gt;
&lt;p&gt;O(),&amp;nbsp;Linked List 이런것들보다 중요한것이&amp;nbsp;쉬운 UI를 구성하는 것 이라는 생각이다. 서로 반대라는것은 아니고 개발능력이 뛰어난 사람보다 UI를 생각하는 사람이 필요하다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음에서 검색창에 아이디입력하고 탭을 누르면 주소창 아이디가 로그인 텍스트필드로 복사되는것 좋다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;지마켓에 조작된 검색결과도 좋다. 찾을것을 정확히 알필요도 없잖아.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;사진도 좋아 그냥 보기만 하면되.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;앞으로&amp;nbsp;한국 IT가 과연 이전처럼&amp;nbsp;활발하게&amp;nbsp;움직일 수 있을까? TNC가 google korea에 인수 됬어도 그것이 특별하게 벤처기업에 영향을 줄것 같진 않다. 너무도 특수한 경우라서. 미국처럼&amp;nbsp;페이스북이나 마이스페이스, 트위터 같은 신생 서비스들이 자리를 잡는건 한국에서 몇년동안 보지 못한 것 같다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;어느정도 규모가 갖추어지고&amp;nbsp;포털등&amp;nbsp;웹 서비스 들의 균형이 어느정도 갖추어져&amp;nbsp;빠르게 변하고 쉽게 순위가 비뀌는 일은 없을거라는&amp;nbsp;&amp;nbsp;생각도 들고.&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;완벽한&amp;nbsp;웹사이트를 구축해 성공적인 서비스를&amp;nbsp;이루어 내는 영화와 커피를 맛있게 내리는 영화. 나라도 커피영화를 보겠다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;난 참으로 개발을 못한다는 생각이&amp;nbsp;요새&amp;nbsp;든다. 자괴감에도 많이 빠지고.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;게다가&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">몇가지 링크</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/161" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/161" thr:count="0"/>
    <category term="개발" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/161</id>
    <updated>2008-09-18T10:18:22+09:00</updated>
    <published>2008-09-18T10:18:22+09:00</published>
    <summary type="html">&lt;p&gt;Google Chrome Debugger 관련&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.pascarello.com/lessons/browsers/ChromeDebugHelp.html&quot;&gt;http://www.pascarello.com/lessons/browsers/ChromeDebugHelp.html&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;Apatana Studio Download &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.aptana.com/studio/download/&quot;&gt;https://www.aptana.com/studio/download/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PHP FEST Korea&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://phpkorea.org&quot;&gt;http://phpkorea.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">Xquared WYSIWYG Editor For Textcube</title>
    <link rel="alternate" type="text/html" href="http://www.juniac.net/160" />
    <link rel="replies" type="application/atom+xml" href="http://www.juniac.net/atom/response/160" thr:count="7"/>
    <category term="개발" />
    <category term="textcube" />
    <category term="WYSIWYG" />
    <category term="xquared" />
    <author>
      <name>(juniac)</name>
    </author>
    <id>http://www.juniac.net/160</id>
    <updated>2008-09-18T16:33:50+09:00</updated>
    <published>2008-08-12T18:21:34+09:00</published>
    <summary type="html">&lt;p style=&quot;text-align: center;&quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;X&lt;/span&gt;quared&lt;/span&gt;&lt;/span&gt; WYSIWYG Editor For Textcube &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/attach/1/1247204314.jpg&quot;&gt;&lt;img src=&quot;/attach/1/1247204314.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; width=&quot;180&quot; height=&quot;174&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;a href=&quot;http://www.springnote.com&quot;&gt;http://www.springnote.com&lt;/a&gt; 에서 사용되는 WYSIWYG에디터의 오픈소스 버젼 Xquared 를 Textcube WISYWIG에디터로 사용하게 합니다.&lt;/p&gt;
&lt;p&gt;스프링노트 UI에 익숙한 사용자들에게 기존 에디터보다 익숙하게 사용할 수 있어서 빠른 포스팅을 가능하게 합니다.&lt;/p&gt;
&lt;p&gt;다양한 단축키를 수정해서도 편하게 쓰실수 있고요.&lt;/p&gt;
&lt;p&gt;plugins 디렉토리 안에서 압축 풀면 xquared_wysiwyg 디렉토리 안에 풀립니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;첨부파일은 POD cast이외에는 모두 가능하고. Textcube의 WYSIWYG에디터와 다르게 에디터의 View부분을 그대로 TEXTAREA로 옮기기 때문에 첨부파일 삽입시 TTML코드가 삽입될 수 있습니다.&lt;/p&gt;
&lt;p&gt;기타 WYSIWYG관련 플러그인이 작동하지 않을 수 있습니다.&lt;/p&gt;
&lt;p&gt;피드백은 여기 남겨주시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;p style=&quot;margin-left: 2em;&quot;&gt; 관련사이트&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;p style=&quot;margin-left: 2em;&quot;&gt;&lt;a href=&quot;http://xquared.springbook.playmaru.net/&quot;&gt;http://xquared.springbook.playmaru.net/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-left: 2em;&quot;&gt;http://www.springnote.com&lt;/p&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;hr /&gt;&lt;h4&gt;변경내역&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;p&gt;2008/08/12 Ver 1.0&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;특이사항 없음&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2008/08/14 Ver 1.10&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;p&gt;플러그인 환경설정 추가&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;wysiwyg 에디트 창 CSS선택 가능 (없음, Xquared기본CSS, SKin CSS)&lt;/li&gt;
&lt;li&gt;skin디렉토리안의 wysiwyg.css 가 없을 경우에 Xquared 기본 CSS로 대체&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255); font-family: Arial; font-size: medium;&quot; class=&quot;Apple-style-span&quot;&gt;다운로드 (하단의 zip파일)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Arial; font-size: small;&quot; class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;/attach/1/1005123842.zip&quot; title=&quot;&quot;&gt;xquared_wysiwyg_v1.10.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;
&lt;hr /&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 23px; font-weight: bold; line-height: 23px; &quot;&gt;Textcube 1.8에 기본 에디터로 xquared 내장 한다고 하니 업데이트는 접습니다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;</summary>
  </entry>
</feed>
