<?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!</title>
    <link>http://blog.netswitch.jp</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Objective-J&#12362;&#12424;&#12403;Cappuccino&#12392;&#12381;&#12398;vim&#35036;&#23436; 2</title>
      <description>&lt;p&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lJrOcHxq6vc&amp;amp;hl=ja_JP&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lJrOcHxq6vc&amp;amp;hl=ja_JP&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.netswitch.jp/articles/2009/02/05/cappuccino-objective-j-vim-completion"&gt;&#21069;&#22238;&#12398;&#12456;&#12531;&#12488;&#12522;&lt;/a&gt;&#12363;&#12425;&#26089;&#19968;&#24180;&#21322;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://280atlas.com/"&gt;Atlas&lt;/a&gt;&#12398;&#12505;&#12540;&#12479;&#12503;&#12525;&#12464;&#12521;&#12512;&#12418;&#12356;&#12388;&#12398;&#38291;&#12395;&#12363;&#12473;&#12479;&#12540;&#12488;&#12375;&#12390;&#12289;&#24515;&#36493;&#12427;&#12493;&#12479;&#12434;&#25552;&#20379;&#12375;&#12390;&#12367;&#12428;&#12427;Objective-J/Cappuccino.&lt;/p&gt;

&lt;p&gt;&#19968;&#26041;&#20693;&#12399;VimScript&#12434;&#25913;&#33391;&#12375;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#20027;&#12394;&#25913;&#21892;&#28857;&#12399;&#12289;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[]&#12434;&#33258;&#21205;&#12391;&#36861;&#21152;&lt;/li&gt;
&lt;li&gt;&#20195;&#20837;&#12395;&#12424;&#12427;&#22793;&#25968;&#12398;&#22411;&#25512;&#28204;&lt;/li&gt;
&lt;li&gt;&#23450;&#25968;&#12434;&#35036;&#23436;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#36861;&#21152;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Objective-C&#12420;Objective-J&#12391;&#12399;&#12289;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#32154;&#12369;&#12390;&#36865;&#12427;&#22580;&#21512;&#12289;[]&#12434;&#20837;&#12428;&#23376;&#12395;&#26360;&#12363;&#12394;&#12356;&#12392;&#12356;&#12369;&#12394;&#12367;&#12390;&#12289;&#12363;&#12394;&#12426;&#33510;&#30171;&#12394;&#12398;&#12384;&#12364;&#12289;&#30452;&#21069;&#12398;&#23550;&#24540;&#12377;&#12427;[&#12398;&#21069;&#12395;[&#12434;&#33258;&#21205;&#25407;&#20837;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;  [CPView alloc] init
  // &#9759;
  [[CPView alloc] init]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12392;&#12356;&#12358;&#35036;&#23436;&#12364;&#34892;&#12431;&#12428;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12383;&#12290;&lt;/p&gt;</description>
      <pubDate>Sat, 10 Jul 2010 13:15:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:d1ed2d4f-4237-44de-aa38-27e908e3301f</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/07/10/cappuccino-objective-j-vim-completion-2</link>
      <category>web</category>
      <category>tech</category>
      <category>javascript</category>
      <category>objective</category>
      <category>j</category>
      <category>cappuccino</category>
      <category>vim</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8667</trackback:ping>
    </item>
    <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>iPad&#12507;&#12523;&#12480;&#12540;&#12395;&#12362;&#12377;&#12377;&#12417;&#12398;&#12450;&#12503;&#12522;n&#20491;</title>
      <description>&lt;h2&gt;&lt;a href="http://itunes.apple.com/jp/app/livesketch-hd/id364888269"&gt;LiveSketch HD&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pp8h97oCrX4&amp;amp;hl=ja_JP&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pp8h97oCrX4&amp;amp;hl=ja_JP&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;&#12371;&#12385;&#12425;&#12398;&#21205;&#30011;&#12391;&#26377;&#21517;&#12395;&#12394;&#12387;&#12383;&#12362;&#32117;&#25551;&#12365;&#12450;&#12503;&#12522;&#12290;
&#33258;&#20998;&#12364;&#25551;&#12356;&#12383;&#32218;&#20197;&#22806;&#12395;&#12289;&#36817;&#20621;&#12398;&#32218;&#12398;&#38291;&#12395;&#32048;&#12363;&#12356;&#32218;&#12434;&#25551;&#12365;&#20837;&#12428;&#12390;&#12367;&#12428;&#12427;&#12398;&#12391;&#12289;&#12377;&#12372;&#12356;&#19969;&#23527;&#12395;&#12473;&#12465;&#12483;&#12481;&#12375;&#12383;&#12415;&#12383;&#12356;&#12394;&#20986;&#26469;&#26144;&#12360;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#27005;&#12375;&#12356;&#12391;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&#12362;&#37329;&#12398;&#28961;&#12356;&#20154;&#12399;&#12289;&lt;a href="http://mrdoob.com/projects/harmony/"&gt;Harmony&lt;/a&gt;&#12434;&#12507;&#12540;&#12512;&#30011;&#38754;&#12395;&#20837;&#12428;&#12390;&#12362;&#12367;&#12392;&#12356;&#12356;&#12391;&#12377;&#12290;&#12392;&#12356;&#12358;&#12363;&#12371;&#12387;&#12385;&#12398;&#12411;&#12358;&#12364;&#12356;&#12429;&#12435;&#12394;&#12502;&#12521;&#12471;&#12364;&#36984;&#12409;&#12383;&#12426;&#12289;&#33394;&#12364;&#36984;&#12409;&#12383;&#12426;&#12392;&#12289;&#27231;&#33021;&#35914;&#23500;&#12384;&#12387;&#12383;&#12426;&#12377;&#12375;&#12414;&#12377;&#12290;
&#30701;&#25152;&#12399;&#12458;&#12501;&#12521;&#12452;&#12531;&#12391;&#20351;&#12360;&#12394;&#12356;&#20107;&#12392;&#12289;&#28040;&#12375;&#12468;&#12512;&#12364;&#28961;&#12356;&#12367;&#12425;&#12356;&#65311;&lt;/p&gt;

&lt;h2&gt;&lt;a href="http://itunes.apple.com/jp/app/gravilux/id367739550?mt=8"&gt;Gravilux&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&#25968;&#21315;&#12398;&#28857;&#12293;&#12364;&#12354;&#12394;&#12383;&#12398;&#25351;&#12395;&#12414;&#12392;&#12431;&#12426;&#12388;&#12356;&#12390;&#12367;&#12427;&#12450;&#12503;&#12522;&lt;/p&gt;

