<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>netswitch!: Category image processing</title>
    <link>http://blog.netswitch.jp/articles/category/image-processing</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>WebSDL - Ruby/SDL &#215; WebSocket/Canvas</title>
      <description>&lt;p&gt;&lt;a href="http://jp.rubyist.net/?KansaiWorkshop44"&gt;Ruby&#21193;&#24375;&#20250;@&#38306;&#35199;44&lt;/a&gt;&#12398;&#25031;&#35242;&#20250;&#12395;&#12390; @cyross, @KazkiMatz &#12373;&#12435;&#12425;&#12392;SDL&#12434;WebSocket&#12392;&#32068;&#12415;&#21512;&#12431;&#12379;&#12390;&#8230;&#12392;&#12356;&#12358;&#35441;&#12434;&#12375;&#12390;&#12356;&#12390;&#12362;&#12418;&#12375;&#12429;&#12381;&#12358;&#12384;&#12387;&#12383;&#12398;&#12391;&#23455;&#35013;&#12375;&#12390;&#12415;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;img src="/files/websdl.png" alt="websdl"/&gt;&lt;br/&gt;
&#38738;&#12399;@nanki, &#36196;&#12399;@ujm&lt;/p&gt;

&lt;p&gt;&lt;a href="http://github.com/nanki/WebSDL"&gt;github - WebSDL&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ruby/SDL&#12398;&#30011;&#38754;&#25551;&#30011;&#12434;&#20840;&#12390;&#25991;&#23383;&#21015;&#12392;&#12375;&#12390;&#12471;&#12522;&#12450;&#12521;&#12452;&#12474;&#12375;&#12289;WebSocket&#12391;&#36865;&#20449;&#12289;Canvas&#12395;&#25551;&#30011;&#12377;&#12427;&#12290;&lt;/li&gt;
&lt;li&gt;&#12502;&#12521;&#12454;&#12470;&#19978;&#12391;&#30330;&#29983;&#12375;&#12383;&#12452;&#12505;&#12531;&#12488;&#12434;WebSocket&#12391;&#36865;&#20449;&#12289;SDL&#12398;&#12452;&#12505;&#12531;&#12488;&#12514;&#12487;&#12523;&#12398;&#20013;&#12395;&#36996;&#20803;&#12375;&#12390;&#12420;&#12427;&#12290;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&#12392;&#12356;&#12358;&#12398;&#12364;&#22522;&#26412;&#30340;&#12394;&#20181;&#32068;&#12415;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;# samples/sample1.rb&lt;/span&gt;
&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;rubygems&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
&lt;span class="ident"&gt;gem&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;rubysdl&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;sdl&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;websdl&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;

&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;TestFrame&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;Frame&lt;/span&gt;
  &lt;span class="ident"&gt;attr_reader&lt;/span&gt; &lt;span class="symbol"&gt;:mx&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:my&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:color&lt;/span&gt;

  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;initialize&lt;/span&gt;
    &lt;span class="attribute"&gt;@color&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="number"&gt;0xff000000&lt;/span&gt; &lt;span class="punct"&gt;|&lt;/span&gt; &lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="punct"&gt;..&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;inject&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="punct"&gt;){|&lt;/span&gt;&lt;span class="ident"&gt;r&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt;&lt;span class="ident"&gt;i&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt;&lt;span class="ident"&gt;r&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="number"&gt;8&lt;/span&gt; &lt;span class="punct"&gt;|&lt;/span&gt; &lt;span class="ident"&gt;rand&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0xff&lt;/span&gt;&lt;span class="punct"&gt;)}&lt;/span&gt;
    &lt;span class="attribute"&gt;@mx&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;100&lt;/span&gt;
    &lt;span class="attribute"&gt;@my&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;100&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;

  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;open_screen&lt;/span&gt;
    &lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Screen&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;open&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;640&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;480&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;32&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;HWSURFACE&lt;/span&gt; &lt;span class="punct"&gt;||&lt;/span&gt; &lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;DOUBLEBUF&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;

  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;mainloop&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;screen&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;
    &lt;span class="ident"&gt;screen&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;fill_rect&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;screen&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;w&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;screen&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;h&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;

    &lt;span class="keyword"&gt;while&lt;/span&gt; &lt;span class="ident"&gt;event&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Event&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;poll&lt;/span&gt;
      &lt;span class="attribute"&gt;@mx&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="attribute"&gt;@my&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="ident"&gt;event&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;x&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;event&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;y&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Event&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;MouseMotion&lt;/span&gt; &lt;span class="punct"&gt;===&lt;/span&gt; &lt;span class="ident"&gt;event&lt;/span&gt;
    &lt;span class="keyword"&gt;end&lt;/span&gt;

    &lt;span class="ident"&gt;frames&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;each&lt;/span&gt; &lt;span class="keyword"&gt;do&lt;/span&gt; &lt;span class="punct"&gt;|&lt;/span&gt;&lt;span class="ident"&gt;f&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt;
      &lt;span class="ident"&gt;screen&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;fill_rect&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;f&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;mx&lt;/span&gt; &lt;span class="punct"&gt;-&lt;/span&gt; &lt;span class="number"&gt;15&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;f&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;my&lt;/span&gt; &lt;span class="punct"&gt;-&lt;/span&gt; &lt;span class="number"&gt;15&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;f&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;color&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;
    &lt;span class="keyword"&gt;end&lt;/span&gt;

    &lt;span class="ident"&gt;screen&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;flip&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;


&lt;span class="constant"&gt;SDL&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;WebSDL&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="constant"&gt;ARGV&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;first&lt;/span&gt; &lt;span class="punct"&gt;==&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;web&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;

&lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;init&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;INIT_VIDEO&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;
&lt;span class="constant"&gt;SDL&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;run&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="constant"&gt;TestFrame&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:host&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;0.0.0.0&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt; &lt;span class="symbol"&gt;:port&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;3000&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#19978;&#35352;&#12398;&#12424;&#12358;&#12394;&#12467;&#12540;&#12489;&#12391;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ rsdl -Ilib samples/sample1.rb&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12391;&#12399;SDL&#12398;&#12454;&#12451;&#12531;&#12489;&#12454;&#12364;&#36215;&#21205;&#12375;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ ruby -Ilib samples/sample1.rb web&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12391;WebSDL&#29256;&#12364;&#36215;&#21205;&#12377;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12390;&#12356;&#12427;&#12290;
WebSDL&#29256;&#12399;&lt;code&gt;samples/test.html&lt;/code&gt; &#12434;WebSocket, Canvas&#12395;&#23550;&#24540;&#12375;&#12383;&#12502;&#12521;&#12454;&#12470;&#12391;&#38283;&#12367;&#12290;&lt;/p&gt;

&lt;p&gt;&#12383;&#12384;Canvas&#12434;&#20351;&#12358;&#12384;&#12369;&#12391;&#12399;&#33464;&#12364;&#28961;&#12356;&#12398;&#12391;&#12289;&#12510;&#12523;&#12481;&#12518;&#12540;&#12470;&#12395;&#23550;&#24540;&#12289;&#12518;&#12540;&#12470;&#38291;&#12398;&#24773;&#22577;&#20849;&#26377;&#12395;&#12418;&#23550;&#24540;&#12375;&#12390;&#12415;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#35328;&#12358;&#12414;&#12391;&#12418;&#12394;&#12367;Proof of Concept&#12398;&#27573;&#38542;&#12391;&#12354;&#12426;&#12289;SDL&#12398;&#27231;&#33021;&#12418;draw_rect, MouseMotion &#12367;&#12425;&#12356;&#12375;&#12363;&#23455;&#35013;&#12375;&#12390;&#12356;&#12394;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;&#12414;&#12383;&#12289;0.1&#31186;&#27598;&#12395;&#26356;&#26032;&#12375;&#12390;&#12356;&#12427;&#12398;&#12364;&#12363;&#12387;&#12371;&#12431;&#12427;&#12356;&#12364;&#12289;&#36969;&#20999;&#12394;&#12452;&#12505;&#12531;&#12488;&#12395;&#22522;&#12389;&#12356;&#12383;&#20966;&#29702;&#12434;&#12377;&#12428;&#12400;&#12289;&#12497;&#12474;&#12523;&#12466;&#12540;&#12512;&#12420;&#12450;&#12489;&#12505;&#12531;&#12481;&#12515;&#12540;&#12466;&#12540;&#12512;&#12394;&#12393;&#38971;&#32321;&#12395;&#30011;&#38754;&#26356;&#26032;&#12398;&#12394;&#12356;&#12418;&#12398;&#12394;&#12425;&#23455;&#29992;&#30340;&#12394;&#12418;&#12398;&#12364;&#12391;&#12365;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12290;
&#12454;&#12455;&#12502;&#12408;&#12359;&#12508;&#12479;&#12531;&#12392;&#12363;&#12397;&#12290;&lt;/p&gt;

&lt;h4&gt;&#21839;&#38988;&#28857;&lt;/h4&gt;

&lt;p&gt;&#19968;&#26041;&#12289;SDL&#12398;API&#12399;&#21516;&#26399;&#30340;&#12394;&#12418;&#12398;&#12418;&#12354;&#12426;&#12289;SDL::Surface#get_pixel (&#30011;&#38754;&#19978;&#12398;&#12500;&#12463;&#12475;&#12523;&#12398;&#33394;&#12434;&#36820;&#12377;) &#12394;&#12393;&#12399;&#29694;&#22312;&#12398;&#26041;&#27861;&#12391;&#12399;&#23455;&#29694;&#12364;&#22256;&#38627;&#12391;&#12354;&#12427;&#12290;&lt;/p&gt;