&lt;h2&gt;&lt;a href="http://itunes.apple.com/jp/app/noby-noby-boy/id355479163?mt=8"&gt;noby noby boy&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&#12398;&#12403;&#12398;&#12403;BOY&#12290;
&#12402;&#12418;&#29702;&#35542;&#12394;&#12393;&#12434;&#30740;&#31350;&#12375;&#12390;&#12356;&#12427;&#29702;&#31995;&#12398;&#20154;&#12383;&#12385;&#12395;&#12458;&#12473;&#12473;&#12513;&#12290;
&#12422;&#12427;&#12356;&#32016;&#29366;&#12398;&#12508;&#12540;&#12452;&#12434;&#24341;&#12387;&#12401;&#12387;&#12383;&#12426;&#12289;&#25391;&#12426;&#22238;&#12375;&#12383;&#12426;&#12375;&#12390;&#36938;&#12403;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&#24403;&#21021;&#12300;&#20181;&#20107;&#21177;&#29575;&#21270;&#12301;&#12459;&#12486;&#12468;&#12522;&#12395;&#12354;&#12387;&#12383;&#12424;&#12358;&#12395;&#12289;&#38750;&#24120;&#12395;&#39640;&#27231;&#33021;&#12391;&#12289;&#12459;&#12513;&#12521;(iPad&#12391;&#12399;&#28961;&#29702;&#65311;)&#12289;&#26178;&#35336;&#12289;&#38899;&#27005;&#12503;&#12524;&#12452;&#12516;&#12540;&#12289;&#12502;&#12521;&#12454;&#12470;&#12289;&#12513;&#12514;&#24115;&#12289;&#12513;&#12540;&#12523;&#12289;&#12362;&#32117;&#25551;&#12365;&#27231;&#33021;&#12394;&#12393;&#12434;*&#20869;&#34101;*&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&#29305;&#12395;&#12362;&#32117;&#25551;&#12365;&#27231;&#33021;&#12399;&#12289;&#12411;&#12392;&#12435;&#12393;&#21807;&#19968;&#12510;&#12523;&#12481;&#12479;&#12483;&#12481;&#12395;&#23550;&#24540;&#12375;&#12390;&#12356;&#12390;&#12289;&#21516;&#26178;&#12395;11&#26412;&#12398;&#32218;&#12434;&#25551;&#12367;&#20107;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&#12414;&#12383;&#12289;GPS&#12525;&#12462;&#12531;&#12464;&#27231;&#33021;&#20184;&#12365;&#12398;&#22320;&#22259;&#12418;&#20869;&#34101;&#12375;&#12390;&#12362;&#12426;&#12289;&#12371;&#12371;&#12391;&#36015;&#12417;&#12383;&#31227;&#21205;&#36317;&#38626;&#12399;&#23431;&#23449;&#12395;&#12356;&#12427;&#12398;&#12403;&#12398;&#12403;&#12460;&#12540;&#12523;&#12395;&#36865;&#20449;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#12398;&#12403;&#12398;&#12403;&#12460;&#12540;&#12523;&#12364;&#12393;&#12435;&#12393;&#12435;&#12398;&#12403;&#12398;&#12403;&#12289;&#22826;&#38525;&#31995;&#12434;&#26053;&#12375;&#12414;&#12377;&#12290;
&#12398;&#12403;&#12398;&#12403;&#26063;&#12399;&#12365;&#12387;&#12392;&#36914;&#21270;&#12375;&#12383;&#12450;&#12522;&#12398;&#20210;&#38291;&#12290;&lt;/p&gt;

&lt;p&gt;&#20844;&#24335;&#12469;&#12452;&#12488;&lt;a href="http://o--o.jp/"&gt;o&amp;#8212;&amp;#8212;&amp;#8211;=&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;o&lt;/a&gt;&#12418;&#27005;&#12375;&#12356;&#12290;
&#20225;&#30011;&#20250;&#35696;&#12398;&#27096;&#23376;&#12434;&#21205;&#30011;&#12391;&#35211;&#12425;&#12428;&#12414;&#12377;&#12290;
&#37325;&#12356;&#12394;&#12364;&#12425;&#12418;Flash&#19981;&#20351;&#29992;&#12391;&#12289;iPad&#12391;&#12418;&#35211;&#12425;&#12428;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q9NP-AeKX40&amp;amp;hl=ja_JP&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Q9NP-AeKX40&amp;amp;hl=ja_JP&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;&#12354;&#12392;&#29483;&#39164;&#12387;&#12390;&#12427;&#20154;&#12395;&#12418;&#12458;&#12473;&#12473;&#12513;&#12391;&#12365;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;h2&gt;&lt;a href="http://itunes.apple.com/jp/app/sunny3d/id365522880?mt=8"&gt;Sunny3D&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&#25163;&#26360;&#12365;&#12398;&#32117;&#12364;&#31435;&#20307;&#21270;&#12391;&#12365;&#12289;&#33394;&#12434;&#22615;&#12427;&#20107;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&lt;/p&gt;

&lt;p&gt;&#12469;&#12531;&#12503;&#12523; &lt;a href="http://nanki.posterous.com/18713921"&gt;iPad Sunny3D &#12391;&#25551;&#12356;&#12383;&#30011;&#20271;&#12398;&#12473;&#12503;&#12540;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&#38929;&#24373;&#12428;&#12400;&#12356;&#12356;&#24863;&#12376;&#12395;&#32117;&#12364;&#25551;&#12369;&#12427;&lt;a href="http://brushesapp.com/"&gt;Brushes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PC&#12398;&#12502;&#12483;&#12463;&#12510;&#12540;&#12463;&#12524;&#12483;&#12488;&#12363;&#12425;&#31777;&#21336;&#12395;pdf&#12394;&#12393;&#12398;URL&#12434;&#36865;&#12428;&#12427;&lt;a href="http://itunes.apple.com/jp/app/offline-pages/id364859644?mt=8"&gt;Offline Pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;iPad&#23550;&#24540;&#12398;&#22082;&#12364;&#23494;&#12363;&#12395;&#12373;&#12373;&#12420;&#12363;&#12428;&#12390;&#12356;&#12427;&lt;a href="http://dotswitch.net/services/rapidy/ja"&gt;&#26032;&#24185;&#32218;&#20104;&#32004;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;#8211;&lt;br/&gt;
&#24605;&#12356;&#12388;&#12356;&#12383;&#12392;&#12365;&#12395;&#22679;&#12420;&#12375;&#12390;&#12356;&#12365;&#12414;&#12377;&#12290;&lt;/p&gt;</description>
      <pubDate>Fri, 28 May 2010 15:55:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:f06159da-a578-4d74-95d7-08e2b9615e78</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/05/28/n-apps-for-ipad</link>
      <category>tech</category>
      <category>ipad</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8664</trackback:ping>
    </item>
    <item>
      <title>Ruby&#12391;IMAP&#12434;&#20351;&#12387;&#12390;GMail&#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;</title>
      <description>&lt;p&gt;&#12384;&#12356;&#12383;&#12356;&#20197;&#19979;&#12398;&#12424;&#12358;&#12394;&#24863;&#12376;&#12395;&#12394;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;password_from_keychain&lt;/code&gt;&#12399;OSX&#12398;keychain&#12363;&#12425;&#12497;&#12473;&#12527;&#12540;&#12489;&#12434;&#21462;&#12387;&#12390;&#12367;&#12427;&#12384;&#12369;&#12398;&#38306;&#25968;&#12290;&lt;/p&gt;