&lt;h5&gt;&#21442;&#32771;:&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://jp.rubyist.net/?KansaiWorkshop44"&gt;&#26085;&#26412;Ruby&#12398;&#20250; &#20844;&#24335;Wiki - &#31532;44&#22238; Ruby/Rails&#21193;&#24375;&#20250;&#65312;&#38306;&#35199;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/nanki/WebSDL"&gt;nanki&amp;#8217;s WebSDL at master - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Wed, 23 Jun 2010 02:42:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:dfade1a0-fb67-4488-902e-74fefb0efe14</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/06/23/websdl-multiuser-rubysdl-with-canvas-websocket</link>
      <category>web</category>
      <category>tech</category>
      <category>image processing</category>
      <category>ruby</category>
      <category>javascript</category>
      <category>ruby</category>
      <category>sdl</category>
      <category>websocket</category>
      <category>html5</category>
      <category>canvas</category>
      <enclosure type="image/png" url="http://blog.netswitch.jp/files/websdl.png" length="26770"/>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8665</trackback:ping>
    </item>
    <item>
      <title>&#27515;&#12398;&#12452;&#12513;&#12540;&#12472;</title>
      <description>&lt;p&gt;&#21021;&#12417;&#12390;&#20154;&#12398;&#27515;&#12395;&#25509;&#12375;&#12383;&#12398;&#12399;&#12289;&#12402;&#12356;&#12362;&#12400;&#12354;&#12385;&#12419;&#12435;&#12398;&#12362;&#33900;&#24335;&#12391;&#12289;4&#12316;5&#27507;&#12367;&#12425;&#12356;&#12384;&#12387;&#12383;&#12290;&lt;br/&gt;
&#20170;&#12391;&#12418;&#35226;&#12360;&#12390;&#12356;&#12427;&#12364;&#12289;&#21029;&#12395;&#24754;&#12375;&#12356;&#12371;&#12392;&#12391;&#12399;&#12394;&#12363;&#12387;&#12383;&#12290;&lt;br/&gt;
&#35504;&#12384;&#12363;&#12431;&#12363;&#12387;&#12390;&#12356;&#12394;&#12363;&#12387;&#12383;&#12375;&#12289;&#35242;&#25114;&#12398;&#23478;&#12391;&#34892;&#12431;&#12428;&#12383;&#24335;&#12384;&#12387;&#12383;&#12364;&#12289;&#12381;&#12398;&#23478;&#12395;&#12399;&#12362;&#27671;&#12395;&#20837;&#12426;&#12398;&#12362;&#12418;&#12385;&#12419;&#32676;&#12364;&#12354;&#12387;&#12390;&#12289;&#20693;&#12364;&#39442;&#12364;&#12394;&#12356;&#12424;&#12358;&#12395;&#35242;&#25114;&#12398;&#12362;&#20804;&#12373;&#12435;&#12364;&#36938;&#12435;&#12391;&#12367;&#12428;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#26874;&#12395;&#33457;&#12434;&#35440;&#12417;&#12289;&#38666;&#26601;&#36554;&#12395;&#36617;&#12379;&#12390;&#12289;&#28779;&#33900;&#22580;&#12414;&#12391;&#34892;&#12387;&#12390;&#12289;&#36986;&#20307;&#12364;&#28988;&#12363;&#12428;&#12427;&#12398;&#12434;&#35211;&#23432;&#12387;&#12383;&#12290;&lt;br/&gt;
&#27515;&#12435;&#12384;&#12289;&#12392;&#12356;&#12358;&#12398;&#12399;&#12431;&#12363;&#12387;&#12390;&#12356;&#12383;&#12364;&#12289;&#29983;&#12365;&#12390;&#12356;&#12427;&#23039;&#12434;&#35211;&#12383;&#12371;&#12392;&#12364;&#12394;&#12363;&#12387;&#12383;&#12363;&#12425;&#12363;&#12289;&#30496;&#12387;&#12390;&#12356;&#12427;&#12424;&#12358;&#12394;&#36986;&#20307;&#12434;&#12415;&#12435;&#12394;&#12391;&#22258;&#12416;&#20250;&#12364;&#20652;&#12373;&#12428;&#12383;&#12289;&#12392;&#12356;&#12358;&#12384;&#12369;&#12384;&#12387;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#12381;&#12428;&#12363;&#12425;&#12375;&#12400;&#12425;&#12367;&#12375;&#12390;&#12289;&#12496;&#12452;&#12458;&#12522;&#12531;&#12398;&#32244;&#32722;&#12434;&#12469;&#12508;&#12387;&#12383;&#12363;&#12393;&#12391;&#27597;&#35242;&#12395;&#24594;&#12425;&#12428;&#12289;&#12405;&#12390;&#12367;&#12373;&#12428;&#12390;&#12289;&#24067;&#22243;&#12395;&#12367;&#12427;&#12414;&#12426;&#12394;&#12364;&#12425;&#27875;&#12356;&#12390;&#12356;&#12427;&#26178;&#12395;&#12289;&#21021;&#12417;&#12390;&#27515;&#12434;&#24847;&#35672;&#12375;&#12383;&#12290;&lt;br/&gt;
&#12392;&#12356;&#12387;&#12390;&#12418;&#12289;&#27597;&#35242;&#12395;&#27578;&#12373;&#12428;&#12381;&#12358;&#12395;&#12394;&#12387;&#12383;&#12392;&#12363;&#12289;&#12354;&#12414;&#12426;&#12398;&#12402;&#12393;&#12356;&#20181;&#25171;&#12385;&#12395;&#33258;&#27578;&#12434;&#32771;&#12360;&#12383;&#12392;&#12363;&#12391;&#12399;&#12394;&#12367;&#12289;
&#27597;&#35242;&#12398;&#35328;&#12356;&#25918;&#12387;&#12383;&#12289;&#31354;&#12363;&#12425;&#12402;&#12356;&#12362;&#12400;&#12354;&#12385;&#12419;&#12435;&#12364;&#35211;&#12390;&#12427;&#12382;&#12289;&#12392;&#12356;&#12358;&#12424;&#12358;&#12394;&#24847;&#21619;&#12398;&#35328;&#33865;&#12395;&#12388;&#12356;&#12390;&#32771;&#12360;&#12390;&#12356;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#20840;&#12367;&#12367;&#12384;&#12425;&#12394;&#12356;&#33029;&#12375;&#12434;&#35328;&#12387;&#12383;&#12418;&#12398;&#12384;&#12392;&#24605;&#12358;&#12369;&#12393;&#12289;&#12459;&#12540;&#12486;&#12531;&#12398;&#38553;&#38291;&#12363;&#12425;&#26311;&#12387;&#12383;&#22812;&#31354;&#12434;&#35223;&#12356;&#12390;&#12415;&#12390;&#12289;&#20170;&#26085;&#12399;&#26311;&#12387;&#12390;&#12427;&#12363;&#12425;&#22823;&#19976;&#22827;&#12384;&#12394;&#12289;&#12392;&#24605;&#12387;&#12383;&#12398;&#12434;&#35226;&#12360;&#12390;&#12356;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#26311;&#12387;&#12383;&#31354;&#12392;&#12289;&#38281;&#12414;&#12387;&#12383;&#12459;&#12540;&#12486;&#12531;&#12391;&#12289;&#33029;&#12375;&#12398;&#21177;&#26524;&#12399;&#12394;&#12363;&#12387;&#12383;&#12364;&#12289;
&#12381;&#12398;&#35328;&#33865;&#12363;&#12425;&#12289;&#27515;&#12435;&#12384;&#24460;&#12418;&#24847;&#35672;&#12364;&#23384;&#32154;&#12375;&#32154;&#12369;&#12427;&#12398;&#12384;&#12289;&#12392;&#12356;&#12358;&#27010;&#24565;&#12434;&#24863;&#12376;&#21462;&#12387;&#12383;&#12395;&#36949;&#12356;&#12394;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;&#24403;&#26178;&#30693;&#12426;&#24471;&#12383;&#30693;&#35672;&#12363;&#12425;&#12289;&#27515;&#12392;&#12399;&#12289;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&#30496;&#12427;&#12424;&#12358;&#12394;&#12418;&#12398;&#12391;&#12289;&lt;/li&gt;
&lt;li&gt;&#24687;&#12434;&#12375;&#12390;&#12394;&#12367;&#12390;&#12289;&lt;/li&gt;
&lt;li&gt;&#12375;&#12419;&#12409;&#12428;&#12394;&#12356;&#12289;&lt;/li&gt;
&lt;li&gt;&#29123;&#12420;&#12373;&#12428;&#12427;&#12289;&lt;/li&gt;
&lt;li&gt;&#22475;&#12417;&#12425;&#12428;&#12427;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&#12392;&#12356;&#12358;&#12418;&#12398;&#12384;&#12387;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#24847;&#35672;&#12398;&#20027;&#20307;&#12364;&#12289;&#33075;&#12392;&#12356;&#12358;&#29289;&#29702;&#30340;&#23481;&#22120;&#12395;&#26463;&#32283;&#12373;&#12428;&#12390;&#12356;&#12390;(&#12371;&#12398;&#35469;&#35672;&#12398;&#27491;&#12375;&#12373;&#12399;&#20027;&#24373;&#12375;&#12394;&#12356;&#12364;)&#12289;
&#29123;&#12420;&#12373;&#12428;&#12383;&#12425;&#12394;&#12367;&#12394;&#12387;&#12390;&#12375;&#12414;&#12358;&#12392;&#12356;&#12358;&#12371;&#12392;&#12377;&#12425;&#12431;&#12363;&#12387;&#12390;&#12394;&#12363;&#12387;&#12383;&#12398;&#12391;&#12289;
&#30496;&#12426;&#12394;&#12364;&#12425;&#12289;&#24687;&#12434;&#27490;&#12417;&#12390;(&#12371;&#12371;&#12414;&#12391;&#12399;&#12420;&#12387;&#12390;&#12415;&#12383;)&#12289;&#29123;&#12420;&#12373;&#12428;&#12390;&#12289;&#22475;&#12417;&#12425;&#12428;&#12427;&#12289;&#12381;&#12398;&#38291;&#20013;&#12378;&#12387;&#12392;&#21899;&#12428;&#12394;&#12356;&#12398;&#12364;&#20309;&#21313;&#24180;&#12418;(&#27704;&#36960;&#12395;!)&#32154;&#12367;&#12398;&#12434;&#24819;&#20687;&#12375;&#12390;&#24598;&#12367;&#12394;&#12426;&#12289;
&#20840;&#28982;&#27875;&#12365;&#27490;&#12414;&#12394;&#12367;&#12390;&#12289;&#12371;&#12398;&#26178;&#12400;&#12363;&#12426;&#12399;&#21427;&#12375;&#12367;&#12375;&#12377;&#12366;&#12383;&#12392;&#24605;&#12387;&#12383;&#12398;&#12363;&#12289;&#12381;&#12398;&#26217;&#12384;&#12369;&#12399;&#27597;&#35242;&#12399;&#20778;&#12375;&#12363;&#12387;&#12383;&#12289;&#12392;&#24605;&#12358;&#12398;&#12399;&#32654;&#21270;&#12373;&#12428;&#12383;&#35352;&#25014;&#12363;&#12418;&#12375;&#12428;&#12394;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;&#20170;&#12391;&#12399;&#12289;&#27515;&#12399;&#12381;&#12358;&#12356;&#12358;&#12418;&#12398;&#12391;&#12399;&#12394;&#12356;&#12289;&#12392;&#12431;&#12363;&#12387;&#12390;&#12399;&#12356;&#12427;&#12418;&#12398;&#12398;&#12289;&#12354;&#12398;&#26178;&#35211;&#12383;&#27515;&#12398;&#12452;&#12513;&#12540;&#12472;&#12399;&#20170;&#12391;&#12418;&#27531;&#12387;&#12390;&#12356;&#12390;&#12289;&#27515;&#12395;&#23550;&#12375;&#12390;&#12399;&#24754;&#12375;&#12373;&#12424;&#12426;&#12418;&#24656;&#24598;&#12289;&#26178;&#12395;&#12399;&#24996;&#12426;&#12377;&#12425;&#35226;&#12360;&#12427;&#12290;&lt;/p&gt;</description>
      <pubDate>Thu, 25 Feb 2010 10:02:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:fcc15f24-4b87-49e9-b413-da65726e12de</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/02/25/death</link>
      <category>noise</category>
      <category>life</category>
      <category>image processing</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8659</trackback:ping>
    </item>
    <item>
      <title>gem install opencv</title>
      <description>&lt;p&gt;port&#12394;&#12393;&#12391;opencv&#12434;&#20837;&#12428;&#12390;&#12289;&#26222;&#36890;&#12395;&#12420;&#12427;&#12392;cxcore.h &#12364;&#12394;&#12356;&#12392;&#12363;&#25991;&#21477;&#35328;&#12431;&#12428;&#12427;&#12398;&#12391;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#12278; sudo gem install opencv -- --with-opencv-include=/opt/local/include/opencv&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12392;&#12420;&#12387;&#12383;&#12425;&#12356;&#12369;&#12383;&#12290;&lt;/p&gt;

&lt;h5&gt;&#21442;&#32771;:&lt;/h5&gt;

&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/shokai/20081228/1230495478"&gt;opencv&#12398;ruby&#12496;&#12452;&#12531;&#12487;&#12451;&#12531;&#12464;&#12364;&#20837;&#12425;&#12394;&#12356; - &#27211;&#26412;&#35443;&#35299;&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 15 Mar 2009 05:28:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:371b1b83-c49e-4e23-b495-9db1be3ff69a</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2009/03/15/gem-install-opencv</link>
      <category>tech</category>
      <category>image processing</category>
      <category>ruby</category>
      <category>opencv</category>
      <category>gem</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8639</trackback:ping>
    </item>
    <item>
      <title>Web&#29992;&#30011;&#20687;&#20966;&#29702;&#35328;&#35486;purl&#12395;Gyazo&#12514;&#12472;&#12517;&#12540;&#12523;&#36861;&#21152;</title>
      <description>&lt;p&gt;purl &#12395;Gyazo&#12514;&#12472;&#12517;&#12540;&#12523;&#12434;&#36861;&#21152;&#12375;&#12414;&#12375;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#12487;&#12501;&#12457;&#12523;&#12488;&#29872;&#22659;&#12395;&#12399;&#12525;&#12540;&#12489;&#12373;&#12428;&#12394;&#12356;&#12398;&#12391;&#12289;&#33258;&#20998;&#12391;&#12525;&#12540;&#12489;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Purl::Purl.new&lt;/code&gt; &#12398;&#12354;&#12383;&#12426;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;# app/controllers/purl_controller.rb&lt;/span&gt;
&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;PurlController&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="ident"&gt;caches_page&lt;/span&gt; &lt;span class="symbol"&gt;:filter&lt;/span&gt;

  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;filter&lt;/span&gt;
    &lt;span class="keyword"&gt;begin&lt;/span&gt;
      &lt;span class="ident"&gt;result&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;StackMachine&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;
        &lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:commands&lt;/span&gt;&lt;span class="punct"&gt;],&lt;/span&gt; &lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;&lt;span class="punct"&gt;{|&lt;/span&gt;&lt;span class="ident"&gt;p&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt; &lt;span class="ident"&gt;p&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;load_feature&lt;/span&gt; &lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Features&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Gyazo&lt;/span&gt;&lt;span class="punct"&gt;}).&lt;/span&gt;&lt;span class="ident"&gt;run&lt;/span&gt;
      &lt;span class="ident"&gt;send_data&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;result&lt;/span&gt;&lt;span class="punct"&gt;[-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="punct"&gt;],&lt;/span&gt; &lt;span class="symbol"&gt;:type&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;result&lt;/span&gt;&lt;span class="punct"&gt;[-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="punct"&gt;],&lt;/span&gt; &lt;span class="symbol"&gt;:disposition&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;inline&lt;/span&gt;&lt;span class="punct"&gt;')&lt;/span&gt;
    &lt;span class="keyword"&gt;rescue&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;e&lt;/span&gt;
      &lt;span class="ident"&gt;render&lt;/span&gt; &lt;span class="symbol"&gt;:status&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;500&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:text&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;error&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
    &lt;span class="keyword"&gt;end&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;&#12467;&#12540;&#12489;&#20363;&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/purl/(a7d96c2ff64900f507ef9c8dab99f983):gyazo:5:round:5:5:5:5:extend:5:dropshadow:to.png&lt;/code&gt;
&lt;img src="http://purl.netswitch.jp/purl/(a7d96c2ff64900f507ef9c8dab99f983):gyazo:5:round:5:5:5:5:extend:5:dropshadow:to.png" alt="gyazo"/&gt;&lt;/p&gt;

&lt;h5&gt;&#21442;&#32771;:&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.netswitch.jp/articles/2008/10/23/purl-image-processing-language-with-rails"&gt;&#27770;&#23450;&#29256;! Rails&#29992;&#30011;&#20687;&#28155;&#20184;&#12503;&#12521;&#12464;&#12452;&#12531;purl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Thu, 30 Oct 2008 18:11:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:7f1ef042-00ac-440b-91fe-9cf277bbc1cd</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2008/10/30/gyazo-module-for-purl</link>
      <category>web</category>
      <category>tech</category>
      <category>image processing</category>
      <category>ruby</category>
      <category>rails_plugin</category>
      <category>purl</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8637</trackback:ping>
    </item>
    <item>
      <title>&#27770;&#23450;&#29256;! Rails&#29992;&#30011;&#20687;&#28155;&#20184;&#12503;&#12521;&#12464;&#12452;&#12531;purl</title>
      <description>&lt;p&gt;Rails plugin&#12392;&#12375;&#12390;&#21205;&#12367;&#35328;&#35486;&#12289;purl&#12434;&#20844;&#38283;&#12375;&#12414;&#12375;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;purl &#12399;&#12463;&#12521;&#12452;&#12450;&#12531;&#12488;&#12469;&#12452;&#12489;&#12363;&#12425;&#26580;&#36575;&#12394;&#30011;&#20687;&#20966;&#29702;&#12434;&#34892;&#12358;&#12383;&#12417;&#12395;&#38283;&#30330;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;
&#12469;&#12512;&#12493;&#12452;&#12523;&#12398;&#29983;&#25104;&#12394;&#12393;&#12434;&#34892;&#12358;&#12503;&#12521;&#12464;&#12452;&#12531;&#12399;&#12356;&#12367;&#12388;&#12363;&#12354;&#12426;&#12414;&#12377;&#12364;&#12289;&#12381;&#12398;&#12393;&#12428;&#12424;&#12426;&#12418;&#24375;&#21147;&#12391;&#27726;&#29992;&#24615;&#12289;&#25313;&#24373;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;h2&gt;&#12475;&#12483;&#12488;&#12450;&#12483;&#12503;&lt;/h2&gt;

&lt;p&gt;Rails2.1&#20197;&#19978;&#12391;&#12399;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ script/plugin install git://github.com/nanki/purl.git&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12381;&#12428;&#26410;&#28288;&#12391;&#12399;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ git clone git://github.com/nanki/purl.git -- vendor/plugins/purl&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;git&#12364;&#28961;&#12356;&#29872;&#22659;&#12394;&#12425;&#12289;&lt;a href="http://github.com/nanki/purl/tree/master"&gt;github&lt;/a&gt;&#12398;download&#12363;&#12425;&#12501;&#12449;&#12452;&#12523;&#12434;&#33853;&#12392;&#12375;&#12390;&#12289;vendor/plugins/ &#12395;&#37197;&#32622;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&lt;/p&gt;

&lt;h3&gt;&#20381;&#23384;&#12521;&#12452;&#12502;&#12521;&#12522;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&#24517;&#38920;: ImageMagick, rmagick&lt;/li&gt;
&lt;li&gt;&#12354;&#12387;&#12383;&#26041;&#12364;&#12356;&#12356;: cairo, rcairo&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#12381;&#12398;&#20182;&lt;/h3&gt;

&lt;p&gt;purl &#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#29872;&#22659;&#12391;&#12399;&#12289;&#30011;&#20687;&#12398;&#20445;&#23384;&#12395;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#21033;&#29992;&#12375;&#12414;&#12377;&#12290;
images&#12486;&#12540;&#12502;&#12523;&#12395;&#12289;blob&#22411;&#12398;data&#12459;&#12521;&#12512;&#12434;&#36861;&#21152;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;# app/models/image.rb&lt;/span&gt;
&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Image&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ActiveRecord&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Base&lt;/span&gt;
  &lt;span class="ident"&gt;attr_readonly&lt;/span&gt; &lt;span class="symbol"&gt;:data&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12381;&#12398;&#19978;&#12391;&#12289;ImageController#upload &#12394;&#12393;&#12395;&#20197;&#19979;&#12398;&#12424;&#12358;&#12395;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;# app/controllers/image_controller.rb&lt;/span&gt;
&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;ImageController&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;upload&lt;/span&gt;
    &lt;span class="constant"&gt;Image&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;create&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:data&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:data&lt;/span&gt;&lt;span class="punct"&gt;].&lt;/span&gt;&lt;span class="ident"&gt;read&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12373;&#12425;&#12395;&#12289;config/routes.rb&#12434;&#26360;&#12365;&#26367;&#12360;&#12289;purl &#12364;&#23455;&#34892;&#12373;&#12428;&#12427;&#12424;&#12358;&#12395;&#12375;&#12414;&#12377;&#12290;