&lt;p&gt;GMail&#12398;Twitter&#12501;&#12457;&#12523;&#12480;(follow&#36890;&#30693;&#12513;&#12540;&#12523;&#12364;&#28316;&#12414;&#12427;)&#12398;&#20013;&#12363;&#12425;&#26410;&#35501;(UNSEEN)&#12398;&#12513;&#12540;&#12523;&#12434;&#25506;&#12375;&#12390;&#12365;&#12390;&#12289;&#12518;&#12540;&#12470;&#21517;&#12392;&#12362;&#12412;&#12375;&#12365;&#37096;&#20998;&#12434;&#25244;&#12365;&#20986;&#12375;&#12390;&#20986;&#21147;&#12289;&#26082;&#35501;&#12395;&#12377;&#12427;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;net/imap&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;

&lt;span class="comment"&gt;# for Mac&lt;/span&gt;
&lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;password_from_keychain&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;server&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;user&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;open3&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
  &lt;span class="ident"&gt;_&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;_&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;err&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Open3&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;popen3&lt;/span&gt;&lt;span class="punct"&gt;(&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;/usr/bin/security find-internet-password -s &lt;span class="expr"&gt;#{server}&lt;/span&gt; -a &lt;span class="expr"&gt;#{user}&lt;/span&gt; -r imap -g&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt;

  &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="regex"&gt;^password: &amp;quot;(.*)&amp;quot;$&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt; &lt;span class="punct"&gt;===&lt;/span&gt; &lt;span class="ident"&gt;err&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;gets&lt;/span&gt;
    &lt;span class="global"&gt;$1&lt;/span&gt;
  &lt;span class="keyword"&gt;else&lt;/span&gt;
    &lt;span class="constant"&gt;nil&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;SERVER&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;imap.gmail.com&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
&lt;span class="constant"&gt;USER&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;nanki@example.com&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
&lt;span class="ident"&gt;imap&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Net&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;IMAP&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="constant"&gt;SERVER&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="number"&gt;993&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="constant"&gt;true&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;

&lt;span class="ident"&gt;imap&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;login&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="constant"&gt;USER&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;password_from_keychain&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="constant"&gt;SERVER&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="constant"&gt;USER&lt;/span&gt;&lt;span class="punct"&gt;))&lt;/span&gt;
&lt;span class="ident"&gt;imap&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;select&lt;/span&gt;&lt;span class="punct"&gt;(&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;Twitter&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt;

&lt;span class="ident"&gt;imap&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;search&lt;/span&gt;&lt;span class="punct"&gt;(%w(&lt;/span&gt;&lt;span class="string"&gt;UNSEEN&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;msg&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt;
  &lt;span class="ident"&gt;body&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="ident"&gt;imap&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;fetch&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;msg&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;BODY[TEXT]&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)[&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;attr&lt;/span&gt;&lt;span class="punct"&gt;[&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;BODY[TEXT]&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;]&lt;/span&gt;

  &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="regex"&gt;twitter.com&lt;span class="escape"&gt;\/&lt;/span&gt;([^?&lt;span class="escape"&gt;\/&lt;/span&gt;]+)&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt; &lt;span class="punct"&gt;===&lt;/span&gt; &lt;span class="ident"&gt;body&lt;/span&gt;
    &lt;span class="ident"&gt;puts&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;f &lt;span class="expr"&gt;#{$1}&lt;/span&gt;&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
    &lt;span class="ident"&gt;imap&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;store&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;msg&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;+FLAGS&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt; &lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:Seen&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;</description>
      <pubDate>Thu, 20 May 2010 19:29:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:d0c23771-3a6f-40b7-9c35-d3c562a1a4c6</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/05/20/accessing-gmail-via-imap-in-ruby</link>
      <category>tech</category>
      <category>ruby</category>
      <category>ruby</category>
      <category>imap</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8663</trackback:ping>
    </item>
    <item>
      <title>JavaScript&#12398;&amp;lt;&amp;lt;&#12392;Math.pow&#12398;&#36949;&#12356;</title>
      <description>&lt;p&gt;&#26576;&#25152;&#12391;&#35441;&#38988;&#12395;&#12394;&#12387;&#12383;&#12398;&#12391;&#12414;&#12392;&#12417;&#12290;&lt;/p&gt;

&lt;p&gt;JavaScript&#12391;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;200 &amp;lt;&amp;lt; 24
=&amp;gt; -939524096

200 * Math.pow(2, 24)
=&amp;gt;3355443200&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12398;&#32080;&#26524;&#12364;&#36949;&#12358;&#12392;&#12356;&#12358;&#35441;&#12290;&lt;/p&gt;

&lt;p&gt;200 &#12364; 7~8bit&#12394;&#12398;&#12391;&#12289;&#12377;&#12368;&#12395;32bit&#12398;&#22721;&#12384;&#12392;&#12431;&#12363;&#12427;&#12364;&#12289;&#12371;&#12428;&#12399;&#20181;&#27096;&#12394;&#12398;&#12363;&#12289;&#23455;&#35013;&#12395;&#12424;&#12427;&#12418;&#12398;&#12394;&#12398;&#12363;&#12290;&lt;/p&gt;

&lt;p&gt;ECMA-262, p.76&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Let lref be the result of evaluating ShiftExpression.&lt;/li&gt;
&lt;li&gt;Let lval be GetValue(lref).&lt;/li&gt;
&lt;li&gt;Let rref be the result of evaluating AdditiveExpression.&lt;/li&gt;
&lt;li&gt;Let rval be GetValue(rref).&lt;/li&gt;
&lt;li&gt;Let lnum be ToInt32(lval).&lt;/li&gt;
&lt;li&gt;Let rnum be ToUint32(rval).&lt;/li&gt;
&lt;li&gt;Let shiftCount be the result of masking out all but the least significant 5 bits of rnum, that is, compute rnum &amp;amp; 0x1F.&lt;/li&gt;
&lt;li&gt;Return the result of left shifting lnum by shiftCount bits. &lt;strong&gt;The result is a signed 32-bit integer.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&#12388;&#12414;&#12426;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;(signed int32)(ToInt32(200) &amp;lt;&amp;lt; (ToUint32(24) &amp;amp; 0x1F))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12371;&#12358;&#12356;&#12358;&#24863;&#12376;&#12395;&#12394;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#32080;&#26524;&#12399;32bit&#31526;&#21495;&#20184;&#12365;&#25972;&#25968;&#12394;&#12398;&#12391;&#12289;&#12371;&#12358;&#12394;&#12427;&#12398;&#12399;&#20181;&#27096;&#12290;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf"&gt;ECMA-262 ECMAScript Language Specification 5th Edition&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Tue, 18 May 2010 22:26:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:78407eb0-d301-49eb-9a84-3f7f6873b294</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/05/18/strange-behavior-of-bitwise-operator-in-javascript</link>
      <category>javascript</category>
      <category>javascript</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8662</trackback:ping>
    </item>
    <item>
      <title>HP&#12398;&#12503;&#12522;&#12531;&#12479;&#12391;&#21517;&#21050;&#12364;&#21360;&#21047;&#12391;&#12365;&#12394;&#12356;&#26178;&#12398;&#12521;&#12452;&#12501;&#12495;&#12483;&#12463;</title>
      <description>&lt;p&gt;HP PSC 1500&#12392;&#12356;&#12358;&#12503;&#12522;&#12531;&#12479;&#12391;&#21517;&#21050;&#12434;&#21047;&#12429;&#12358;&#12392;&#24605;&#12387;&#12383;&#12398;&#12384;&#12364;&#12289;&#12511;&#12471;&#12531;&#30446;&#12398;&#12391;&#12365;&#12394;&#12356;&#12471;&#12540;&#12523;&#21488;&#32025;&#12398;&#12420;&#12388;&#12399;&#21402;&#12415;&#12364;&#12354;&#12426;&#12377;&#12366;&#12390;&#32025;&#12364;&#28369;&#12426;&#32025;&#36865;&#12426;&#12364;&#27491;&#24120;&#12395;&#12391;&#12365;&#12394;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;&#12381;&#12435;&#12394;&#26178;&#12399;&#12289;&#23450;&#35215;&#12394;&#12393;&#12391;3mm&#12367;&#12425;&#12356;&#27531;&#12375;&#12390;&#12289;&#20001;&#31471;&#12398;&#12471;&#12540;&#12523;&#12434;&#21093;&#12364;&#12377;&#12392;&#12424;&#12356;&#12290;
&#24536;&#12428;&#12378;&#12395;&#12289;&#12503;&#12522;&#12531;&#12479;&#12395;&#26368;&#21021;&#12395;&#31361;&#12387;&#36796;&#12416;&#26041;&#12398;&#12471;&#12540;&#12523;&#12418;&#21093;&#12364;&#12375;&#12390;&#12362;&#12367;&#12290;&lt;/p&gt;

&lt;p&gt;&#21360;&#21047;&#31684;&#22258;&#12398;&#25313;&#24373;&#12418;&#12391;&#12365;&#12390;&#20415;&#21033;&#65281;&lt;/p&gt;</description>
      <pubDate>Mon, 10 May 2010 19:28:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:f6f4caa8-8abd-4d6f-b508-197c228a8a9f</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/05/10/lifehack-for-hp-printer</link>
      <category>noise</category>
      <category>life</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8661</trackback:ping>
    </item>
    <item>
      <title>Ruby1.8, Ruby1.9&#12398;IO&#12398;&#25369;&#21205;&#12398;&#36949;&#12356;</title>
      <description>&lt;p&gt;&#34920;&#12395;&#12414;&#12392;&#12417;&#12390;&#12415;&#12383;&#12290;
&#20027;&#12394;&#36949;&#12356;&#12399;&#12289;getc/readchar&#12364;byte&#12434;&#36820;&#12377;&#12384;&#12369;&#12415;&#12383;&#12356;&#12384;&#12290;&lt;/p&gt;

&lt;p&gt;getchar/getline&#12364;&#12354;&#12387;&#12390;&#12411;&#12375;&#12356;((# getc&#12399;&#25968;&#20516;&#12434;&#36820;&#12375;&#12390;&#27442;&#12375;&#12356;))&lt;/p&gt;

&lt;table&gt;
&lt;tr&gt;
&lt;td colspan="2" /&gt;&lt;td&gt;get - nil at EOF&lt;/td&gt;&lt;td&gt;read - EOFError at EOF&lt;/td&gt;&lt;td&gt;enum&lt;/td&gt;&lt;td&gt;each&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;th rowspan="2"&gt;(char)&lt;/td&gt;
&lt;th&gt;1.8&lt;/th&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;chars&lt;/td&gt;
&lt;td&gt;each_char&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;1.9&lt;/th&gt;
&lt;td&gt;getc&lt;/td&gt;
&lt;td&gt;readchar&lt;/td&gt;
&lt;td&gt;chars&lt;/td&gt;
&lt;td&gt;each_char&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;th rowspan="2"&gt;(byte)&lt;/td&gt;
&lt;th&gt;1.8&lt;/th&gt;
&lt;td&gt;getbyte, getc&lt;/td&gt;
&lt;td&gt;readbyte, readchar&lt;/td&gt;
&lt;td&gt;bytes&lt;/td&gt;
&lt;td&gt;each_byte&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;th&gt;1.9&lt;/th&gt;
&lt;td&gt;getbyte&lt;/td&gt;
&lt;td&gt;readbyte&lt;/td&gt;
&lt;td&gt;bytes&lt;/td&gt;
&lt;td&gt;each_byte&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;th rowspan="2"&gt;(line)&lt;/td&gt;
&lt;th&gt;1.8&lt;/th&gt;
&lt;td&gt;gets&lt;/td&gt;
&lt;td&gt;readline&lt;/td&gt;
&lt;td&gt;lines&lt;/td&gt;
&lt;td&gt;each_line, each&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;th&gt;1.9&lt;/th&gt;
&lt;td&gt;gets&lt;/td&gt;
&lt;td&gt;readline&lt;/td&gt;
&lt;td&gt;lines&lt;/td&gt;
&lt;td&gt;each_line, each&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</description>
      <pubDate>Wed, 28 Apr 2010 04:47:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:2ff4f2e3-077b-4146-9cd5-dee08ea230ea</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/04/28/ruby-io-differences-between-1_8-and-1_9</link>
      <category>ruby</category>
      <category>ruby</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8660</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>MacOSX&#12391;&#26368;&#24375;&#12398;Terminal&#29872;&#22659;&#12434;&#27083;&#31689;&#12377;&#12427;&#12395;&#12399;</title>
      <description>&lt;p&gt;&lt;img src="http://purl.netswitch.jp/purl/(5a3ee06e192f1b3202d6312f6979a554):gyazo:520:resize.width:to.png" alt="screenshot"/&gt;&lt;/p&gt;

&lt;p&gt;&#22823;&#12381;&#12428;&#12383;&#12479;&#12452;&#12488;&#12523;&#12384;&#12364;&#12289;Terminal.app(&#20197;&#19979;Terminal)&#12398;&#12479;&#12502;&#27231;&#33021;&#12434;&#24555;&#36969;&#12395;&#20351;&#12358;&#35441;&#12391;&#12354;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;Terminal&#12434;&#20351;&#12356;&#20498;&#12375;&#12390;&#12356;&#12427;&#30342;&#27096;&#12394;&#12425;&#12289;&#24403;&#28982;&#12398;&#12371;&#12392;&#12394;&#12364;&#12425;&#12289;5~10&#12398;&#31471;&#26411;&#12364;&#38283;&#12356;&#12390;&#12356;&#12427;&#12392;&#24605;&#12358;&#12364;&#12289;&#20693;&#12399;&#20170;&#12414;&#12391;&#12479;&#12502;&#12434;&#20351;&#12387;&#12390;&#12371;&#12394;&#12363;&#12387;&#12383;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12428;&#12399;&#22823;&#20307;&#27425;&#12398;&#12424;&#12358;&#12394;&#29702;&#30001;&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12354;&#12427;&#12290;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&#20999;&#26367;&#12364;&#38754;&#20498;&#12367;&#12373;&#12356;&lt;/li&gt;
&lt;li&gt;&#20013;&#36523;&#12364;&#20998;&#12363;&#12425;&#12394;&#12356;&lt;/li&gt;
&lt;li&gt;&#12479;&#12502;&#12398;&#20998;&#29421;&#12367;&#12394;&#12427;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&#20170;&#22238;&#12399;&#12289;&#12371;&#12398;&#19977;&#12388;&#12398;&#21839;&#38988;&#12434;&#35299;&#27770;&#12375;&#12390;&#12289;&#12479;&#12502;&#12434;&#24555;&#36969;&#12395;&#20351;&#12362;&#12358;&#12376;&#12419;&#12354;&#12426;&#12414;&#12379;&#12435;&#12363;&#12290;&lt;/p&gt;

&lt;h3&gt;&#21839;&#38988;: &#20999;&#26367;&#12364;&#38754;&#20498;&#12367;&#12373;&#12356;&lt;/h3&gt;

&lt;p&gt;&#12371;&#12428;&#12399;Terminal.app &#12364;&#12289;&#27425;&#12398;&#12479;&#12502;/&#21069;&#12398;&#12479;&#12502;&#12289;&#12392;&#12356;&#12358;&#25805;&#20316;&#12375;&#12363;&#29992;&#24847;&#12375;&#12390;&#12356;&#12394;&#12356;&#12371;&#12392;&#12395;&#36215;&#22240;&#12377;&#12427;&#12290;
2~3&#12388;&#12394;&#12425;&#21839;&#38988;&#12394;&#12356;&#12364;&#12289;5~10&#12398;&#12479;&#12502;&#12434;&#20999;&#12426;&#26367;&#12360;&#12427;&#12395;&#12399;&#27231;&#33021;&#19981;&#36275;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12428;&#12434; &lt;a href="http://ciaranwal.sh/2007/12/10/tab-switching-in-terminal"&gt;terminaltabswitching&lt;/a&gt;&#12434;&#20351;&#12387;&#12390;&#35299;&#27770;&#12377;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;terminaltabswitching &#12399;Terminal.app&#12398;&#12479;&#12502;&#12398;&#20999;&#26367;&#12434;&#8984;0-9 &#12391;&#34892;&#12360;&#12427;&#12424;&#12358;&#12395;&#12377;&#12427;SIMBL&#12503;&#12521;&#12464;&#12452;&#12531;&#12290;
&#26412;&#23478;&#12363;&#12425;fork&#12373;&#12428;&#12289;&#12356;&#12367;&#12388;&#12363;SnowLeopard&#38306;&#36899;&#12398;&#22793;&#26356;&#12394;&#12393;&#12364;&#12354;&#12383;&#12387;&#12390;&#12356;&#12381;&#12358;&#12394;
&lt;a href="http://github.com/niw/terminaltabswitching"&gt;niw&amp;#8217;s terminaltabswitching at master - GitHub&lt;/a&gt;
&#12395;&#12289;&lt;a href="http://github.com/AaronH/terminaltabswitching/commit/8846a7daaf83769592750c8400a115ffac8b90cc"&gt;&#12371;&#12398;&#12467;&#12511;&#12483;&#12488;&lt;/a&gt;&#12434;&#12510;&#12540;&#12472;&#12375;&#12383;&#12418;&#12398;&#12434;&#20351;&#12387;&#12390;&#12356;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#12499;&#12523;&#12489;&#26041;&#27861;&#12399; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ xcodebuild -configuration Release build&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;build&#12377;&#12427;&#12384;&#12369;&#12391;&#21213;&#25163;&#12395;install&#12373;&#12428;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12428;&#12391;&#12289;&#12479;&#12502;&#12398;&#20999;&#26367;&#12364;&#27005;&#12395;&#12394;&#12387;&#12383;&#12290;&lt;/p&gt;

&lt;h3&gt;&#21839;&#38988;: &#20013;&#36523;&#12364;&#20998;&#12363;&#12425;&#12394;&#12356;&lt;/h3&gt;

&lt;p&gt;&#12479;&#12502;&#12398;&#20999;&#26367;&#12399;&#20986;&#26469;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12383;&#12364;&#12289;&#12479;&#12502;&#12398;&#20013;&#36523;&#12399;&#20999;&#12426;&#26367;&#12360;&#12427;&#12414;&#12391;&#12431;&#12363;&#12425;&#12394;&#12356;&#12290;
&#12503;&#12525;&#12475;&#12473;&#21517;&#12364;&#26360;&#12356;&#12390;&#12354;&#12387;&#12383;&#12426;&#12377;&#12427;&#12364;&#12289;&#20840;&#37096;zsh&#12376;&#12419;&#12354;&#12393;&#12428;&#12364;&#12393;&#12428;&#12384;&#12363;&#12431;&#12363;&#12425;&#12394;&#12356;&#12375;&#12289;vim&#12434;&#32066;&#20102;&#12377;&#12427;&#12392;&#12289;&amp;#8221;Thanks for flying Vim&amp;#8221;&#12392;&#12363;&#12395;&#26360;&#25563;&#12360;&#12425;&#12428;&#12390;&#39729;&#38518;&#12375;&#12356;&#12290;
&#12371;&#12371;&#12391;&#12399;&#12289;zsh &#12392; vim &#12395;&#12388;&#12356;&#12390;&#25496;&#12426;&#19979;&#12370;&#12427;&#12290;&#20182;&#12398;&#29872;&#22659;&#12398;&#20154;&#12399;&#21508;&#33258;&#28145;&#36861;&#12356;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;# ~/.zshrc
function title {
  print -n &amp;quot;\e]0;$@\a&amp;quot;
  export TITLE=&amp;quot;${(pj: :)@}&amp;quot;
}

chpwd() {
  title $(basename &amp;quot;$(pwd)&amp;quot;)
}

cd .&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12414;&#12378;&#12289;&#20415;&#21033;&#12394;&#38306;&#25968;title&#12434;&#29992;&#24847;&#12377;&#12427;&#12290;
&lt;code&gt;$ title hello terminal!&lt;/code&gt; &#12391;&#12479;&#12502;&#12398;&#12479;&#12452;&#12488;&#12523;&#12364;&#35373;&#23450;&#12391;&#12365;&#12427;&#12290;
&#12414;&#12383;&#12289;&#29694;&#22312;&#12398;&#12479;&#12502;&#12398;&#12479;&#12452;&#12488;&#12523;&#12434;&#31777;&#21336;&#12395;&#24471;&#12427;&#26041;&#27861;&#12364;&#12383;&#12406;&#12435;&#12394;&#12356;&#12398;&#12391;&#12289;&#29872;&#22659;&#22793;&#25968;&#12395;&#20445;&#23384;&#12377;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;chpwd &#12399;&#12289;&#12459;&#12524;&#12531;&#12488;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12364;&#22793;&#21270;&#12375;&#12383;&#26178;&#12395;&#21628;&#12403;&#20986;&#12373;&#12428;&#12289;&#29694;&#22312;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#21517;&#12434;&#12479;&#12452;&#12488;&#12523;&#12395;&#35373;&#23450;&#12377;&#12427;&#12290;
&#12371;&#12428;&#12391;&#12289;&#12393;&#12398;&#12479;&#12502;&#12364;&#20309;&#12363;&#19968;&#30446;&#30637;&#28982;&#12392;&#12394;&#12427;&#12290;&#12431;&#12363;&#12425;&#12394;&#12356;&#12398;&#12399;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#21517;&#12434;&#12388;&#12369;&#12427;&#20154;&#12398;&#12475;&#12531;&#12473;&#12398;&#21839;&#38988;&#12395;&#24112;&#30528;&#12377;&#12427;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;# ~/.vimrc
execute &amp;quot;:set titleold:&amp;quot;.fnameescape($TITLE)
execute &amp;quot;:set titlestring:&amp;quot;.fnameescape($TITLE.&amp;quot; - %t&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;vim&#12399;&#32066;&#20102;&#26178;&#12395;&#12289;titleold&#12434;&#12479;&#12452;&#12488;&#12523;&#12392;&#12375;&#12390;&#35373;&#23450;&#12377;&#12427;&#12398;&#12391;&#12289;&#12381;&#12428;&#12434;&#12289;&#29872;&#22659;&#22793;&#25968;$TITLE&#12395;&#12375;&#12390;&#12362;&#12367;&#12290;
&#12373;&#12425;&#12395;&#12289;&#12501;&#12449;&#12452;&#12523;&#32232;&#38598;&#20013;&#12399;&#12289;&#12501;&#12449;&#12452;&#12523;&#21517;&#12364;&#34920;&#31034;&#12373;&#12428;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12383;&#12290;&lt;/p&gt;

&lt;h3&gt;&#21839;&#38988;: &#12479;&#12502;&#12398;&#20998;&#29421;&#12367;&#12394;&#12427;&lt;/h3&gt;

&lt;p&gt;MacOSX&#12398;&#30011;&#38754;&#12399;&#12383;&#12384;&#12391;&#12373;&#12408;&#12289;Dock&#12420;&#12513;&#12491;&#12517;&#12540;&#12496;&#12540;&#12289;&#12479;&#12452;&#12488;&#12523;&#12496;&#12540;&#12391;&#29421;&#12367;&#12394;&#12387;&#12390;&#12356;&#12427;&#12398;&#12395;&#12289;&#12371;&#12398;&#26399;&#12395;&#21450;&#12435;&#12391;&#12479;&#12502;&#12496;&#12540;&#12391;&#12373;&#12425;&#12395;&#12379;&#12414;&#12367;&#12394;&#12427;&#12394;&#12435;&#12390;&#35377;&#12379;&#12394;&#12356;&#12290;
&#12418;&#12358;&#12289;&#30011;&#38754;&#12434;90&#24230;&#22238;&#36578;&#12373;&#12379;&#12390;&#20351;&#12356;&#12383;&#12356;&#12290;&lt;/p&gt;

&lt;p&gt;&#22238;&#36578;&#12399;&#39318;&#12364;&#30171;&#12367;&#12394;&#12426;&#12381;&#12358;&#12394;&#12398;&#12391;&#12354;&#12365;&#12425;&#12417;&#12390;&#12289;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12434;&#12501;&#12523;&#12473;&#12463;&#12522;&#12540;&#12531;&#12391;&#20351;&#12358;&#26041;&#27861;&#12394;&#12425;&#12354;&#12427;&#12290;
&lt;a href="http://ianhenderson.org/megazoomer.html"&gt;megazoomer&lt;/a&gt;&#12364;&#12381;&#12428;&#12290;&#12371;&#12428;&#12418;SIMBL&#12503;&#12521;&#12464;&#12452;&#12531;&#12290;SIMBL&#27096;&#12373;&#12414;&#12290;
&#20351;&#12356;&#26041;&#12399;&#12289;&#12371;&#12371;&#12382;&#12392;&#12356;&#12358;&#26178;&#12395;&#8984;Enter&lt;/p&gt;

&lt;p&gt;&#12393;&#12358;&#12379;&#12289;&#12479;&#12502;&#12392;&#12363;&#32771;&#24942;&#12373;&#12428;&#12390;&#12394;&#12356;&#12363;&#12425;&#12289;&#22793;&#12394;&#20107;&#12395;&#12394;&#12427;&#12435;&#12391;&#12375;&#12423;&#12289;&#12392;&#24605;&#12356;&#12365;&#12420;&#12289;Dock&#12418;&#12513;&#12491;&#12517;&#12540;&#12496;&#12540;&#12418;&#12479;&#12452;&#12488;&#12523;&#12496;&#12540;&#12418;&#12365;&#12428;&#12356;&#12395;&#28040;&#12360;&#12390;&#12289;&#12377;&#12372;&#12356;&#24555;&#36969;&#12290;&lt;/p&gt;

&lt;p&gt;&#38627;&#28857;&#12399;&#12289;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&#12381;&#12398;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12364;&#12450;&#12463;&#12486;&#12451;&#12502;&#12394;&#38291;Spotlight&#12364;&#20351;&#12360;&#12394;&#12367;&#12394;&#12427;&lt;/li&gt;
&lt;li&gt;&#12510;&#12454;&#12473;&#12391;&#23653;&#27508;&#12394;&#12393;&#12434;&#36984;&#25246;&#12377;&#12427;&#26178;&#12395;&#12289;&#12454;&#12451;&#12531;&#12489;&#12454;&#19979;&#31471;&#12395;&#34892;&#12387;&#12390;&#12418;&#12289;&#33258;&#21205;&#12391;&#12473;&#12463;&#12525;&#12540;&#12523;&#12375;&#12394;&#12356;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&#12388;&#12356;&#12391;&#12395;Safari&#12391;&#12418;&#20351;&#12387;&#12390;&#12415;&#12383;&#12369;&#12393;&#12289;&#12383;&#12414;&#12395;&#22793;&#12395;&#12394;&#12427;&#12290;&lt;/p&gt;

&lt;h3&gt;&#25968;&#12293;&#12398;&#33510;&#38627;&#12434;&#20055;&#12426;&#36234;&#12360;&#12390;&lt;/h3&gt;

&lt;p&gt;&#24403;&#21021;&#12398;&#21839;&#38988;&#12434;&#35299;&#27770;&#12375;&#12383;&#12398;&#12391;&#12289;&#27425;&#12356;&#12387;&#12390;&#12415;&#12424;&#12358;&#12290;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.entropy.ch/blog/Mac+OS+X/2008/06/27/Terminal-Tricks-&#8220;term&#8221;-revisited-with-tabs.html"&gt;Marc Liyanage - Blog - Mac OS X  - Terminal Tricks: &#8220;term&#8221; revisited, with tabs&lt;/a&gt;
&#12391;&#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12391;&#12399;&#12289;AppleScript&#12434;&#36890;&#12375;&#12390;&#12289;Terminal&#12434;&#25805;&#20316;&#12375;&#12289;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12363;&#12425;&#12479;&#12502;&#12434;&#38283;&#12367;&#20107;&#12364;&#12391;&#12365;&#12427;&#12290;&lt;/p&gt;

&lt;p&gt;&#12371;&#12428;&#12434;&#12289;~/bin/term &#12394;&#12393;&#12395;&#20445;&#23384;&#12377;&#12427;&#12392;&#12289;&lt;code&gt;$ term -t ~/work&lt;/code&gt; &#12391;&#12479;&#12502;&#12434;&#38283;&#12367;&#20107;&#12364;&#12391;&#12365;&#12427;&#12290;
&#12467;&#12510;&#12531;&#12489;&#12398;&#23455;&#34892;&#12394;&#12393;&#12418;&#12391;&#12365;&#12427;&#12290;
&#12373;&#12425;&#12395;&#12289;&#12371;&#12435;&#12394;&#24863;&#12376;&#12398;&#12467;&#12510;&#12531;&#12489;&#12418;&#29992;&#24847;&#12375;&#12383;&#12290;zsh&#12398;alias&#12391;&#12356;&#12356;&#20154;&#12399;&#12381;&#12387;&#12385;&#12398;&#26041;&#12364;&#12356;&#12356;&#12392;&#24605;&#12358;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;#!/bin/sh
# ~/bin/tab
term -t &amp;quot;$@&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#20693;&#12398;&#22580;&#21512;&#12289;&#20170;&#25163;&#12434;&#20184;&#12369;&#12390;&#12356;&#12427;&#20316;&#26989;&#12434;&#12289;&#12502;&#12521;&#12454;&#12470;&#12398;&#12479;&#12502;&#12420;Terminal&#12398;&#12459;&#12524;&#12531;&#12488;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12394;&#12393;&#12434;&#22806;&#37096;&#35352;&#25014;&#12392;&#12375;&#12390;&#20445;&#23384;&#12375;&#12390;&#12356;&#12427;&#12398;&#12391;&#12289;OS&#12398;&#20877;&#36215;&#21205;&#12399;&#12392;&#12390;&#12418;&#36991;&#12369;&#12383;&#12356;&#20316;&#26989;&#12398;&#12402;&#12392;&#12388;&#12384;&#12364;&#12289;
&#27425;&#12398;&#12424;&#12358;&#12394;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;zsh&#12364;&#38283;&#12356;&#12390;&#12356;&#12427;&#12479;&#12502;&#32676;&#12434;&#20877;&#29694;&#12391;&#12365;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12364;&#24471;&#12425;&#12428;&#12427;&#12398;&#12391;&#12392;&#12390;&#12418;&#12424;&#12356;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ lsof -a -c zsh -d cwd  | tail +2 | awk '{print &amp;quot;tab &amp;quot; $9}' | sort | uniq
tab /Users/nanki/*******/****
tab /Users/nanki/*******/*********/****/**********
tab /Users/nanki/*******/********************
tab /Users/nanki/****/*********/****/****/****
tab /Users/nanki/****/****/*********&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;(&#12354;&#12289;&#12456;&#12473;&#12465;&#12540;&#12503;&#12375;&#12390;&#12394;&#12356;)&lt;/p&gt;

&lt;h3&gt;&#30097;&#21839;&#28857;&#12414;&#12392;&#12417;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;10&#12434;&#36229;&#12360;&#12427;&#12479;&#12502;&#12399;&#12393;&#12358;&#12377;&#12427;&#12398;&#12363;&#12375;&#12425;&#12435;&lt;/li&gt;
&lt;li&gt;screen &#12399;&#12393;&#12358;&#12375;&#12424;&#12358;&lt;/li&gt;
&lt;li&gt;AppleScript&#20351;&#12387;&#12383;&#12425;&#12479;&#12502;&#12398;&#12479;&#12452;&#12488;&#12523;&#12392;&#12428;&#12427;&#12363;&#12394;&#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://ciaranwal.sh/2007/12/10/tab-switching-in-terminal"&gt;Ciar&#225;n Walsh&#8217;s Blog &#187; Tab Switching in Terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/ciaran/terminaltabswitching"&gt;terminaltabswitching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/niw/terminaltabswitching"&gt;niw&amp;#8217;s terminaltabswitching at master - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/AaronH/terminaltabswitching/commit/8846a7daaf83769592750c8400a115ffac8b90cc"&gt;Commit 8846a7daaf83769592750c8400a115ffac8b90cc to AaronH&amp;#8217;s terminaltabswitching - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ianhenderson.org/megazoomer.html"&gt;ianhenderson.org - megazoomer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.entropy.ch/blog/Mac+OS+X/2008/06/27/Terminal-Tricks-&#8220;term&#8221;-revisited-with-tabs.html"&gt;Marc Liyanage - Blog - Mac OS X  - Terminal Tricks: &#8220;term&#8221; revisited, with tabs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Thu, 11 Feb 2010 04:00:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:d6ddab70-53df-4351-bff7-90cdb68ab184</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/02/11/use-tab-in-terminal-app-venrily</link>
      <category>tech</category>
      <category>life</category>
      <category>vim</category>
      <category>zsh</category>
      <category>mac</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8658</trackback:ping>
    </item>
    <item>
      <title>xargs&#12398;&#20351;&#12356;&#26041;</title>
      <description>&lt;h3&gt;&#20415;&#21033;&#12394;xargs&lt;/h3&gt;

&lt;p&gt;UNIX&#31995;OS&#12395;&#12399;xargs&#12392;&#12356;&#12358;&#12467;&#12510;&#12531;&#12489;&#12364;&#12354;&#12426;&#12289;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ cmd arg1
$ cmd arg2
$ cmd arg3
&#8230;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12392;&#12356;&#12358;&#20966;&#29702;&#12434;&#12289;&#27425;&#12398;&#12424;&#12358;&#12395;&#33258;&#21205;&#21270;&#12375;&#12390;&#12367;&#12428;&#12427;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ cat args
arg1
arg2
arg3
&#8230;

$ cat args | xargs -n 1 cmd &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;very venry!&lt;/p&gt;

&lt;h3&gt;&#30097;&#24785;&lt;/h3&gt;

&lt;p&gt;&#20415;&#21033;&#12394;xargs&#12391;&#12399;&#12354;&#12427;&#12364;&#12289;&#12458;&#12503;&#12471;&#12519;&#12490;&#12523;&#12394;&#24341;&#25968;&#12434;&#12392;&#12427;&#12424;&#12358;&#12394;&#20966;&#29702;&#12434;&#33258;&#21205;&#21270;&#12375;&#12424;&#12358;&#12392;&#12375;&#12383;&#12425;&#12289;&#12394;&#12363;&#12394;&#12363;&#24605;&#12358;&#36890;&#12426;&#12395;&#12356;&#12363;&#12394;&#12363;&#12387;&#12383;&#12290;&lt;br/&gt;
&#20197;&#19979;&#12289;Mac OSX 10.6.2 &#12391;&#12398;&#35441;&#12290;&lt;/p&gt;

&lt;h3&gt;&#35519;&#26619;&lt;/h3&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;$ cat args
arg1 opt
arg2
arg3
$ cat args | xargs ... ruby -e &amp;quot;p ARGV&amp;quot; ...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#19978;&#12398;&#12424;&#12358;&#12394;&#20837;&#21147;&#12434;xargs&#12395;&#28193;&#12375;&#12289;&#21336;&#32020;&#12395;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#24341;&#25968;&#12434;p&#12377;&#12427;Ruby&#12503;&#12525;&#12464;&#12521;&#12512;&#12434;&#20351;&#12387;&#12390;&#34892;&#12358;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#9783; cat args | xargs -n 2 ruby -e &amp;quot;p ARGV&amp;quot;
[&amp;quot;arg1&amp;quot;, &amp;quot;opt&amp;quot;]
[&amp;quot;arg2&amp;quot;, &amp;quot;arg3&amp;quot;]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;xargs&#12300;&#31070;&#12399;&#31354;&#30333;&#12392;&#25913;&#34892;&#12434;&#24179;&#31561;&#12395;&#12362;&#12388;&#12367;&#12426;&#12395;&#12394;&#12425;&#12428;&#12383;&#12301;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#9783; cat args | xargs -I% ruby -e &amp;quot;p ARGV&amp;quot; %
[&amp;quot;arg1 opt&amp;quot;]
[&amp;quot;arg2&amp;quot;]
[&amp;quot;arg3&amp;quot;]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#24796;&#12375;&#12356;&#12290;&#31354;&#30333;&#12364;&#12456;&#12473;&#12465;&#12540;&#12503;&#12373;&#12428;&#12390;&#12356;&#12427;&#12398;&#12391; &lt;code&gt;$ cmd "arg1 opt"&lt;/code&gt; &#12392;&#21516;&#12376;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#9783; cat args | xargs -J% ruby -e &amp;quot;p ARGV&amp;quot; % 
[&amp;quot;arg1&amp;quot;, &amp;quot;opt&amp;quot;, &amp;quot;arg2&amp;quot;, &amp;quot;arg3&amp;quot;]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12381;&#12428;&#12399;&#22256;&#12426;&#12414;&#12377;&#8230;&#12290;                             &lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#9783; cat args | xargs -E% ruby -e &amp;quot;p ARGV&amp;quot;
[&amp;quot;arg1&amp;quot;, &amp;quot;opt&amp;quot;, &amp;quot;arg2&amp;quot;, &amp;quot;arg3&amp;quot;]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12391;&#12377;&#12424;&#12397;&#12316;&#12290;&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#9783; cat args | xargs -L 1 -J% ruby -e &amp;quot;p ARGV&amp;quot; %
[&amp;quot;arg1&amp;quot;, &amp;quot;opt&amp;quot;]
[&amp;quot;arg2&amp;quot;]
[&amp;quot;arg3&amp;quot;]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&#12371;&#12428;&#12384;&#65281;L&#12399;&#19990;&#30028;&#12434;&#25937;&#12358;!&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre class='prettyprint'&gt;&lt;code class="typocode_default "&gt;&#9783; cat args | xargs -L 1 ruby -e &amp;quot;p ARGV&amp;quot;
[&amp;quot;arg1&amp;quot;, &amp;quot;opt&amp;quot;]
[&amp;quot;arg2&amp;quot;]
[&amp;quot;arg3&amp;quot;]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;xargs&#12300;&#12424;&#12367;&#12382;&#12383;&#12393;&#12426;&#12388;&#12356;&#12383;&#12301;&lt;/p&gt;</description>
      <pubDate>Sat, 30 Jan 2010 19:28:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:a5c47e55-b99c-4bbc-930a-331caab6dd05</guid>
      <author>nanki</author>
      <link>http://blog.netswitch.jp/articles/2010/01/30/using-xargs</link>
      <category>noise</category>
      <trackback:ping>http://blog.netswitch.jp/articles/trackback/8657</trackback:ping>
    </item>
  </channel>
</rss>