&#26360;&#12367;&#22580;&#25152;&#12399;&#20808;&#38957;&#12395;&#36817;&#12356;&#26041;&#12364;&#12356;&#12356;&#12392;&#24605;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;# config/routes.rb&lt;/span&gt;
  &lt;span class="ident"&gt;map&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;connect&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;purl/:commands&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt;
    &lt;span class="symbol"&gt;:controller&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;purl&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt; &lt;span class="symbol"&gt;:action&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;filter&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt; &lt;span class="symbol"&gt;:commands&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="regex"&gt;.*&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;# app/controllers/purl_controller.rb&lt;/span&gt;
&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;PurlController&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="ident"&gt;caches_page&lt;/span&gt; &lt;span class="symbol"&gt;:filter&lt;/span&gt;

  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;filter&lt;/span&gt;
    &lt;span class="keyword"&gt;begin&lt;/span&gt;
      &lt;span class="ident"&gt;result&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;StackMachine&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;
        &lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:commands&lt;/span&gt;&lt;span class="punct"&gt;],&lt;/span&gt; &lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Purl&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;run&lt;/span&gt;
      &lt;span class="ident"&gt;send_data&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;result&lt;/span&gt;&lt;span class="punct"&gt;[-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="punct"&gt;],&lt;/span&gt; &lt;span class="symbol"&gt;:type&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;result&lt;/span&gt;&lt;span class="punct"&gt;[-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="punct"&gt;],&lt;/span&gt; &lt;span class="symbol"&gt;:disposition&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;inline&lt;/span&gt;&lt;span class="punct"&gt;')&lt;/span&gt;
    &lt;span class="keyword"&gt;rescue&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;e&lt;/span&gt;
      &lt;span class="ident"&gt;render&lt;/span&gt; &lt;span class="symbol"&gt;:status&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;500&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:text&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;error&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
    &lt;span class="keyword"&gt;end&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12381;&#12435;&#12394;&#12371;&#12435;&#12394;&#12391;&#12475;&#12483;&#12488;&#12450;&#12483;&#12503;&#12399;&#32066;&#12431;&#12426;&#12290;&lt;/p&gt;

&lt;h2&gt;&#35328;&#35486;&lt;/h2&gt;

&lt;p&gt;purl &#12399;URL&#19978;&#12391;&#35352;&#36848;&#12373;&#12428;&#12427;&#12371;&#12392;&#12434;&#21069;&#25552;&#12392;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;
&#24120;&#12395;&#12527;&#12531;&#12521;&#12452;&#12490;&#12540;&#12391;&#12354;&#12428;&#65281;&lt;/p&gt;

&lt;h3&gt;&#25991;&#27861;&lt;/h3&gt;

&lt;p&gt;purl &#12399;&#36870;&#12509;&#12540;&#12521;&#12531;&#12489;&#35352;&#27861;&#12434;&#25505;&#29992;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;
&#12487;&#12540;&#12479;&#12392;&#21629;&#20196;&#12434;&#26360;&#12363;&#12428;&#12383;&#38918;&#30058;&#12395;&#12473;&#12479;&#12483;&#12463;&#12510;&#12471;&#12531;&#12395;&#12503;&#12483;&#12471;&#12517;&#12375;&#12390;&#12356;&#12365;&#12289;&#21629;&#20196;&#12364;&#23455;&#34892;&#12373;&#12428;&#12383;&#32080;&#26524;&#12364;&#12473;&#12479;&#12483;&#12463;&#12510;&#12471;&#12531;&#19978;&#12395;&#12388;&#12414;&#12428;&#12390;&#12356;&#12365;&#12414;&#12377;&#12290;
&#21629;&#20196;&#21015;&#12399;&#26368;&#21021;&#12395;:&#12391;&#21306;&#20999;&#12425;&#12428;&#12289;&#25968;&#23383;&#12392;&#12375;&#12390;&#12497;&#12540;&#12473;&#12391;&#12365;&#12427;&#12418;&#12398;&#12399;&#25968;&#23383;&#12408;&#12289;()&#12391;&#22258;&#12431;&#12428;&#12383;&#37096;&#20998;&#12399;&#25991;&#23383;&#21015;&#12408;&#12392;&#22793;&#25563;&#12373;&#12428;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;h3&gt;&#12509;&#12522;&#12471;&#12540;&lt;/h3&gt;

&lt;p&gt;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#29992;&#24847;&#12373;&#12428;&#12427;&#20840;&#12390;&#12398;&#21629;&#20196;&#12399;&#12289;&#22806;&#37096;&#12398;&#20516;&#12395;&#20381;&#23384;&#12375;&#12414;&#12379;&#12435;&#12290;
&#12388;&#12414;&#12426;&#12289;&#21629;&#20196;&#21015;&#12364;&#27770;&#12414;&#12428;&#12400;&#23455;&#34892;&#32080;&#26524;&#12399;&#30906;&#23450;&#12375;&#12414;&#12377;&#12290;
&#12371;&#12398;&#12509;&#12522;&#12471;&#12540;&#12395;&#12424;&#12426;&#12289;&#20840;&#12390;&#12398;&#23455;&#34892;&#32080;&#26524;&#12364;&#12461;&#12515;&#12483;&#12471;&#12517;&#21487;&#33021;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;h2&gt;&#12469;&#12531;&#12503;&#12523;&#12467;&#12540;&#12489;&lt;/h2&gt;

&lt;h3&gt;&#30011;&#20687;&#12434;&#12381;&#12398;&#12414;&#12414;&#34920;&#31034;&lt;/h3&gt;

&lt;p&gt;&#27425;&#12398;&#20363;&#12391;&#12399;&#12289;load &#12399;&#12473;&#12479;&#12483;&#12463;&#19978;&#12395;&#26082;&#12395;&#12354;&#12427;&#25968;&#23383;1&#12434;&#28040;&#36027;&#12375;&#12390;&#12289;ID=1&#12398;Image#data&#12434;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12363;&#12425;&#12525;&#12540;&#12489;&#12375;&#12390;&#12289;&#12473;&#12479;&#12483;&#12463;&#19978;&#12395;&#12503;&#12483;&#12471;&#12517;&#12375;&#12414;&#12377;&#12290;
to.png &#12391;&#12399;&#12289;&#12473;&#12479;&#12483;&#12463;&#19978;&#12398;&#30011;&#20687;&#12487;&#12540;&#12479;&#12434;PNG&#24418;&#24335;&#12398;&#12496;&#12452;&#12488;&#21015;&#12395;&#22793;&#25563;&#12375;&#12289;mimetype&#12392;&#12392;&#12418;&#12395;&#12473;&#12479;&#12483;&#12463;&#19978;&#12395;&#31309;&#12415;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/1:load:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/1:load:to.png" alt=""/&gt;&lt;/p&gt;

&lt;h3&gt;&#30011;&#20687;&#12398;&#24418;&#24335;&#12434;&#22793;&#25563;&lt;/h3&gt;

&lt;p&gt;&#27425;&#12398;&#20363;&#12391;&#12399;&#12289;&#30011;&#20687;&#12434;GIF&#24418;&#24335;&#12395;&#22793;&#25563;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/1:load:to.gif&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/1:load:to.gif" alt=""/&gt;&lt;/p&gt;

&lt;h3&gt;&#30011;&#20687;&#12398;&#12522;&#12469;&#12452;&#12474;&lt;/h3&gt;

&lt;p&gt;&#27425;&#12398;&#20363;&#12391;&#12399;&#12289;&#30011;&#20687;&#12434;100x100&#12395;&#12522;&#12469;&#12452;&#12474;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;
&#12522;&#12469;&#12452;&#12474;&#29992;&#12398;&#21629;&#20196;&#12399;&#12289;&#20309;&#31278;&#39006;&#12363;&#29992;&#24847;&#12373;&#12428;&#12390;&#12362;&#12426;&#12289;&#39640;&#12373;&#12434;&#19968;&#23450;&#12395;&#20445;&#12388; resize.height&#12420;&#12289;&#19978;&#38480;&#12434;&#25351;&#23450;&#12377;&#12427;&#12289;resize.upto &#12394;&#12393;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/1:load:100:100:resize:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/1:load:100:100:resize:to.png" alt=""/&gt;&lt;/p&gt;

&lt;h3&gt;&#30011;&#20687;&#12398;&#21512;&#25104;&lt;/h3&gt;

&lt;p&gt;&#27425;&#12398;&#20363;&#12391;&#12399;&#12405;&#12383;&#12388;&#12398;&#30011;&#20687;&#12434;&#21512;&#25104;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/1:load:9:load:composite:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/1:load:8:load:composite:to.png" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;&#27425;&#12398;&#20363;&#12391;&#12399;&#38918;&#30058;&#12434;&#20837;&#12428;&#26367;&#12360;&#12390;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/1:load:9:load:swap:composite:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/1:load:8:load:swap:composite:to.png" alt=""/&gt;&lt;/p&gt;

&lt;h3&gt;&#12467;&#12513;&#12531;&#12488;&lt;/h3&gt;

&lt;p&gt;&#12473;&#12479;&#12483;&#12463;&#12395;&#31309;&#12435;&#12384;&#24460;&#12377;&#12368;&#12395;pop&#12377;&#12427;&#12392;&#12289;&#21336;&#32020;&#12395;&#28961;&#35222;&#12373;&#12428;&#12427;&#12398;&#12391;&#12289;&#12467;&#12513;&#12531;&#12488;&#12392;&#12375;&#12390;&#20351;&#12360;&#12414;&#12377;&#12290;
&#12461;&#12515;&#12483;&#12471;&#12517;&#12398;&#12521;&#12452;&#12501;&#12469;&#12452;&#12463;&#12523;&#12467;&#12531;&#12488;&#12525;&#12540;&#12523;&#12394;&#12393;&#12395;&#20351;&#12360;&#12427;&#12392;&#24605;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/1:load:(daily):pop:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;&#22259;&#24418;&#12398;&#25551;&#30011;&lt;/h3&gt;

&lt;p&gt;&#35443;&#12375;&#12367;&#12399;&#35299;&#35500;&#12375;&#12414;&#12379;&#12435;&#12364;&#12289;&#35430;&#39443;&#30340;&#12395;cairo&#12398;&#25551;&#30011;&#27231;&#33021;&#12434;&#12505;&#12540;&#12473;&#12395;&#12375;&#12383;&#22259;&#24418;&#25551;&#30011;&#21629;&#20196;&#12434;&#29992;&#24847;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;
ctx&#21629;&#20196;&#12391;&#12289;&#25351;&#23450;&#12375;&#12383;&#12469;&#12452;&#12474;&#12398;cairo&#12467;&#12531;&#12486;&#12461;&#12473;&#12488;&#12434;&#28310;&#20633;&#12375;&#12289;xtc&#21629;&#20196;&#12391;&#23455;&#38555;&#12395;&#12469;&#12540;&#12501;&#12455;&#12540;&#12473;&#12408;&#12398;&#25551;&#30011;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;/purl/80:80:ctx:40:40:moveto:40:40:40:-20:20:arc.ccw:1:0.3:0:rgb:fill:60:20:4:circle:0:0:0:rgb:fill:xtc:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/80:80:ctx:40:40:moveto:40:40:40:-20:20:arc.ccw:1:0.3:0:rgb:fill:60:20:4:circle:0:0:0:rgb:fill:xtc:to.png" alt=""/&gt;&lt;/p&gt;

&lt;h2&gt;&#21046;&#38480;&lt;/h2&gt;

&lt;p&gt;&#23455;&#34892;&#32080;&#26524;&#12434;&#12501;&#12449;&#12452;&#12523;&#12392;&#12375;&#12390;&#12461;&#12515;&#12483;&#12471;&#12517;&#12377;&#12427;&#22580;&#21512;&#12289;&#12501;&#12449;&#12452;&#12523;&#12471;&#12473;&#12486;&#12512;&#12395;&#12424;&#12427;&#23383;&#25968;&#21046;&#38480;&#12434;&#21463;&#12369;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;h2&gt;&#25313;&#24373;&lt;/h2&gt;

&lt;p&gt;&#25313;&#24373;&#12399;&#21629;&#20196;&#12514;&#12472;&#12517;&#12540;&#12523;&#12398;&#36861;&#21152;&#12392;&#12356;&#12358;&#24418;&#12391;&#34892;&#12356;&#12414;&#12377;&#12290;
&#35443;&#12375;&#12367;&#12399;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#35211;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&lt;/p&gt;

&lt;h2&gt;&#20170;&#24460;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&#28961;&#21517;&#38306;&#25968;&#30340;&#12394;&#12418;&#12398;&#12290;&lt;/li&gt;
&lt;li&gt;&#22806;&#37096;&#12363;&#12425;&#30452;&#25509;&#21628;&#12403;&#20986;&#12379;&#12394;&#12356;&#21629;&#20196;&#12392;&#12363;&#65311;&lt;/li&gt;
&lt;li&gt;&#12456;&#12521;&#12540;&#12513;&#12483;&#12475;&#12540;&#12472;&#12392;&#12363;&#65311;&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;&#21442;&#32771;:&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.netswitch.jp/articles/2008/02/23/purl-runtime"&gt;Purl&#23455;&#34892;&#29872;&#22659;!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/nanki/purl/tree/master"&gt;purl - github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/nanki/purl/wikis"&gt;purl wiki - github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Thu, 23 Oct 2008 10:15:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:1ac0576b-19f3-4cf1-b766-b63b893596c6</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2008/10/23/purl-image-processing-language-with-rails</link>
      <category>web</category>
      <category>tech</category>
      <category>image processing</category>
      <category>ruby</category>
      <category>javascript</category>
      <category>rails</category>
      <category>rails_plugin</category>
      <category>ruby</category>
      <category>purl</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8636</trackback:ping>
    </item>
    <item>
      <title>&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#36766;&#26360; - Life Lexicon.dictionary</title>
      <description>&lt;p&gt;&lt;img src="/files/superstring.png" alt="superstring"/&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.netswitch.jp/articles/2007/11/26/user-dictionary-for-dictionary-app"&gt;&#21069;&#22238;&lt;/a&gt;&#20316;&#25104;&#12375;&#12383;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#36766;&#26360;&#12434;&#12385;&#12423;&#12371;&#12387;&#12392;&#35519;&#25972;&#12375;&#12390;&#12289;Quartz Composition&#12418;&#12424;&#12426;&#26222;&#36890;&#12398;&#26360;&#12365;&#26041;&#12434;&#12377;&#12427;&#12424;&#12358;&#12395;&#30452;&#12375;&#12390;&#12415;&#12383;&#12398;&#12391;&#20844;&#38283;&#12290;
(&#21069;&#12398;&#12399;&#12289;&#19968;&#12501;&#12524;&#12540;&#12512;&#21069;&#12434;&#21462;&#12427;&#12383;&#12417;&#12395;JavaScript&#12398;Math&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12395;&#12503;&#12525;&#12497;&#12486;&#12451;&#12434;&#20316;&#12387;&#12390;&amp;#8230;)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;LifeLexicon.zip &#12434;&#23637;&#38283;&#12375;&#12390;&#12391;&#12365;&#12383;Life Lexicon.dictionary &#12434; ~/Library/Dictionaries &#20197;&#19979;&#12395;&#31227;&#21205;&#12290;&lt;/li&gt;
&lt;li&gt;Dictionary.app&#12434;&#20877;&#36215;&#21205;&#12290;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&#20027;&#12394;&#20351;&#12356;&#26041;&#12399;&#12289;&#23431;&#23449;(&#21205;&#12356;&#12390;&#12427;&#40658;&#12356;&#12398;)&#12434;&#24038;&#12463;&#12522;&#12483;&#12463;&#12391;&#12522;&#12475;&#12483;&#12488;&#12289;AppleRemote&#12391;&#20572;&#27490;&#12289;&#12473;&#12486;&#12483;&#12503;&#20877;&#29983;&#12394;&#12393;&#12290;&lt;/p&gt;

&lt;p&gt;download: &lt;a href="/files/LifeLexicon.zip"&gt;LifeLexicon.zip(OS X 10.5&#29992;)&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;&#21442;&#32771;:&lt;/h5&gt;

&lt;p&gt;&lt;a href="http://blog.netswitch.jp/articles/2007/11/26/user-dictionary-for-dictionary-app"&gt;netswitch! | OSX&#12398;&#12518;&#12540;&#12470;&#36766;&#26360;&#12398;&#20316;&#12426;&#26041;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;          &lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=netswitch-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4535783837&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr&amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
&lt;/p&gt;</description>
      <pubDate>Sat, 12 Apr 2008 08:40:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:bfcd7654-dfa8-49bb-ac3c-3d37539bc5e3</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2008/04/12/life-lexicon-for-leopard</link>
      <category>life</category>
      <category>image processing</category>
      <category>quartz</category>
      <category>life</category>
      <category>mac</category>
      <enclosure type="image/png" url="http://blog.netswitch.jp/files/superstring.png" length="15542"/>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8614</trackback:ping>
    </item>
    <item>
      <title>Purl &#23455;&#34892;&#29872;&#22659;!</title>
      <description>&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/1:load:3:shadow:medium:to.png" alt="shadow"/&gt;&lt;/p&gt;

&lt;p&gt;:&#21306;&#20999;&#12426;&#12398;&#36870;&#12509;&#12540;&#12521;&#12531;&#12489;&#35352;&#27861;&#35328;&#35486;&#12289;purl&#12398;&#12521;&#12531;&#12479;&#12452;&#12512;&#12434;&#20844;&#38283;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://purl.netswitch.jp/purl/1:load:3:shadow:medium:to.png&lt;/code&gt;&lt;br/&gt;
&#19978;&#12398;&#30011;&#20687;&#12398;URL&#12364;&#12381;&#12398;&#12414;&#12414;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12395;&#12394;&#12387;&#12390;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://purl.netswitch.jp/image/"&gt;&#12371;&#12385;&#12425;&lt;/a&gt;&#12363;&#12425;&#30011;&#20687;&#12434;&#12450;&#12483;&#12503;&#12525;&#12540;&#12489;&#12377;&#12427;&#12392;&#12289;&#32113;&#21512;&#38283;&#30330;&#29872;&#22659;&#12395;&#39131;&#12403;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://purl.netswitch.jp/image/ide/1"&gt;&#12371;&#12435;&#12394;&#12363;&#12435;&#12376;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/3:load:80:80:resize:to.png" alt="ruby"/&gt;
&#8594;
&lt;img src="http://purl.netswitch.jp/purl/3:load:40:40:resize:5:5:5:5:extend:180:rotate:5:5:5:5:extend:80:rotate:dup:5:dropshadow:dup:composite:45:rotate:to.png" alt="ruby"/&gt;&lt;/p&gt;

&lt;p&gt;&#12392;&#12356;&#12387;&#12383;&#12371;&#12392;&#12364;&#12289;URL&#12384;&#12369;&#12391;&#23455;&#29694;&#21487;&#33021;&#12290;&lt;/p&gt;</description>
      <pubDate>Sat, 23 Feb 2008 21:47:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:8a4b86bf-a3fd-4519-9151-183a85164a4d</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2008/02/23/purl-runtime</link>
      <category>web</category>
      <category>tech</category>
      <category>image processing</category>
      <category>javascript</category>
      <category>purl</category>
      <category>ruby</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8610</trackback:ping>
    </item>
    <item>
      <title>&#12503;&#12525;&#12464;&#12521;&#12511;&#12531;&#12464;&#35328;&#35486; purl &#12434; ruby &#12391;&#23455;&#35013;</title>
      <description>&lt;p&gt;&#35328;&#35486;&#20966;&#29702;&#31995;&#12434;&#23455;&#35013;&#12377;&#12427;&#12398;&#12399;&#12289;&#21021;&#12417;&#12390;&#65288;&#12384;&#12392;&#24605;&#12358;&#65289;&lt;/p&gt;

&lt;p&gt;PostScript &#12394;&#12393;&#12392;&#21516;&#12376;&#36870;&#12509;&#12540;&#12521;&#12531;&#12489;&#39080;&#12398;&#35328;&#35486;&#12391;&#12289;&#30011;&#20687;&#20966;&#29702;&#29992;&#36884;&#12290;&lt;/p&gt;

&lt;p&gt;&#20197;&#19979;purl&#12398;&#12477;&#12540;&#12473;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;2:load:dup:2:shadow:swap:composite:geom:1:load:100:100:4:pull:4:pull:crop:swap:composite:to.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;:&#12364;&#12522;&#12486;&#12521;&#12523;&#12398;&#21306;&#20999;&#12426;&#12289;&#12381;&#12398;&#20182;&#12399;&#25968;&#23383;&#12392;&#28436;&#31639;&#23376;&#12290;
&#19978;&#12398;&#12467;&#12540;&#12489;&#12391;&#12399;&#12289;2&#30058;&#12398;&#30011;&#20687;&#12434;&#12525;&#12540;&#12489;&#12375;&#12390;&#12289;&#12489;&#12525;&#12483;&#12503;&#12471;&#12515;&#12489;&#12454;&#12375;&#12383;&#12418;&#12398;&#12395;1&#30058;&#12398;&#30011;&#20687;&#12434;&#32972;&#26223;&#12392;&#12375;&#12390;&#21512;&#25104;&#12375;&#12390;&#12356;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#20013;&#12395;&#25913;&#34892;&#12399;&#20837;&#12428;&#12425;&#12428;&#12394;&#12356;&#12290;&#20309;&#25925;&#12394;&#12425;&#12467;&#12540;&#12489;&#12399;URL&#12398;&#19968;&#37096;&#12384;&#12363;&#12425;&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;img src="/files/2-load-dup-2-shadow-swap-composite-geom-1-load-100-100-4-pull-4-pull-crop-swap-composite-to.png" alt="sample"/&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 21 Feb 2008 01:40:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:38300108-de78-4325-abbb-9203bec62214</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2008/02/21/programming-language-purl-on-ruby</link>
      <category>web</category>
      <category>noise</category>
      <category>tech</category>
      <category>life</category>
      <category>image processing</category>
      <category>ruby</category>
      <category>purl</category>
      <category>ruby</category>
      <enclosure type="image/png" url="http://blog.netswitch.jp/files/2-load-dup-2-shadow-swap-composite-geom-1-load-100-100-4-pull-4-pull-crop-swap-composite-to.png" length="18926"/>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8609</trackback:ping>
    </item>
    <item>
      <title>OSX&#12398;&#12518;&#12540;&#12470;&#36766;&#26360;&#12398;&#20316;&#12426;&#26041;</title>
      <description>&lt;p&gt;Leopard&#12363;&#12425;&#12399;&#12289;&#23567;&#23398;&#39208;&#12398;&#36766;&#26360;&#12487;&#12540;&#12479;&#12392;Wikipedia&#12364;&#36861;&#21152;&#12373;&#12428;&#12390;&#12289;&#12392;&#12387;&#12390;&#12418;&#20415;&#21033;&#12394;Dictionary.app.&lt;/p&gt;

&lt;p&gt;&#12383;&#12406;&#12435;&#12289;&#12461;&#12540;&#12508;&#12540;&#12489;&#20351;&#29992;&#12434;&#21069;&#25552;&#12392;&#12375;&#12383;&#23567;&#27671;&#21619;&#12424;&#12356;&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12364;&#12356;&#12356;&#12435;&#12384;&#12392;&#24605;&#12358;&#12290;
&#24931;&#12428;&#12390;&#12375;&#12414;&#12358;&#12392;&#12289;&#12418;&#12358;&#29983;&#12398;Wikipedia&#12434;&#20351;&#12358;&#27671;&#12399;&#12394;&#12363;&#12394;&#12363;&#36215;&#12365;&#12394;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12358;&#12394;&#12427;&#12392;&#12289;&#12394;&#12435;&#12391;&#12418;&#12363;&#12435;&#12391;&#12418;&#12289;&#21516;&#12376;&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12391;&#28168;&#12414;&#12379;&#12383;&#12367;&#12394;&#12427;&#12418;&#12398;&#12391;&#12289;&#12381;&#12435;&#12394;&#26178;&#12395;&#12289;&lt;a href="http://www.argentum.freeserve.co.uk/lex_a.htm"&gt;&#12371;&#12435;&#12394;&#26908;&#32034;&#12375;&#12395;&#12367;&#12356;&#12506;&#12540;&#12472;&lt;/a&gt;&#12434;&#35211;&#12383;&#12425;&#12289;&#12300;Dictionary.app&#12391;&#26908;&#32034;&#12391;&#12365;&#12390;&#28982;&#12427;&#12409;&#12365;&#12301;&#12392;&#24605;&#12387;&#12390;&#12375;&#12414;&#12358;&#12398;&#12364;&#33258;&#28982;&#12394;&#27969;&#12428;&#12290;&lt;/p&gt;

&lt;p&gt;&#12392;&#12356;&#12358;&#12431;&#12369;&#12391;&#12289;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#12398;&#36766;&#26360;&#12289;Life Lexicon&#12434;Dictionary.app&#29992;&#12395;&#22793;&#25563;&#12375;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&#12414;&#12378;&#12399;&#12289;&#12486;&#12531;&#12503;&#12524;&#12540;&#12488;&#12434;&#12467;&#12500;&#12540;&#12375;&#12390;&#12367;&#12427;&#12290;
&#35430;&#12375;&#12395;make&#12377;&#12427;&#12392;&#12289;&#12354;&#12387;&#12373;&#12426;&#36766;&#26360;&#12364;&#20316;&#12425;&#12428;&#12427;&#12290;
make install&#12377;&#12428;&#12400;&#12289;~/Library/Dictionaries &#20197;&#19979;&#12395;&#12467;&#12500;&#12540;&#12373;&#12428;&#12289;Dictionary.app&#12363;&#12425;&#26908;&#32034;&#12391;&#12365;&#12427;&#29366;&#24907;&#12395;&#12394;&#12427;&#12290;(Dictionary.app&#12398;&#29872;&#22659;&#35373;&#23450;&#12391;&#26377;&#21177;&#12395;&#12375;&#12394;&#12356;&#12392;&#12384;&#12417;&#12363;&#12418;)&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ cp -r /Developer/Examples/Dictionary Development Kit/project_templates dict
$ cd dict
$ make
&amp;quot;&amp;quot;&amp;quot;/Developer/Extras/Dictionary Development Kit&amp;quot;/bin&amp;quot;/build_dict.sh&amp;quot;  &amp;quot;My Dictionary&amp;quot; MyDictionary.xml MyDictionary.css MyInfo.plist
- Building My Dictionary.dictionary.
- Cleaning objects directory.
- Preparing dictionary template.
- Preprocessing dictionary sources.
- Extracting index data.
- Preparing dictionary bundle.
- Adding body data.
- Preparing index data.
- Building key_text index.
- Building reference index.
- Fixing dictionary property.
- Copying CSS.
- Copying other resources.
- Finished building ./objects/My Dictionary.dictionary.
echo &amp;quot;Done.&amp;quot;
Done.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#37325;&#35201;&#12394;&#12398;&#12399;&#12289;MyDictionary.xml&#12501;&#12449;&#12452;&#12523;&#12290;
&#36766;&#26360;&#12398;&#20803;&#12392;&#12394;&#12427;&#12487;&#12540;&#12479;&#12434;&#12497;&#12540;&#12473;&#12375;&#12390;&#12289;XML&#12501;&#12449;&#12452;&#12523;&#12434;&#20316;&#12387;&#12390;&#12420;&#12427;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_xml "&gt;&lt;span class="punct"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="tag"&gt;xml&lt;/span&gt; &lt;span class="attribute"&gt;version&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;1.0&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="attribute"&gt;encoding&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;UTF-8&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;?&amp;gt;&lt;/span&gt;                                                                               
&lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="tag"&gt;dictionary&lt;/span&gt; &lt;span class="attribute"&gt;xmlns&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;http://www.w3.org/1999/xhtml&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="namespace"&gt;xmlns&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="attribute"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;http://www.apple.com/DTDs/DictionaryService-1.0.rng&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;    
  &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="tag"&gt;entry&lt;/span&gt; &lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;blinker puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="attribute"&gt;title&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;blinker puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;                                                             
    &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="tag"&gt;index&lt;/span&gt; &lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;blinker puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="attribute"&gt;title&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;blinker puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="punct"&gt;/&amp;gt;&lt;/span&gt;                                                    
    &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="tag"&gt;index&lt;/span&gt; &lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="attribute"&gt;value&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="attribute"&gt;title&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;blinker puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="punct"&gt;/&amp;gt;&lt;/span&gt;                                                            
    &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;h1&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;span&lt;/span&gt; &lt;span class="attribute"&gt;class&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;headword&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;blinker puffer&lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;span&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;h1&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;                                                            
    &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;span&lt;/span&gt; &lt;span class="attribute"&gt;class&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;meaning&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;Any &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;a&lt;/span&gt; &lt;span class="attribute"&gt;href&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;x-dictionary:r:puffer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;puffer&lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;a&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt; whose output is &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;a&lt;/span&gt; &lt;span class="attribute"&gt;href&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;x-dictionary:r:blinker&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;blinker&lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;a&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;s.  However, the term is particularly used for p8 c/2 puffers.  ....
    &lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;span&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="tag"&gt;entry&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="comment"&gt;&amp;lt;!-- &#20197;&#19979;d:entry &#12398;&#23665; --&amp;gt;&lt;/span&gt;
&lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="namespace"&gt;d&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt;&lt;span class="tag"&gt;dictionary&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#24847;&#21619;&#12399;&#12411;&#12392;&#12435;&#12393;&#35211;&#12383;&#30446;&#36890;&#12426;&#12290;&lt;br/&gt;
&#12381;&#12428;&#12382;&#12428;&#12398;&#38917;&#30446;&#12399;&#12289;&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;&#12392;&#20869;&#23481;&#12398;XHTML&#12391;&#27083;&#25104;&#12373;&#12428;&#12427;&#12290;
&#20182;&#12398;&#21336;&#35486;&#12434;&#21442;&#29031;&#12377;&#12427;&#12289;href=&amp;#8221;x-dictionary:r:ID&amp;#8221;&#12392;&#12363;&#12364;&#29305;&#24500;&#30340;&#12363;&#12290;
&#19978;&#12398;&#20363;&#12391;&#12399;&#12300;blinker puffer&#12301;&#12392;&#12356;&#12358;&#21336;&#35486;&#12395;&#23550;&#12375;&#12390;&#12289;puffer&#12391;&#12418;&#26908;&#32034;&#12395;&#24341;&#12387;&#12363;&#12363;&#12387;&#12390;&#27442;&#12375;&#12356;&#12398;&#12391;&#12289;index&#12395;&#21152;&#12360;&#12390;&#12354;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#12497;&#12540;&#12473;&#12375;&#12390;XML&#12434;&#21520;&#12367;&#12467;&#12540;&#12489;&#12399;&#12289;&#27726;&#29992;&#24615;&#12364;&#12394;&#12356;&#12398;&#12391;&#12371;&#12371;&#12395;&#12399;&#36617;&#12379;&#12394;&#12356;&#12364;&#12289;&#20170;&#22238;&#12399;&#20197;&#19979;&#12398;&#12424;&#12358;&#12394;Life&#12434;&#34920;&#12377;&#22259;&#12434;&#12289;rcairo&#12391;png&#30011;&#20687;&#12395;&#22793;&#25563;&#12418;&#12375;&#12390;&#12356;&#12427;&#12290;&lt;/p&gt;

&lt;pre&gt;
OO..
O..O
..OO
&lt;/pre&gt;

&lt;p&gt;&#30011;&#20687;&#12394;&#12393;&#12398;&#12522;&#12477;&#12540;&#12473;&#12399;&#12289;dict/OtherResources &#20197;&#19979;&#12398;&#36969;&#24403;&#12394;&#22580;&#25152;&#12395;&#32622;&#12356;&#12390;&#12362;&#12365;&#12289;&#26222;&#36890;&#12398;HTML&#12398;&#12424;&#12358;&#12395;&#12289;&lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt;&#12479;&#12464;&#12434;&#20351;&#12387;&#12390;&#22475;&#12417;&#36796;&#12416;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_xml "&gt;&lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;p&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;img&lt;/span&gt; &lt;span class="attribute"&gt;src&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;Images/blinker%20puffer_0.png&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;p&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12371;&#12428;&#12391;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ make
$ make install&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12377;&#12428;&#12400;&#12289;&#12518;&#12540;&#12470;&#36766;&#26360;&#12398;&#23436;&#25104;&#12290;&lt;/p&gt;

&lt;h4&gt;&#32154;&#12365;&lt;/h4&gt;

&lt;p&gt;&#12373;&#12390;&#12289;&#12371;&#12428;&#12384;&#12369;&#12391;&#32066;&#12431;&#12426;&#12391;&#12399;&#12418;&#12387;&#12383;&#12356;&#12394;&#12356;&#12398;&#12391;&#12289;&#20808;&#26085;&#20316;&#12387;&#12383;Quartz Composition&#12434;&#32068;&#12415;&#36796;&#12417;&#12394;&#12356;&#12363;&#12289;&#38929;&#24373;&#12387;&#12390;&#12415;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;HTML&#12395;Quartz Composition&#12434;&#32068;&#12415;&#36796;&#12416;&#12398;&#12399;&#31777;&#21336;&#12391;&#12289;EMBED&#12479;&#12464;&#12434;&#20351;&#12387;&#12390;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_xml "&gt;&lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;embed&lt;/span&gt; &lt;span class="attribute"&gt;id&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;composition&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="attribute"&gt;type&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;application/x-quartzcomposer&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="attribute"&gt;src&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;LifeLexicon.qtz&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="attribute"&gt;width&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;300px&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="attribute"&gt;height&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;300px&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt; &lt;span class="punct"&gt;/&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12392;&#12377;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12428;&#12391;&#12289;&#26222;&#36890;&#12398;&#12512;&#12540;&#12499;&#12540;&#12394;&#12425;&#12473;&#12479;&#12540;&#12488;&#12377;&#12427;&#12398;&#12384;&#12369;&#12393;&#12289;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#12394;&#12398;&#12391;&#31532;0&#19990;&#20195;&#12398;&#30011;&#20687;&#12434;&#28193;&#12375;&#12390;&#12420;&#12425;&#12394;&#12356;&#12392;&#12356;&#12369;&#12394;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;Quartz Composer&#12398;WebKit&#12503;&#12521;&#12464;&#12452;&#12531;&#12395;&#12399;JavaScript API&#12364;&#29992;&#24847;&#12373;&#12428;&#12390;&#12356;&#12390;&#12289;publish&#12375;&#12383;&#12497;&#12521;&#12513;&#12540;&#12479;&#12434;&#35373;&#23450;&#12391;&#12365;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12390;&#12356;&#12427;&#12290;
&#12364;&#12289;&#25991;&#23383;&#21015;&#12375;&#12363;&#35373;&#23450;&#12391;&#12365;&#12394;&#12356;&#12424;&#12358;&#12384;&#12290;&#30011;&#20687;&#12399;&#12393;&#12358;&#12420;&#12387;&#12390;&#28193;&#12377;&#12398;&#12384;&#12429;&#12358;&#12290;&lt;/p&gt;

&lt;p&gt;&#35519;&#12409;&#12390;&#12415;&#12427;&#12392;&#12289;Composition&#12398;&#20013;&#12391;&#12289;Image Downloader&#12392;&#12356;&#12358;&#12497;&#12483;&#12481;&#12434;&#20351;&#12358;&#12425;&#12375;&#12356;&#12290;
Image Downloader&#12399;&#25351;&#23450;&#12373;&#12428;&#12383;URL&#12398;&#30011;&#20687;&#12434;Image&#12392;&#12375;&#12390;&#20986;&#21147;&#12377;&#12427;&#12497;&#12483;&#12481;&#12290;
&#12394;&#12427;&#12411;&#12393;&#12290;
ImageDownloader&#12398;&#20837;&#21147;&#12434;&#12289;imageLocation&#12392;&#12356;&#12358;&#21517;&#21069;&#12391;Publish&#12375;&#12390;&#12539;&#12539;&#12539;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_javascript "&gt;var composition = document.getElementById(&amp;quot;composition&amp;quot;);
composition.setInputValue(&amp;quot;imageLocation&amp;quot;, &amp;quot;fullpath.png&amp;quot;);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12371;&#12435;&#12394;&#24863;&#12376;&#12395;&#12394;&#12427;&#12398;&#12363;&#12394;&#12290;
&#12375;&#12363;&#12375;&#12289;&#12501;&#12523;&#12497;&#12473;&#25351;&#23450;&#12376;&#12419;&#12394;&#12356;&#12392;&#12356;&#12369;&#12394;&#12356;&#12398;&#12364;&#38754;&#20498;&#12384;&#12394;&#12353;&#12539;&#12539;&#12539;&lt;/p&gt;

&lt;p&gt;&#20808;&#29983;&#12289;&#12371;&#12385;&#12425;&#12395;&#12391;&#12365;&#12354;&#12364;&#12387;&#12383;&#12418;&#12398;&#12364;&#29992;&#24847;&#12375;&#12390;&#12354;&#12426;&#12414;&#12377;&#12290;    &lt;/p&gt;

&lt;p&gt;&#32080;&#23616;&#12289;location.href &#12392;&#12289;EMBED&#12395;&#21213;&#25163;&#12395;&#20184;&#12369;&#21152;&#12360;&#12383;image&#23646;&#24615;&#12363;&#12425;&#12289;&#12501;&#12523;&#12497;&#12473;&#12434;&#21462;&#24471;&#12377;&#12427;&#20181;&#32068;&#12415;&#12395;&#12290;
&#25991;&#20013;&#12398;Space&#12399;Composition&#12392;&#12356;&#12358;&#12363;&#12289;Universe&#12392;&#12356;&#12358;&#12363;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_javascript "&gt;//LifeLexicon.js
(function () {
  var waitForSpaces = function (spaces) {
    if (spaces.length == 0) return;

    if (spaces[0].loaded &amp;amp;&amp;amp; spaces[0].loaded()) {
      var space = spaces.shift();
      var base = location.href.substr(0, location.href.lastIndexOf(&amp;quot;/&amp;quot;))
      space.setInputValue(&amp;quot;imageLocation&amp;quot;, base + space.getAttribute('image'));
    } 

    with ({callee: arguments.callee}) {
      setTimeout(function () {callee(spaces)}, 100);
    }
  };

  var arrayFromNodeList = function (nodelist) {
    var result = [];
    for (var i = 0; i &amp;lt; nodelist.length; i++) {
      result.push(nodelist.item(i));
    }
    return result;
  };

  waitForSpaces(arrayFromNodeList(document.getElementsByTagName('EMBED'))); 
})();&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12394;&#12380;&#12363;&#12289;&lt;code&gt;&amp;lt;script src="LifeLexicon.js"&amp;gt;&lt;/code&gt;&#12384;&#12392;&#35501;&#12415;&#36796;&#12414;&#12428;&#12394;&#12356;&#12398;&#12391;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_xml "&gt;&lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;
  var tag = document.createElement(&amp;quot;SCRIPT&amp;quot;);
  tag.src = &amp;quot;./LifeLexicon.js&amp;quot;;
  document.getElementsByTagName(&amp;quot;HEAD&amp;quot;)[0].appendChild(tag);
&lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12392;&#12356;&#12358;&#12467;&#12540;&#12489;&#12418;&#12289;&lt;code&gt;&amp;lt;d:entry&amp;gt;&lt;/code&gt;&#20869;&#12395;&#22475;&#12417;&#36796;&#12416;&#12424;&#12358;&#12395;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12428;&#12391;&#12300;&#29983;&#12365;&#12383;&#12301;LifeLexicon&#12364;&#23436;&#25104;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;img src="/files/LifeLexicon.png" alt="LifeLexicon"/&gt;&lt;/p&gt;

&lt;p&gt;CREDIT&#12434;&#12393;&#12371;&#12363;&#12395;&#20837;&#12428;&#12394;&#12356;&#12392;&#37197;&#24067;&#12391;&#12365;&#12394;&#12356;&#12425;&#12375;&#12356;&#12398;&#12391;&#12289;&#27442;&#12375;&#12356;&#20154;&#12395;&#12399;&#30452;&#25509;&#36865;&#12426;&#12414;&#12377;&#12290;
&#12356;&#12394;&#12356;&#12384;&#12429;&#12358;&#12369;&#12393;&#12290;&lt;/p&gt;

&lt;p&gt;&#35504;&#12363;&#12289;Ruby Reference Manual&#12434;&#12371;&#12428;&#12391;&#12290;&lt;/p&gt;

&lt;h5&gt;&#21442;&#32771;:&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.argentum.freeserve.co.uk/lex.htm"&gt;Life Lexicon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.apple.com/documentation/UserExperience/Conceptual/DictionaryServicesProgGuide/index.html"&gt;Dictionary Services Programming Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.apple.com/documentation/InternetWeb/Conceptual/QuartzComposer_PlugIn_ProgGuide/index.html"&gt;Quartz Composer Web Kit Plug-in JavaScript Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Mon, 26 Nov 2007 04:20:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:ed7a3f54-3176-408d-b19f-5b609e094d21</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2007/11/26/user-dictionary-for-dictionary-app</link>
      <category>noise</category>
      <category>tech</category>
      <category>life</category>
      <category>image processing</category>
      <category>ruby</category>
      <category>javascript</category>
      <category>osx</category>
      <category>life</category>
      <enclosure type="image/png" url="http://blog.netswitch.jp/files/LifeLexicon.png" length="45717"/>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8598</trackback:ping>
    </item>
    <item>
      <title>Quartz Composer - Conway's Game of Life - &#23431;&#23449;&#22823;&#27770;&#25126;</title>
      <description>&lt;p&gt;9&#26376;&#12363;&#12425;&#21322;&#20998;Mac&#12518;&#12540;&#12470;&#12395;&#12394;&#12387;&#12383;&#12398;&#12391;&#12289;Mac&#12398;&#38283;&#30330;&#29872;&#22659;&#12418;&#35302;&#12387;&#12390;&#12415;&#12424;&#12358;&#24605;&#12356;&#12289;&#12414;&#12378;&#12399;&#27005;&#12375;&#12381;&#12358;&#12394;Quartz Composer&#12395;&#25163;&#12434;&#20986;&#12375;&#12390;&#12415;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#22522;&#26412;&#30340;&#12395;&#12399;&#12289;Patch&#12392;&#21628;&#12400;&#12428;&#12427;&#37096;&#21697;&#12434;&#12388;&#12394;&#12366;&#21512;&#12431;&#12379;&#12390;&#12503;&#12525;&#12464;&#12521;&#12511;&#12531;&#12464;&#12375;&#12390;&#12356;&#12367;&#12418;&#12398;&#12384;&#12364;&#12289;Programmable&#12394;Patch&#12418;&#19977;&#31278;&#39006;(JavaScript, GLSL, Kernel Language?)&#29992;&#24847;&#12373;&#12428;&#12390;&#12356;&#12390;&#12289;&#24460;&#32773;&#20108;&#12388;&#12399;&#26368;&#36817;&#27969;&#34892;?&#12398;&#12505;&#12463;&#12488;&#12523;&#25351;&#21521;&#12394;&#35328;&#35486;&#12290;&lt;/p&gt;

&lt;p&gt;&#20197;&#21069;&#12363;&#12425;&#12289;GPU&#12398;&#12471;&#12455;&#12540;&#12480;&#35328;&#35486;&#12391;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#12434;&#26360;&#12356;&#12390;&#35211;&#12383;&#12363;&#12387;&#12383;&#12398;&#12391;&#12289;&#12486;&#12540;&#12510;&#12399;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#12395;&#27770;&#23450;&#12290;
KOF2007&#12398;&#25031;&#35242;&#20250;&#12391;&#12289;&#23567;&#27874;&#20808;&#29983;&#12289;&#27744;&#19978;&#12373;&#12435;&#12392;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#12398;&#35441;&#38988;&#12391;&#30427;&#12426;&#19978;&#12364;&#12387;&#12383;&#12398;&#12418;&#29702;&#30001;&#12290;&lt;/p&gt;

&lt;p&gt;&#12513;&#12452;&#12531;&#12392;&#12394;&#12427;Kernel Language&#12398;&#12467;&#12540;&#12489;&#12399;&#20197;&#19979;&#12290;
&#30011;&#20687;&#12398;&#12354;&#12427;&#19968;&#28857;&#12398;&#33394;&#12434;&#27770;&#12417;&#12427;&#12467;&#12540;&#12489;&#12434;&#26360;&#12369;&#12400;&#12289;&#12354;&#12392;&#12399;&#21213;&#25163;&#12395;&#12505;&#12463;&#12488;&#12523;&#21270;&#12375;&#12390;&#12367;&#12428;&#12390;&#12356;&#12427;&#12399;&#12378;&#12290;&lt;br/&gt;
(&#12383;&#12406;&#12435;&#12289;&#12505;&#12463;&#12488;&#12523;&#21270;&#12398;&#12383;&#12417;&#12395;)&#26222;&#36890;&#12398;if&#25991;&#12399;&#20351;&#12360;&#12394;&#12356;&#12398;&#12391;&#12289;compare&#38306;&#25968;&#12434;&#20351;&#12358;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;kernel __color conway(sampler image)
{
    float self = sample(image, samplerCoord(image)).r;

    float lives;
    lives  = sample(image, samplerCoord(image) + vec2( 1, -1)).r;
    lives += sample(image, samplerCoord(image) + vec2( 0, -1)).r;
    lives += sample(image, samplerCoord(image) + vec2(-1, -1)).r;
    lives += sample(image, samplerCoord(image) + vec2( 1,  0)).r;
    lives += sample(image, samplerCoord(image) + vec2(-1,  0)).r;
    lives += sample(image, samplerCoord(image) + vec2( 1,  1)).r;
    lives += sample(image, samplerCoord(image) + vec2( 0,  1)).r;
    lives += sample(image, samplerCoord(image) + vec2(-1,  1)).r;

    const float dead  = 0.0;
    const float alive = 1.0;
    float compare4 = compare(lives - 3.5, alive, dead);

    float r = compare(
        self - 0.5,
        compare(lives - 2.5, dead, compare4),
        compare(lives - 1.5, dead, compare4)
    );

    return __color(r, r, r, 1);
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12381;&#12428;&#12363;&#12425;&#12289;1step&#21069;&#12398;&#29366;&#24907;&#12364;&#24517;&#35201;&#12394;&#12398;&#12391;&#12289;JavaScript&#12391;&#20197;&#19979;&#12398;&#12424;&#12358;&#12394;Patch&#12418;&#20316;&#25104;&#12290;
&#12501;&#12524;&#12540;&#12512;&#12434;&#12414;&#12383;&#12364;&#12387;&#12390;&#20516;&#12434;&#20445;&#25345;&#12377;&#12427;&#12395;&#12399;&#12289;Object&#12363;Math&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12395;&#20516;&#12434;&#20837;&#12428;&#12390;&#12362;&#12369;&#12400;&#12424;&#12356;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_javascript "&gt;function (__image output) main (__image input, __image initial, __number dummy) {
  var result = {output: Object.prev || initial};
  Object.prev = input;
  return result;
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#24460;&#12399;&#36969;&#24403;&#12395;Patch&#12434;&#32068;&#12415;&#21512;&#12431;&#12379;&#12390;&#12356;&#12369;&#12400;&#12289;&#23436;&#25104;&#12290;&lt;br/&gt;
Apple Remote&#12391;&#12467;&#12531;&#12488;&#12525;&#12540;&#12523;&#12375;&#12383;&#12426;&#12289;&#12473;&#12463;&#12522;&#12540;&#12531;&#12475;&#12540;&#12496;&#12395;&#12375;&#12383;&#12426;&#12289;1&#12501;&#12524;&#12540;&#12512;&#12391;3step&#36914;&#12417;&#12383;&#12426;&#12375;&#12394;&#12369;&#12428;&#12400;&#12289;&#12418;&#12358;&#12385;&#12423;&#12387;&#12392;&#21336;&#32020;&#12395;&#12394;&#12427;&#12290;&lt;br/&gt;
&lt;img src="/files/composer.png" alt="quartz composer screenshot"/&gt;&lt;/p&gt;

&lt;p&gt;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;&#12398;&#12523;&#12540;&#12523;&#12395;&#12388;&#12356;&#12390;&#12399;Wikipedia&#12434;&#21442;&#29031;&#12375;&#12390;&#12356;&#12383;&#12384;&#12367;&#12392;&#12375;&#12390;&#12289;&#33258;&#20998;&#12398;&#21608;&#22258;9&#12510;&#12473;&#12363;&#12425;&#27425;&#12398;&#29366;&#24907;&#12434;&#27770;&#23450;&#12377;&#12427;&#12289;&#12392;&#12356;&#12358;&#38750;&#24120;&#12395;&#12525;&#12540;&#12459;&#12523;&#12391;&#21336;&#32020;&#12394;&#12523;&#12540;&#12523;&#12363;&#12425;&#12289;&#12354;&#12414;&#12426;&#12395;&#35079;&#38609;&#12391;&#22823;&#22495;&#30340;&#12394;&#30330;&#23637;&#12364;&#32368;&#12426;&#24195;&#12370;&#12425;&#12428;&#12427;&#27096;&#12399;&#12289;&#23431;&#23449;&#12420;&#29983;&#21629;&#12392;&#12356;&#12387;&#12383;&#22766;&#22823;&#12394;&#12418;&#12398;&#12434;&#36899;&#24819;&#12373;&#12379;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;img src="/files/max_vs_glider_guns.png" alt="max vs glider guns"/&gt;&lt;br/&gt;
&#12521;&#12452;&#12501;&#12466;&#12540;&#12510;&#12540;&#24517;&#35211;&#65281;&#12418;&#12398;&#12377;&#12372;&#12356;&#21218;&#12356;&#12391;&#23431;&#23449;&#12434;&#28024;&#39135;&#12377;&#12427;max&#12392;&#12289;MIT&#12364;&#38283;&#30330;&#12375;&#12383;&#12464;&#12521;&#12452;&#12480;&#12540;&#12460;&#12531;&#12398;&#12289;&#23431;&#23449;&#12434;&#36077;&#12369;&#12383;&#38360;&#12356;&#12290;&lt;/p&gt;

&lt;h4&gt;&#21442;&#32771;:&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://ja.wikipedia.org/wiki/&#12521;&#12452;&#12501;&#12466;&#12540;&#12512;"&gt;&#12521;&#12452;&#12501;&#12466;&#12540;&#12512; - Wikipedia&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 18 Nov 2007 04:17:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:1e44455d-9720-47d4-b2cc-55ca0704692a</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2007/11/18/conways-game-of-life-in-quartz-composer</link>
      <category>tech</category>
      <category>life</category>
      <category>image processing</category>
      <category>lifegame</category>
      <enclosure type="image/png" url="http://blog.netswitch.jp/files/max_vs_glider_guns.png" length="10107"/>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8597</trackback:ping>
    </item>
  </channel>
</rss>
