<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
  <title>最遅メンヘル研究会</title>
  
  <link href="https://kageroh.hatenadiary.org/"/>
  <updated></updated>
  <author>
    <name>kageroh_</name>
  </author>
  <generator uri="https://blog.hatena.ne.jp/" version="4d3636297acd9767d7d4ee0844de47">Hatena::Blog</generator>
  <id>hatenablog://blog/17680117127005395334</id>

  
    
    
    <entry>
        <title>■</title>
        <link href="https://kageroh.hatenadiary.org/entry/20140914/1410675316"/>
        <id>hatenablog://entry/17680117127005402398</id>
        <published>2014-09-14T15:15:16+09:00</published>
        <updated>2014-09-14T06:15:16+09:00</updated>        <summary type="html">株式会社RGイノベーション ニューロ光グループ エリア担当の人物が「NTT」を名乗り光回線契約の変更でうろついています。ご注意ください。 So-netに問い合わせたところ、このような営業活動は、So-netとして禁止しており、対象代理店には指導を行い、担当含め対象スタッフ以外に関しても、同様の事象が起こらないよう指導をしてまいりますとの回答をいただきました。 下半期に入ったからでしょうか？ 禁止が解け、同様の事象が起きているようです。 NURO光のエリア担当がNTTを名乗っている - Togetterまとめ http://togetter.com/li/719084 ねぇこれ今かかってきてう…</summary>
        <content type="html">&lt;p&gt;株式会社RG&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%A4%A5%CE%A5%D9%A1%BC%A5%B7%A5%E7%A5%F3&quot;&gt;イノベーション&lt;/a&gt; ニューロ光グループ エリア担当の人物が「NTT」を名乗り&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%B8%F7%B2%F3%C0%FE&quot;&gt;光回線&lt;/a&gt;契約の変更でうろついています。ご注意ください。&lt;/p&gt;
&lt;ins datetime=&quot;2014-09-29T22:04:22+09:00&quot;&gt;&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/So-net&quot;&gt;So-net&lt;/a&gt;に問い合わせたところ、このような&lt;q&gt;営業活動は、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/So-net&quot;&gt;So-net&lt;/a&gt;として禁止しており&lt;/q&gt;、&lt;q&gt;対象代理店には指導を行い、担当含め対象スタッフ以外に関しても、同様の事象が起こらないよう指導をしてまいります&lt;/q&gt;との回答をいただきました。&lt;/p&gt;
&lt;/ins&gt;&lt;ins datetime=&quot;2014-10-05T17:56:01+09:00&quot;&gt;&lt;p&gt;下半期に入ったからでしょうか？ 禁止が解け、同様の事象が起きているようです。&lt;/p&gt;

    &lt;blockquote cite=&quot;https://twitter.com/xxxchelsyxxx/status/518684193778180098&quot;&gt;
        &lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/NURO%B8%F7&quot;&gt;NURO光&lt;/a&gt;のエリア担当がNTTを名乗っている - Togetterまとめ &lt;a href=&quot;http://togetter.com/li/719084&quot;&gt;http://togetter.com/li/719084&lt;/a&gt; 　ねぇこれ今かかってきてうんうん聞いてたんだけど&lt;/p&gt;

        &lt;cite&gt;&lt;a href=&quot;https://twitter.com/xxxchelsyxxx/status/518684193778180098&quot;&gt;https://twitter.com/xxxchelsyxxx/status/518684193778180098&lt;/a&gt;&lt;/cite&gt;
    &lt;/blockquote&gt;
&lt;/ins&gt;</content>        
        <category term="詐欺" label="詐欺" />
        
        <category term="NURO光" label="NURO光" />
        
        <category term="So-net" label="So-net" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005402398/1554212230" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>画像 - Google 検索</title>
        <link href="https://kageroh.hatenadiary.org/entry/20121028/1351408627"/>
        <id>hatenablog://entry/17680117127005402517</id>
        <published>2012-10-28T16:17:07+09:00</published>
        <updated>2012-10-28T07:17:07+09:00</updated>        <summary type="html">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/opensearch/1.1/&quot; xmlns:moz=&quot;http://www.mozilla.org/2006/browser/search/&quot;&gt; &lt;ShortName&gt;画像 - Google 検索&lt;/ShortName&gt; &lt;Description&gt;画像 - Google 検索&lt;/Description&gt; &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt; &lt;Image width=&quot;16&quot; h…</summary>
        <content type="html">&lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;&lt;span class=&quot;synComment&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xml version&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt; encoding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;OpenSearchDescription &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xmlns&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://a9.com/-/spec/opensearch/1.1/&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xmlns&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;moz&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://www.mozilla.org/2006/browser/search/&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;ShortName&amp;gt;&lt;/span&gt;画像 - Google 検索&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/ShortName&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Description&amp;gt;&lt;/span&gt;画像 - Google 検索&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/Description&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;InputEncoding&amp;gt;&lt;/span&gt;UTF-8&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/InputEncoding&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Image &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;16&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;16&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;data:image/png;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs9Pt8xetPtu9FsfFNtu%2BTzvb2%2B%2Fne4dFJeBw0egA%2FfAJAfAA8ewBBegAAAAD%2B%2FPtft98Mp%2BwWsfAVsvEbs%2FQeqvF8xO7%2F%2F%2F63yqkxdgM7gwE%2FggM%2BfQA%2BegBDeQDe7PIbotgQufcMufEPtfIPsvAbs%2FQvq%2Bfz%2Bf%2F%2B%2B%2FZKhR05hgBBhQI8hgBAgAI9ewD0%2B%2Fg3pswAtO8Cxf4Kw%2FsJvvYAqupKsNv%2B%2Fv7%2F%2FP5VkSU0iQA7jQA9hgBDgQU%2BfQH%2F%2Ff%2FQ6fM4sM4KsN8AteMCruIqqdbZ7PH8%2Fv%2Fg6Nc%2Fhg05kAA8jAM9iQI%2BhQA%2BgQDQu6b97uv%2F%2F%2F7V8Pqw3eiWz97q8%2Ff%2F%2F%2F%2F7%2FPptpkkqjQE4kwA7kAA5iwI8iAA8hQCOSSKdXjiyflbAkG7u2s%2F%2B%2F%2F39%2F%2F7r8utrqEYtjQE8lgA7kwA7kwA9jwA9igA9hACiWSekVRyeSgiYSBHx6N%2F%2B%2Fv7k7OFRmiYtlAA5lwI7lwI4lAA7kgI9jwE9iwI4iQCoVhWcTxCmb0K%2BooT8%2Fv%2F7%2F%2F%2FJ2r8fdwI1mwA3mQA3mgA8lAE8lAE4jwA9iwE%2BhwGfXifWvqz%2B%2Ff%2F58u%2Fev6Dt4tr%2B%2F%2F2ZuIUsggA7mgM6mAM3lgA5lgA6kQE%2FkwBChwHt4dv%2F%2F%2F728ei1bCi7VAC5XQ7kz7n%2F%2F%2F6bsZkgcB03lQA9lgM7kwA2iQktZToPK4r9%2F%2F%2F9%2F%2F%2FSqYK5UwDKZAS9WALIkFn%2B%2F%2F3%2F%2BP8oKccGGcIRJrERILYFEMwAAuEAAdX%2F%2Ff7%2F%2FP%2B%2BfDvGXQLIZgLEWgLOjlf7%2F%2F%2F%2F%2F%2F9QU90EAPQAAf8DAP0AAfMAAOUDAtr%2F%2F%2F%2F7%2B%2Fu2bCTIYwDPZgDBWQDSr4P%2F%2Fv%2F%2F%2FP5GRuABAPkAA%2FwBAfkDAPAAAesAAN%2F%2F%2B%2Fz%2F%2F%2F64g1C5VwDMYwK8Yg7y5tz8%2Fv%2FV1PYKDOcAAP0DAf4AAf0AAfYEAOwAAuAAAAD%2F%2FPvi28ymXyChTATRrIb8%2F%2F3v8fk6P8MAAdUCAvoAAP0CAP0AAfYAAO4AAACAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAA&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/Image&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Url &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;text/html&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;method&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;template&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;https://www.google.co.jp/searchbyimage?image_url={searchTerms}&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;moz&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;SearchForm&amp;gt;&lt;/span&gt;https://www.google.co.jp/imghp&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;moz&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;SearchForm&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/OpenSearchDescription&amp;gt;&lt;/span&gt;
&lt;/pre&gt;</content>        
        <category term="firefox" label="firefox" />
        
        <category term="searchplugins" label="searchplugins" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005402517/1554212232" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>国語辞書 - goo辞書</title>
        <link href="https://kageroh.hatenadiary.org/entry/20121027/1351325732"/>
        <id>hatenablog://entry/17680117127005402655</id>
        <published>2012-10-27T17:15:32+09:00</published>
        <updated>2012-10-27T08:15:32+09:00</updated>        <summary type="html">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/opensearch/1.1/&quot; xmlns:moz=&quot;http://www.mozilla.org/2006/browser/search/&quot;&gt; &lt;ShortName&gt;国語辞書 - goo辞書&lt;/ShortName&gt; &lt;Description&gt;国語辞書 - goo辞書 Search&lt;/Description&gt; &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt; &lt;Image width=&quot;16…</summary>
        <content type="html">&lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;&lt;span class=&quot;synComment&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xml version&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt; encoding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;OpenSearchDescription &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xmlns&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://a9.com/-/spec/opensearch/1.1/&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xmlns&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;moz&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://www.mozilla.org/2006/browser/search/&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;ShortName&amp;gt;&lt;/span&gt;国語辞書 - goo辞書&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/ShortName&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Description&amp;gt;&lt;/span&gt;国語辞書 - goo辞書 Search&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/Description&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;InputEncoding&amp;gt;&lt;/span&gt;UTF-8&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/InputEncoding&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Image &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;16&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;16&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;data:image/x-icon;base64,AAABAAIAEBAAAAEAGABoAwAAJgAAACAgAAABABgAqAwAAI4DAAAoAAAAEAAAACAAAAABABgAAAAAAEADAAAAAAAAAAAAAAAAAAAAAAAA////BgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjd////Bgjd////////////////////////////////////////////////////////BgjdBgjd////////////////iYniMzPMMzPMMzPMMzPMiYni////////////////BgjdBgjd////////////iYniMzPMiYniiYniiYniiYniMzPMiYni////////////BgjdBgjd////////////MzPMiYni////////////////iYniMzPM////////////BgjdBgjd////////////iYniMzPMiYniiYniiYniiYniMzPMiYni////////////BgjdBgjd////////////////MzPMMzPMMzPMMzPMMzPMiYni////////////////BgjdBgjd////////////MzPMMzPM////////////////////////////////////BgjdBgjd////////////iYniMzPMMzPMMzPMMzPMMzPM////////////////////BgjdBgjd////////////////MzPMiYniiYniiYniiYniMzPM////////////////BgjdBgjd////////////////MzPMiYni////////iYniMzPM////////////////BgjdBgjd////////////////MzPMiYniiYniiYniiYniMzPM////////////////BgjdBgjd////////////////////MzPMMzPMMzPMMzPMiYniMzPMMzPM////////BgjdBgjd////////////////////////////////iYniMzPMMzPMiYni////////BgjdBgjd////////////////////////////////////////////////////////Bgjd////BgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjdBgjd////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///8GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN3///8GCN3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8GCN0GCN3////////////////////////////////////s7PrIyPGSkuR4eN1xcdtoaNl8fN6QkOOkpOnOzvPy8vz///////////////////////////////////////8GCN0GCN3////////////////////////////q6vqMjOJLS9IwMMsvL8stLcorK8ooKMkqKsosLMouLssvL8tYWNWqqun4+P3///////////////////////////////8GCN0GCN3////////////////////////g4PddXdYmJskqKsonJ8kuLstCQtBOTtNaWtZPT9NERNAwMMsmJsknJ8ksLMpubtvs7Pv///////////////////////////8GCN0GCN3///////////////////////9vb9sjI8gvL8szM8x2dt27u+7W1vXm5vn39/3o6Pra2va9ve98fN43N80tLcohIceFheD9/f////////////////////////8GCN0GCN3///////////////////////9DQ9AsLMosLMqLi+L6+v7////////////////////////////9/f6cnOYvL8srK8pERNDg4Pf///////////////////////8GCN0GCN3///////////////////////9BQdApKclFRdHj4/j////////////////////////////////////l5fhHR9EpKck5Oc7Hx/H///////////////////////8GCN0GCN3///////////////////////9CQtAqKso6Os3FxfD////////////////////////////////////OzvM3N80sLMo4OM3Hx/H///////////////////////8GCN0GCN3///////////////////////9tbdskJMgsLMpKStK9ve/z8/z////////////////////09PzJyfFZWdUsLMspKcpJSdHt7fr///////////////////////8GCN0GCN3////////////////////////X1/VYWNUzM8wrK8o6Os1jY9iGhuGYmOWWluWYmOWKiuJmZtg+Ps8qKsorK8ovL8urq+r///////////////////////////8GCN0GCN3////////////////////////////h4fdRUdMtLcsvL8sqKsonJ8klJcglJcklJcgmJskoKMkoKMknJ8k9Pc6iouj+/v////////////////////////////8GCN0GCN3////////////////////////h4fdtbdo1Nc0sLMoqKsosLMotLcstLcstLcsuLssvL8szM8xOTtJ/f9/OzvP///////////////////////////////////8GCN0GCN3///////////////////////92dt0hIcgtLctHR9F9fd6WluSnp+msrOqsrOu7u+7IyPHY2PXp6fn///////////////////////////////////////////8GCN0GCN3///////////////////////9SUtQmJsg1NczExPD////////////z8/zc3Pfo6Pn8/P7///////////////////////////////////////////////////8GCN0GCN3///////////////////////9ZWdYkJMk2Ns2trerU1PSwsOtvb9tHR9FBQdBFRdFKStKDg+De3vf///////////////////////////////////////////8GCN0GCN3///////////////////////+jo+goKMksLMo5Oc45Oc0qKsooKMkhIcggIMchIcclJcklJclERNCoqOn///////////////////////////////////////8GCN0GCN3////////////////////////7+/6Pj+M6Os0vL8sxMcwtLcsyMstgYNd0dNxpadpERNAsLMoqKskxMcuxsez///////////////////////////////////8GCN0GCN3///////////////////////////////+OjuMqKsovL8s+Ps+xsev19f3////+/v/Y2PVxcdstLcopKclJSdHu7vr///////////////////////////////8GCN0GCN3////////////////////////////5+f1nZ9kqKsonJ8mamub////////////////////k5PhMTNIqKso1NczGxvH///////////////////////////////8GCN0GCN3////////////////////////////m5vlGRtEqKsozM8zQ0PP////////////////////+/v9zc9wmJskyMsytrev///////////////////////////////8GCN0GCN3////////////////////////////o6PpJSdIqKsoxMcvIyPH////////////////////5+f1mZtgnJ8kzM8y3t+3///////////////////////////////8GCN0GCN3////////////////////////////6+v5iYtcqKsopKcp4eN339/3///////////////+3t+00NMwsLMo6Os7c3Pb///////////////////////////////8GCN0GCN3///////////////////////////////+hoeckJMkwMMsuLst2dtzNzfLm5vjR0fOVleVFRdAtLcojI8h6et7///////////////////////////////////8GCN0GCN3////////////////////////////////09PxwcNskJMgrK8oqKso/P89NTdJBQdAqKsotLcosLMpaWtbk5PjJyfKamubR0fT///////////////////////8GCN0GCN3////////////////////////////////////x8fuTk+RAQM8tLcslJcgeHsckJMgvL8suLstPT9Pn5/nm5vhCQtAhIcg9Pc/S0vP///////////////////8GCN0GCN3////////////////////////////////////////////c3PaqquqCguBpadl+ft5TU9QnJ8lOTtPz8/zu7vtFRdAsLMslJcimpun///////////////////8GCN0GCN3///////////////////////////////////////////////////////////////+kpOgkJMgtLcpiYtiCguBFRdAtLcspKcrCwvD///////////////////8GCN0GCN3////////////////////////////////////////////////////////////////o6PlmZtkqKskkJMgjI8grK8omJsl9fd/39/3///////////////////8GCN0GCN3////////////////////////////////////////////////////////////////////y8vusrOpxcdtcXNZtbdqzs+z19fz///////////////////////8GCN0GCN3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8GCN3///8GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN0GCN3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==&amp;lt;/Image&amp;gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Url &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;text/html&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;method&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;template&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://dictionary.goo.ne.jp/srch/jn/{searchTerms}/m0u/&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;moz&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;SearchForm&amp;gt;&lt;/span&gt;http://dictionary.goo.ne.jp/jn/&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;moz&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;SearchForm&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/OpenSearchDescription&amp;gt;&lt;/span&gt;
&lt;/pre&gt;</content>        
        <category term="firefox" label="firefox" />
        
        <category term="searchplugins" label="searchplugins" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005402655/1554212233" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Xalanのエラーメッセージが不親切すぎてストレス半端ないのでプロセッサをSaxonに切り替える</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110315/1300191320"/>
        <id>hatenablog://entry/17680117127005403064</id>
        <published>2011-03-15T21:15:20+09:00</published>
        <updated>2011-03-15T12:15:20+09:00</updated>        <summary type="html">System.setProperty(&quot;javax.xml.transform.TransformerFactory&quot;, &quot;net.sf.saxon.TransformerFactoryImpl&quot;); これだけで、おｋ。他のコードは共通でいい。</summary>
        <content type="html">&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;System.setProperty(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;javax.xml.transform.TransformerFactory&amp;quot;&lt;/span&gt;, &lt;span class=&quot;synConstant&quot;&gt;&amp;quot;net.sf.saxon.TransformerFactoryImpl&amp;quot;&lt;/span&gt;);
&lt;/pre&gt;&lt;p&gt;これだけで、おｋ。他のコードは共通でいい。&lt;/p&gt;
</content>        
        <category term="xalan" label="xalan" />
        
        <category term="xslt" label="xslt" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005403064/1554212237" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
    <entry>
        <title>import/includeを使おうとするとMalformedURLExceptionが出る件</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110315/1300171964"/>
        <id>hatenablog://entry/17680117127005402915</id>
        <published>2011-03-15T15:52:44+09:00</published>
        <updated>2011-03-15T06:52:44+09:00</updated>        <summary type="html">StreamSource xsl = new StreamSource(&quot;hoge.xsl&quot;); これだとエラーになって、 StreamSource xsl = new StreamSource(new File(&quot;hoge.xsl&quot;)); だと、ちゃんとパスが解決できる。……</summary>
        <content type="html">&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;StreamSource xsl = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; StreamSource(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;hoge.xsl&amp;quot;&lt;/span&gt;);
&lt;/pre&gt;&lt;p&gt;これだとエラーになって、&lt;/p&gt;
&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;StreamSource xsl = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; StreamSource(&lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; File(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;hoge.xsl&amp;quot;&lt;/span&gt;));
&lt;/pre&gt;&lt;p&gt;だと、ちゃんとパスが解決できる。……&lt;/p&gt;
</content>        
        <category term="xalan" label="xalan" />
        
        <category term="xslt" label="xslt" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005402915/1554212236" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>XalanでJavaScriptを動かすときに必要なjarファイル</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110310/1299741122"/>
        <id>hatenablog://entry/17680117127005403196</id>
        <published>2011-03-10T16:12:02+09:00</published>
        <updated>2011-03-10T07:12:02+09:00</updated>        <summary type="html">bsf.jar Apache Commons BSF™ - Bean Scripting Framework commons-logging.jar Apache Commons Logging - Overview js.jar Download Rhino - Mozilla | MDN xalan.jar Xalan-Java Version 2.7.1</summary>
        <content type="html">
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;bsf.jar&lt;/h4&gt;
    &lt;p&gt;&lt;a href=&quot;http://jakarta.apache.org/bsf/&quot;&gt;Apache Commons BSF&amp;trade; - Bean Scripting Framework&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;commons-logging.jar&lt;/h4&gt;
    &lt;p&gt;&lt;a href=&quot;http://commons.apache.org/logging/&quot;&gt;Apache Commons Logging - Overview&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;js.jar&lt;/h4&gt;
    &lt;p&gt;&lt;a href=&quot;http://www.mozilla.org/rhino/download.html&quot;&gt;Download Rhino - Mozilla | MDN&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;xalan.jar&lt;/h4&gt;
    &lt;p&gt;&lt;a href=&quot;http://xml.apache.org/xalan-j/&quot;&gt;Xalan-Java Version 2.7.1&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;</content>        
        <category term="xalan" label="xalan" />
        
        <category term="xslt" label="xslt" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005403196/1554212239" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>PDFBoxメモ</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110301/1298949460"/>
        <id>hatenablog://entry/17680117127005403838</id>
        <published>2011-03-01T12:17:40+09:00</published>
        <updated>2011-03-01T03:17:40+09:00</updated>        <summary type="html">http://www.moriwaki.net/wiki/index.php?[[PDFBox]] この方法だと画像が取れない形式のPDFがあるっぽい。XObjectは全部取ってきて、PDXObjectImageインスタンスか、PDXObjectFormインスタンスで処理を分けてやるといい。 public static void main(String[] args) throws IOException { String readFile = args[0]; FileInputStream pdfStream = new FileInputStream(readFile); PDFPars…</summary>
        <content type="html">
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.moriwaki.net/wiki/index.php?[[PDFBox]]&quot;&gt;http://www.moriwaki.net/wiki/index.php?[[PDFBox]]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;この方法だと画像が取れない形式のPDFがあるっぽい。XObjectは全部取ってきて、PDXObjectImage&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9&quot;&gt;インスタンス&lt;/a&gt;か、PDXObjectForm&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9&quot;&gt;インスタンス&lt;/a&gt;で処理を分けてやるといい。&lt;/p&gt;
&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;void&lt;/span&gt; main(String[] args) &lt;span class=&quot;synType&quot;&gt;throws&lt;/span&gt; IOException {
		String readFile = args[&lt;span class=&quot;synConstant&quot;&gt;0&lt;/span&gt;];
		FileInputStream pdfStream = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; FileInputStream(readFile);
		PDFParser pdfParser = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; PDFParser(pdfStream);
		pdfParser.parse();

		&lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; cnt = &lt;span class=&quot;synConstant&quot;&gt;0&lt;/span&gt;;
		PDDocument pdf = pdfParser.getPDDocument();
		&lt;span class=&quot;synStatement&quot;&gt;for&lt;/span&gt; (Iterator&amp;lt;PDPage&amp;gt; i = pdf.getDocumentCatalog().getAllPages().iterator(); i.hasNext();) {
			Map&amp;lt;String, PDXObject&amp;gt; objs = i.next().getResources().getXObjects();
			&lt;span class=&quot;synStatement&quot;&gt;for&lt;/span&gt; (Iterator&amp;lt;String&amp;gt; j = objs.keySet().iterator(); j.hasNext();) {
				PDXObject obj = objs.get(j.next());
				&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (obj &lt;span class=&quot;synStatement&quot;&gt;instanceof&lt;/span&gt; PDXObjectImage) {
					PDXObjectImage image = (PDXObjectImage) obj;
					image.write2file(String.valueOf(cnt));
					cnt++;
				} &lt;span class=&quot;synStatement&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (obj &lt;span class=&quot;synStatement&quot;&gt;instanceof&lt;/span&gt; PDXObjectForm) {
					PDXObjectForm form = (PDXObjectForm) obj;
					Map&amp;lt;String, PDXObjectImage&amp;gt; images = form.getResources().getImages();
					&lt;span class=&quot;synStatement&quot;&gt;for&lt;/span&gt; (Iterator&amp;lt;String&amp;gt; k = images.keySet().iterator(); k.hasNext();) {
						PDXObjectImage image = images.get(k.next());
						image.write2file(String.valueOf(cnt));
						cnt++;
					}
				}
			}
		}
	}
&lt;/pre&gt;</content>        
        <category term="java" label="java" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005403838/1554212245" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>system32にファイルコピーするには</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110228/1298899820"/>
        <id>hatenablog://entry/17680117127005403962</id>
        <published>2011-02-28T22:30:20+09:00</published>
        <updated>2011-02-28T13:30:20+09:00</updated>        <summary type="html">WSHで簡易インストーラ作る必要があったのだけれど、FileSystemObjectでfileCopyしようとすると、権限がないとか言われて困り果てたのだが、shell.exec(&quot;cmd.exe /C copy&quot;)は通ってくれたので、助かった。</summary>
        <content type="html">&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/WSH&quot;&gt;WSH&lt;/a&gt;で簡易&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%E9&quot;&gt;インストーラ&lt;/a&gt;作る必要があったのだけれど、FileSystemObjectでfileCopyしようとすると、権限がないとか言われて困り果てたのだが、shell.exec(&quot;cmd.exe /C copy&quot;)は通ってくれたので、助かった。&lt;/p&gt;
</content>        
        <category term="wsh" label="wsh" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005403962/1554212247" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>デフォルトのcatalina.policyを使うとexamplesでcatalina.logにwarningが出る</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110121/1295573745"/>
        <id>hatenablog://entry/17680117127005404087</id>
        <published>2011-01-21T10:35:45+09:00</published>
        <updated>2011-01-21T01:35:45+09:00</updated>        <summary type="html">2011/01/21 10:50:26 org.apache.catalina.startup.HostConfig deployDirectory INFO: Webアプリケーションディレクトリ examples を配備します 2011/01/21 10:50:26 org.apache.catalina.loader.WebappClassLoader findClass WARNING: WebappClassLoader.findClassInternal(chat.ChatServlet) security exception: access denied (java.lang.Ru…</summary>
        <content type="html">&lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;2011/01/21 10:50:26 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Webアプリケーションディレクトリ examples を配備します
2011/01/21 10:50:26 org.apache.catalina.loader.WebappClassLoader findClass
WARNING: WebappClassLoader.findClassInternal(chat.ChatServlet) security exception: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.catalina)
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.catalina)&lt;/pre&gt;&lt;p&gt;logが汚れて邪魔なので、examplesにpermissionを付与する。&lt;/p&gt;
&lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;// ========== EXAMPLE CODE PERMISSIONS =======================================


// These permissions apply to example
grant codeBase &amp;#34;file:${catalina.home}/webapps/examples/WEB-INF/classes/-&amp;#34; {
        permission java.lang.RuntimePermission &amp;#34;accessClassInPackage.org.apache.catalina&amp;#34;;
        // permission java.lang.RuntimePermission &amp;#34;accessClassInPackage.org.apache.catalina.manager&amp;#34;;
        // permission java.lang.RuntimePermission &amp;#34;accessClassInPackage.org.apache.catalina.manager.util&amp;#34;;
};&lt;/pre&gt;</content>        
        <category term="tomcat" label="tomcat" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005404087/1554212248" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Tomcatで動かすWebアプリをプラグインで機能拡張可能にするためにやったこと</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110119/1295404584"/>
        <id>hatenablog://entry/17680117127005404197</id>
        <published>2011-01-19T11:36:24+09:00</published>
        <updated>2011-01-19T02:36:24+09:00</updated>        <summary type="html">ここら辺を参考に。 プラグインで拡張できるJavaプログラムを作る (1/3)：CodeZine（コードジン） http://osima.jp/blog/howto-make-plugin-system-improved.html プラグインのインターフェースを決める とりあえず適当に決める。 priority付けてるのはプラグインが複数あったときに実行順を決めたかっただけ。 package com.example; public interface FooPlugin { public int getPriority(); public Bar execute(Bar bar); } プラグ…</summary>
        <content type="html">&lt;p&gt;ここら辺を参考に。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://codezine.jp/article/detail/1271&quot;&gt;&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3067;&amp;#x62E1;&amp;#x5F35;&amp;#x3067;&amp;#x304D;&amp;#x308B;Java&amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30E0;&amp;#x3092;&amp;#x4F5C;&amp;#x308B; (1/3)&amp;#xFF1A;CodeZine&amp;#xFF08;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x30B8;&amp;#x30F3;&amp;#xFF09;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://osima.jp/blog/howto-make-plugin-system-improved.html&quot;&gt;http://osima.jp/blog/howto-make-plugin-system-improved.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3&quot;&gt;プラグイン&lt;/a&gt;のインターフェースを決める&lt;/h4&gt;
    &lt;p&gt;とりあえず適当に決める。&lt;br /&gt;
priority付けてるのは&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3&quot;&gt;プラグイン&lt;/a&gt;が複数あったときに実行順を決めたかっただけ。&lt;/p&gt;
&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;&lt;span class=&quot;synPreProc&quot;&gt;package&lt;/span&gt; com.example;

&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;interface&lt;/span&gt; FooPlugin {
	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; getPriority();
	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; Bar execute(Bar bar);
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3&quot;&gt;プラグイン&lt;/a&gt;読み込み管理クラスをつくる&lt;/h4&gt;
    &lt;p&gt;最初URLClassLoaderで試してたんだけど、うまくいかないので、RMIClassLoaderに変更。&lt;/p&gt;
&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;&lt;span class=&quot;synPreProc&quot;&gt;package&lt;/span&gt; com.example;

&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.io.File;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.io.IOException;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.rmi.RMISecurityManager;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.rmi.server.RMIClassLoader;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.ArrayList;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.Collections;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.Comparator;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.Iterator;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.jar.Attributes;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.jar.JarFile;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.jar.Manifest;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; java.util.logging.Logger;

&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;class&lt;/span&gt; FooPluginManager {
	&lt;span class=&quot;synType&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;final&lt;/span&gt; Logger logger = Logger.getLogger(FooPluginManager.&lt;span class=&quot;synType&quot;&gt;class&lt;/span&gt;.getName());
	&lt;span class=&quot;synType&quot;&gt;private&lt;/span&gt; ArrayList&amp;lt;FooPlugin&amp;gt; plugins = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; ArrayList&amp;lt;FooPlugin&amp;gt;();

	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; FooPluginManager(String pluginPath) &lt;span class=&quot;synType&quot;&gt;throws&lt;/span&gt; IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
		logger.info(pluginPath);
		&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (System.getSecurityManager() == &lt;span class=&quot;synConstant&quot;&gt;null&lt;/span&gt;) {
			System.setSecurityManager(&lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; RMISecurityManager());
		}
		File dir = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; File(pluginPath);
		String[] files = dir.list();
		&lt;span class=&quot;synStatement&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;synConstant&quot;&gt;0&lt;/span&gt;; i &amp;lt; files.length; i++) {
			&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (files[i].toLowerCase().endsWith(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;.jar&amp;quot;&lt;/span&gt;)) {
				File jarFile = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; File(pluginPath + File.separator + files[i]);
				JarFile jar = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; JarFile(jarFile);
				Manifest manifest = jar.getManifest();
				Attributes attribs = manifest.getMainAttributes();
				String className = attribs.getValue(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;Plugin-Class&amp;quot;&lt;/span&gt;);
				&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (className != &lt;span class=&quot;synConstant&quot;&gt;null&lt;/span&gt;) {
					className = className.trim();
					Class&amp;lt;?&amp;gt; clazz = RMIClassLoader.loadClass(jarFile.toURL(), className);
					logger.info(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;load... &amp;quot;&lt;/span&gt; + className);
					Object obj = clazz.newInstance();
					plugins.add((FooPlugin) obj);
				}
			}
		}
	}

	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; ArrayList&amp;lt;FooPlugin&amp;gt; sort() {
		Collections.sort(plugins, &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; Comparator&amp;lt;FooPlugin&amp;gt;() {
			&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; compare(FooPlugin a, FooPlugin b) {
				&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (a.getPriority() &amp;lt; b.getPriority()) &lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; -&lt;span class=&quot;synConstant&quot;&gt;1&lt;/span&gt;;
				&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt; (a.getPriority() &amp;gt; b.getPriority()) &lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt;  &lt;span class=&quot;synConstant&quot;&gt;1&lt;/span&gt;;
				&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; a.getClass().getCanonicalName().compareTo(b.getClass().getCanonicalName());
			}
		});
		&lt;span class=&quot;synStatement&quot;&gt;for&lt;/span&gt; (Iterator&amp;lt;FooPlugin&amp;gt; iter = plugins.iterator(); iter.hasNext();) {
			logger.info(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;sort... &amp;quot;&lt;/span&gt; + iter.next().getClass().getCanonicalName());
		}
		&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; plugins;
	}
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3&quot;&gt;プラグイン&lt;/a&gt;を書く&lt;/h4&gt;
    &lt;p&gt;2個くらい書いてみる。&lt;/p&gt;
&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;&lt;span class=&quot;synPreProc&quot;&gt;package&lt;/span&gt; com.example;

&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; com.example.Bar;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; com.example.FooPlugin;

&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;class&lt;/span&gt; FooPluginImpl1 &lt;span class=&quot;synType&quot;&gt;implements&lt;/span&gt; FooPlugin {
	&lt;span class=&quot;synType&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; priority = &lt;span class=&quot;synConstant&quot;&gt;2&lt;/span&gt;;

	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; getPriority() {
		&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; priority;
	}

	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; Bar execute(Bar bar) {
		&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; bar;
	}
}
&lt;/pre&gt;&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;&lt;span class=&quot;synPreProc&quot;&gt;package&lt;/span&gt; com.example;

&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; com.example.Bar;
&lt;span class=&quot;synPreProc&quot;&gt;import&lt;/span&gt; com.example.FooPlugin;

&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;class&lt;/span&gt; FooPluginImpl2 &lt;span class=&quot;synType&quot;&gt;implements&lt;/span&gt; FooPlugin {
	&lt;span class=&quot;synType&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; priority = &lt;span class=&quot;synConstant&quot;&gt;1&lt;/span&gt;;

	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;synType&quot;&gt;int&lt;/span&gt; getPriority() {
		&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; priority;
	}

	&lt;span class=&quot;synType&quot;&gt;public&lt;/span&gt; Bar execute(Bar bar) {
		&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; bar;
	}
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%DE%A5%CB%A5%D5%A5%A7%A5%B9%A5%C8&quot;&gt;マニフェスト&lt;/a&gt;を書いてjarファイルをつくる&lt;/h4&gt;
    &lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Eclipse&quot;&gt;Eclipse&lt;/a&gt;のExport機能を使ってjarファイルをつくる。（任意の&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%DE%A5%CB%A5%D5%A5%A7%A5%B9%A5%C8&quot;&gt;マニフェスト&lt;/a&gt;を指定できる。）&lt;/p&gt;

&lt;div class=&quot;section&quot;&gt;
    &lt;h5&gt;p1.mf&lt;/h5&gt;
    &lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;Manifest-Version: 1.0
Plugin-Class: com.example.FooPluginImpl1&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h5&gt;p2.mf&lt;/h5&gt;
    &lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;Manifest-Version: 1.0
Plugin-Class: com.example.FooPluginImpl2&lt;/pre&gt;&lt;p&gt;つくった二つのjarファイルをどこか適当に配置する。&lt;br /&gt;
「C:\&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/jakarta&quot;&gt;jakarta&lt;/a&gt;-&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/tomcat&quot;&gt;tomcat&lt;/a&gt;-6.0\webapps\foo\WEB-INF\plugins」に置いた。&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;メインプログラム&lt;/h4&gt;
    &lt;p&gt;とりあえず読み込んでソートだけしてみる。&lt;/p&gt;
&lt;pre class=&quot;code lang-java&quot; data-lang=&quot;java&quot; data-unlink&gt;		FooPluginManager pm = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; FooPluginManager(&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;C:&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;jakarta-tomcat-6.0&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;webapps&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;WEB-INF&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;plugins&amp;quot;&lt;/span&gt;);
		ArrayList&amp;lt;FooPlugin&amp;gt; plugins = pm.sort();
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/jakarta&quot;&gt;jakarta&lt;/a&gt;-&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/tomcat&quot;&gt;tomcat&lt;/a&gt;-6.0/conf/catalina.policyの変更&lt;/h4&gt;
    &lt;p&gt;とりあえずゆるゆるで。&lt;/p&gt;
&lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;// ========== FOO CODE PERMISSIONS =======================================


// These permissions apply to foo
grant codeBase &amp;#34;file:${catalina.home}/webapps/foo/WEB-INF/classes/-&amp;#34; {
        permission java.security.AllPermission;
};

// These permissions apply to plugin
grant codeBase &amp;#34;file:${catalina.home}/webapps/foo/WEB-INF/plugins/-&amp;#34; {
        permission java.security.AllPermission;
};&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Tomcat&quot;&gt;Tomcat&lt;/a&gt;起動引数を追加&lt;/h4&gt;
    &lt;p&gt;デフォルトだとcatalina.policyは使われず、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/JRE&quot;&gt;JRE&lt;/a&gt;のlib/security/&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/java&quot;&gt;java&lt;/a&gt;.policyが使われる。-securityオプションを付けるとcatalina.policyを使うようになると&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Tomcat&quot;&gt;Tomcat&lt;/a&gt;のドキュメントにあったんだけど、実際に試すとそんなコマンドはないとか言われて困り果てたところ、&lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/tomcat-users/200801.mbox/%3C2828B04F0113CD468E6D1D51DF4362A404AEDA9B@USEA-EXCH2.na.uis.unisys.com%3E&quot;&gt;RE: Simple Security Manager how to ?&lt;/a&gt; というのを見つけた。&lt;br /&gt;
Configure -&gt; [&lt;a class=&quot;okeyword&quot; href=&quot;g:subtech:keyword:Java&quot;&gt;Java&lt;/a&gt;] タブ -&gt; &lt;a class=&quot;okeyword&quot; href=&quot;g:subtech:keyword:Java&quot;&gt;Java&lt;/a&gt; Options&lt;/p&gt;
&lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;-Djava.security.manager
-Djava.security.policy=C:\jakarta-tomcat-6.0\conf\catalina.policy&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;おわり&lt;/h4&gt;
    &lt;p&gt;ログで動作確認。&lt;/p&gt;
&lt;pre class=&quot;code&quot; data-lang=&quot;&quot; data-unlink&gt;2011/01/19 10:54:17 com.example.FooPluginManager &amp;lt;init&amp;gt;
INFO: C:\jakarta-tomcat-6.0\webapps\foo\WEB-INF\plugins
2011/01/19 10:54:17 com.example.FooPluginManager &amp;lt;init&amp;gt;
INFO: load... com.example.FooPluginImpl1
2011/01/19 10:54:17 com.example.FooPluginManager &amp;lt;init&amp;gt;
INFO: load... com.example.FooPluginImpl2
2011/01/19 10:54:17 com.example.FooPluginManager sort
INFO: sort... com.example.FooPluginImpl2
2011/01/19 10:54:17 com.example.FooPluginManager sort
INFO: sort... com.example.FooPluginImpl1&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;そのほか読んだリソース&lt;/h4&gt;
    
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://d.hatena.ne.jp/NobiNobiKota/20050915/1126868552&quot;&gt;RMI&amp;#x306E;&amp;#x30B5;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9; &amp;#x305D;&amp;#x306E;1 - &amp;#x306E;&amp;#x3073;&amp;#x306E;&amp;#x3073;&amp;#x306A;&amp;#x30E1;&amp;#x30E2;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/uguide/tomcat-security.html&quot;&gt;http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/uguide/tomcat-security.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/policytool.html&quot;&gt;Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</content>        
        <category term="java" label="java" />
        
        <category term="tomcat" label="tomcat" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005404197/1554212249" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>放置していたtumblrを再動させつつあるので、やっつけbookmarklet書いた。</title>
        <link href="https://kageroh.hatenadiary.org/entry/20110116/1295105936"/>
        <id>hatenablog://entry/17680117127005404829</id>
        <published>2011-01-16T00:38:56+09:00</published>
        <updated>2011-01-15T15:38:56+09:00</updated>        <summary type="html">選択範囲からそれっぽい引用HTMLを生成 javascript:(function(d,t,s,r,f){t.appendChild(d.createTextNode([&#39;&lt;blockquote%20title=&quot;&#39;+document.title+&#39;&quot;%20cite=&quot;&#39;+location.href+&#39;&quot;&gt;&lt;dl&gt;&#39;,&#39;&lt;dt&gt;&#39;+f(s.shift())+&#39;&lt;/dt&gt;&#39;,(s.length&gt;0?&#39;&lt;dd&gt;&lt;pre&gt;&#39;+s.map(function(v){v=f(v);v=v.replace(r,&#39;&lt;a%20href=&quot;$1;&quot;&gt;$1;&lt;/a&gt;&#39;);return%20v}).join(&#39;\n&#39;…</summary>
        <content type="html">
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;選択範囲からそれっぽい引用HTMLを生成&lt;/h4&gt;
    &lt;pre class=&quot;code lang-javascript&quot; data-lang=&quot;javascript&quot; data-unlink&gt;javascript:(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(d,t,s,r,f)&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;t.appendChild(d.createTextNode(&lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;blockquote%20title=&amp;quot;&#39;&lt;/span&gt;+&lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;.title+&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;quot;%20cite=&amp;quot;&#39;&lt;/span&gt;+&lt;span class=&quot;synStatement&quot;&gt;location&lt;/span&gt;.href+&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;quot;&amp;gt;&amp;lt;dl&amp;gt;&#39;&lt;/span&gt;,&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;dt&amp;gt;&#39;&lt;/span&gt;+f(s.shift())+&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;/dt&amp;gt;&#39;&lt;/span&gt;,(s.length&amp;gt;0?&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;dd&amp;gt;&amp;lt;pre&amp;gt;&#39;&lt;/span&gt;+s.map(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(v)&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;v=f(v);v=v.replace(r,&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;a%20href=&amp;quot;$1;&amp;quot;&amp;gt;$1;&amp;lt;/a&amp;gt;&#39;&lt;/span&gt;);&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt;%20v&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;).join(&lt;span class=&quot;synSpecial&quot;&gt;&#39;\n&#39;&lt;/span&gt;)+&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;/pre&amp;gt;&amp;lt;/dd&amp;gt;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;&lt;/span&gt;:&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;)+&lt;span class=&quot;synConstant&quot;&gt;&#39;&amp;lt;/dl&amp;gt;&amp;lt;/blockquote&amp;gt;&#39;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;]&lt;/span&gt;.join(&lt;span class=&quot;synSpecial&quot;&gt;&#39;\n&#39;&lt;/span&gt;)));&lt;span class=&quot;synStatement&quot;&gt;with&lt;/span&gt;(t.style)&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;position=&lt;span class=&quot;synConstant&quot;&gt;&#39;fixed&#39;&lt;/span&gt;;bottom=left=0;zIndex=999;width=&lt;span class=&quot;synConstant&quot;&gt;&#39;90%&#39;&lt;/span&gt;;height=&lt;span class=&quot;synConstant&quot;&gt;&#39;9em&#39;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;d.body.appendChild(t);t.addEventListener(&lt;span class=&quot;synConstant&quot;&gt;&#39;blur&#39;&lt;/span&gt;,&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;()&lt;span class=&quot;synIdentifier&quot;&gt;{this&lt;/span&gt;.parentNode.removeChild(&lt;span class=&quot;synIdentifier&quot;&gt;this&lt;/span&gt;)&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;,&lt;span class=&quot;synConstant&quot;&gt;false&lt;/span&gt;);t.select()&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)(&lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;,&lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;.createElement(&lt;span class=&quot;synConstant&quot;&gt;&#39;textarea&#39;&lt;/span&gt;),getSelection().toString().split(&lt;span class=&quot;synConstant&quot;&gt;/\n/&lt;/span&gt;).filter(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(v)v),&lt;span class=&quot;synConstant&quot;&gt;/(https?:\/\/[\-_.!~*\&#39;()\w;\/?:\@&amp;amp;=+\$,%#]+)/g&lt;/span&gt;,&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(s)s.replace(&lt;span class=&quot;synConstant&quot;&gt;/^\s+|\s+$/&lt;/span&gt;,&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;))
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;cite属性値からanchor要素を生成&lt;/h4&gt;
    &lt;p&gt;昔からあるやつです。僕は&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Firefox&quot;&gt;Firefox&lt;/a&gt;を使っていて、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/CSS&quot;&gt;CSS&lt;/a&gt;の擬似要素でcontent:attr(cite)とかされてても嬉しくないので。&lt;/p&gt;
&lt;pre class=&quot;code lang-javascript&quot; data-lang=&quot;javascript&quot; data-unlink&gt;javascript:(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(d,q)&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Array&lt;/span&gt;.prototype.slice.apply(q(&lt;span class=&quot;synConstant&quot;&gt;&#39;blockquote,q&#39;&lt;/span&gt;)).forEach(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(b)&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;b.appendChild(d.createTextNode(b.cite))&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)(&lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;,&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(q)&lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;.querySelectorAll(q))
&lt;/pre&gt;
&lt;/div&gt;</content>        
        <category term="bookmarklet" label="bookmarklet" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005404829/1554212257" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>僕の Ado</title>
        <link href="https://kageroh.hatenadiary.org/entry/20101210/1291947977"/>
        <id>hatenablog://entry/17680117127005405010</id>
        <published>2010-12-10T11:26:17+09:00</published>
        <updated>2010-12-10T02:26:17+09:00</updated>        <summary type="html">ado.wsc ado.wsc · GitHub こういうのを書いて ado.wsc で保存して、右クリックで COM 登録して使ってる。 GUID は GUIDの生成 - Ci.nsIZIGOROu - Mozilla 拡張機能勉強会 でやると便利ですよ。 saveFile メソッドは utf-8n 用。 ADODB.Streamオブジェクトを使ってBOMなしUTF-8のファイルを作成する方法 - 大人になったら肺呼吸</summary>
        <content type="html">
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;ado.wsc&lt;/h4&gt;
    
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gist.github.com/735663&quot;&gt;ado.wsc &amp;middot; GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;こういうのを書いて ado.wsc で保存して、右クリックで COM 登録して使ってる。&lt;br /&gt;
GUID は &lt;a href=&quot;http://moz-addon.g.hatena.ne.jp/ZIGOROu/20071023/1193157583&quot;&gt;GUID&amp;#x306E;&amp;#x751F;&amp;#x6210; - Ci.nsIZIGOROu - Mozilla &amp;#x62E1;&amp;#x5F35;&amp;#x6A5F;&amp;#x80FD;&amp;#x52C9;&amp;#x5F37;&amp;#x4F1A;&lt;/a&gt; でやると便利ですよ。&lt;br /&gt;
saveFile メソッドは utf-8n 用。 &lt;a href=&quot;http://d.hatena.ne.jp/replication/20091117/1258418243&quot;&gt;ADODB.Stream&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;BOM&amp;#x306A;&amp;#x3057;UTF-8&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5; - &amp;#x5927;&amp;#x4EBA;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x80BA;&amp;#x547C;&amp;#x5438;&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;</content>        
        <category term="wsh" label="wsh" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005405010/1554212259" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ENTITY使ってますか</title>
        <link href="https://kageroh.hatenadiary.org/entry/20101014/1287060693"/>
        <id>hatenablog://entry/17680117127005405404</id>
        <published>2010-10-14T21:51:33+09:00</published>
        <updated>2010-10-14T12:51:33+09:00</updated>        <summary type="html">全国のXMLerの皆さん、ENTITY使ってますか。DTDをそらで書ける皆さんなら当然使ってますよね。たとえば、Androidの設定ファイルなんかでも、 main.xml &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;!DOCTYPE LinearLayout [ &lt;!ENTITY padding &#39;10dp&#39;&gt; &lt;!ENTITY view.text &#39; &lt;TextView android:text=&quot;copy&quot; android:layout_width=&quot;fill_parent&quot; android:layout_height=&quot;wrap_content&quot; an…</summary>
        <content type="html">&lt;p&gt;全国のXMLerの皆さん、ENTITY使ってますか。&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/DTD&quot;&gt;DTD&lt;/a&gt;をそらで書ける皆さんなら当然使ってますよね。たとえば、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Android&quot;&gt;Android&lt;/a&gt;の設定ファイルなんかでも、&lt;/p&gt;

&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;main.&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/xml&quot;&gt;xml&lt;/a&gt;&lt;/h4&gt;
    &lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;&lt;span class=&quot;synComment&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xml version&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt; encoding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;DOCTYPE&lt;/span&gt; LinearLayout &lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;	&amp;lt;!&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;ENTITY&lt;/span&gt; padding &lt;span class=&quot;synConstant&quot;&gt;&#39;10dp&#39;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;	&amp;lt;!&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;ENTITY&lt;/span&gt; view.text &lt;span class=&quot;synConstant&quot;&gt;&#39;&lt;/span&gt;
&lt;span class=&quot;synConstant&quot;&gt;		&amp;lt;TextView&lt;/span&gt;
&lt;span class=&quot;synConstant&quot;&gt;			android:text=&amp;quot;copy&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synConstant&quot;&gt;			android:layout_width=&amp;quot;fill_parent&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synConstant&quot;&gt;			android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synConstant&quot;&gt;			android:padding=&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synConstant&quot;&gt;	&#39;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;]&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xmlns&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;orientation&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;vertical&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;fill_parent&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;fill_parent&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;

	&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;ListView &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;@+id/list_view_select&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;fill_parent&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;wrap_content&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;padding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;

	&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;Spinner&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;fill_parent&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;wrap_content&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;padding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;

	&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;RatingBar&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;fill_parent&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;wrap_content&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;padding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;

	&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;EditText&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;hint&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;コメント&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;fill_parent&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;layout_height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;wrap_content&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;padding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;

	&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;paddingの共通値に使ってみたり、Viewを複製してみたり、&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;strings.&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/xml&quot;&gt;xml&lt;/a&gt;&lt;/h4&gt;
    &lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;&lt;span class=&quot;synComment&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;xml version&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt; encoding&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;synComment&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;DOCTYPE&lt;/span&gt; resources &lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;    &amp;lt;!&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;ENTITY&lt;/span&gt; serv &lt;span class=&quot;synConstant&quot;&gt;&#39;http://localhost/&#39;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;]&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;resources&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;app_name&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;Layout&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;url_hoge&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;serv&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;hoge&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;url_piyo&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;serv&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;piyo&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;url_fuga&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;serv&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;;&lt;/span&gt;fuga&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;text_view_camera&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;カメラ&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;text_view_camera_role&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;カメラロール&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;文字列の共通部分とかにも！ 簡単でしょ？&lt;/p&gt;

&lt;/div&gt;</content>        
        <category term="xml" label="xml" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005405404/1554212263" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Linuxでtitanium起動</title>
        <link href="https://kageroh.hatenadiary.org/entry/20101012/1286872821"/>
        <id>hatenablog://entry/17680117127005405726</id>
        <published>2010-10-12T17:40:21+09:00</published>
        <updated>2010-10-12T08:40:21+09:00</updated>        <summary type="html">rm ~/.titanium/runtime/linux/1.0.0/libgobject-2.0.* rm ~/.titanium/runtime/linux/1.0.0/libglib-2.0.* rm ~/.titanium/runtime/linux/1.0.0/libgio-2.0.* rm ~/.titanium/runtime/linux/1.0.0/libgthread-2.0.* http://developer.appcelerator.com/question/14471/symbol-lookup-error-usrliblibgdk-x11-20so0-undefin…</summary>
        <content type="html">
    &lt;blockquote cite=&quot;http://developer.appcelerator.com/question/14471/symbol-lookup-error-usrliblibgdk-x11-20so0-undefined-symbol-gmallocn-solved&quot;&gt;
        &lt;pre class=&quot;code lang-sh&quot; data-lang=&quot;sh&quot; data-unlink&gt;&lt;span class=&quot;synStatement&quot;&gt;rm&lt;/span&gt; ~/.titanium/runtime/linux/1.0.0/libgobject-2.0.*
&lt;span class=&quot;synStatement&quot;&gt;rm&lt;/span&gt; ~/.titanium/runtime/linux/1.0.0/libglib-2.0.*
&lt;span class=&quot;synStatement&quot;&gt;rm&lt;/span&gt; ~/.titanium/runtime/linux/1.0.0/libgio-2.0.*
&lt;span class=&quot;synStatement&quot;&gt;rm&lt;/span&gt; ~/.titanium/runtime/linux/1.0.0/libgthread-2.0.*
&lt;/pre&gt;
        &lt;cite&gt;&lt;a href=&quot;http://developer.appcelerator.com/question/14471/symbol-lookup-error-usrliblibgdk-x11-20so0-undefined-symbol-gmallocn-solved&quot;&gt;http://developer.appcelerator.com/question/14471/symbol-lookup-error-usrliblibgdk-x11-20so0-undefined-symbol-gmallocn-solved&lt;/a&gt;&lt;/cite&gt;
    &lt;/blockquote&gt;
&lt;p&gt;つうか、消していいんですかね……&lt;/p&gt;
</content>        
        <category term="titanium" label="titanium" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005405726/1554212267" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
    <entry>
        <title>proxy環境下でtitanium起動</title>
        <link href="https://kageroh.hatenadiary.org/entry/20101012/1286872820"/>
        <id>hatenablog://entry/17680117127005405622</id>
        <published>2010-10-12T17:40:20+09:00</published>
        <updated>2010-10-12T08:40:20+09:00</updated>        <summary type="html">$ export HTTP_PROXY=proxy.example.com:8080 $ export HTTPS_PROXY=proxy.example.com:8080</summary>
        <content type="html">&lt;pre class=&quot;code lang-sh&quot; data-lang=&quot;sh&quot; data-unlink&gt;$ &lt;span class=&quot;synStatement&quot;&gt;export&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;  HTTP_PROXY=&lt;/span&gt;proxy.example.com:&lt;span class=&quot;synConstant&quot;&gt;8080&lt;/span&gt;
$ &lt;span class=&quot;synStatement&quot;&gt;export&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; HTTPS_PROXY=&lt;/span&gt;proxy.example.com:&lt;span class=&quot;synConstant&quot;&gt;8080&lt;/span&gt;
&lt;/pre&gt;</content>        
        <category term="titanium" label="titanium" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005405622/1554212266" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>multipart/form-data</title>
        <link href="https://kageroh.hatenadiary.org/entry/20101009/1286571149"/>
        <id>hatenablog://entry/17680117127005406284</id>
        <published>2010-10-09T05:52:29+09:00</published>
        <updated>2010-10-08T20:52:29+09:00</updated>        <summary type="html">どうやるのが正解なんだろう。アプレットからWebサーバへファイルアップロード(高速化・大容量対応) - 今日覚えたこと のコードをほとんどコピペさせていただいたのだけど、そのままでは動かなかったので、動くやつをGistに上げといた。 Post.java · GitHub</summary>
        <content type="html">&lt;p&gt;どうやるのが正解なんだろう。&lt;a href=&quot;http://d.hatena.ne.jp/nacookan/20080108/1199774995&quot;&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EC;&amp;#x30C3;&amp;#x30C8;&amp;#x304B;&amp;#x3089;Web&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3078;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;(&amp;#x9AD8;&amp;#x901F;&amp;#x5316;&amp;#x30FB;&amp;#x5927;&amp;#x5BB9;&amp;#x91CF;&amp;#x5BFE;&amp;#x5FDC;) - &amp;#x4ECA;&amp;#x65E5;&amp;#x899A;&amp;#x3048;&amp;#x305F;&amp;#x3053;&amp;#x3068;&lt;/a&gt; のコードをほとんどコピペさせていただいたのだけど、そのままでは動かなかったので、動くやつをGistに上げといた。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://gist.github.com/617519&quot;&gt;Post.java &amp;middot; GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>        
        <category term="java" label="java" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005406284/1554212273" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>免許証ジェネレータ</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100930/1285839682"/>
        <id>hatenablog://entry/17680117127005406570</id>
        <published>2010-09-30T18:41:22+09:00</published>
        <updated>2010-09-30T09:41:22+09:00</updated>        <summary type="html">というのを作った。mm単位で指定してるからディスプレイ上だとちょっと小さい。ブラウザのズーム機能を使ってください。印刷すると、ほぼ本物と同じサイズ、同じ座標に項目が並ぶはず。Windowsのフォントでしか確認してませーん。LinuxとMac OSのフォントに詳しい人、誰か直してください ＞＜ 免許証ジェネレータ (Firefox only) - js do it</summary>
        <content type="html">&lt;p&gt;というのを作った。mm単位で指定してるからディスプレイ上だとちょっと小さい。ブラウザのズーム機能を使ってください。印刷すると、ほぼ本物と同じサイズ、同じ座標に項目が並ぶはず。&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Windows&quot;&gt;Windows&lt;/a&gt;のフォントでしか確認してませーん。&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Linux&quot;&gt;Linux&lt;/a&gt;と&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Mac%20OS&quot;&gt;Mac OS&lt;/a&gt;のフォントに詳しい人、誰か直してください ＞＜&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://jsrun.it/amasawa/hntY&quot;&gt;&amp;#x514D;&amp;#x8A31;&amp;#x8A3C;&amp;#x30B8;&amp;#x30A7;&amp;#x30CD;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF; (Firefox only) - js do it&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>        
        <category term="css" label="css" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005406570/1554212277" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>■</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100915/1284491196"/>
        <id>hatenablog://entry/17680117127005406732</id>
        <published>2010-09-15T04:06:36+09:00</published>
        <updated>2010-09-14T19:06:36+09:00</updated>        <summary type="html">id:cho45:20100915#1284483258 ご迷惑おかけしました。とても気分を害されたと思います、申し訳ありません。お時間をとらせてしまったこと、重ねてお詫びします。同じ内容をTwitterにも投稿し、Togetter末尾に追加しました。先頭に持って来たほうがよいかと悩みましたが、時系列を重視しました。装飾し、目立たせるようにしています。 ここ数日の僕の言動で@cho45さんに誤解を抱いてしまった方へ。すべて私の被害妄想でした。どうか認識を改め直していただきたく、お願い致します。お騒がせしましたこと、申し訳ありません。</summary>
        <content type="html">
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.hatena.ne.jp/cho45/&quot;&gt;id:cho45&lt;/a&gt;:20100915#1284483258&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;ご迷惑おかけしました。とても気分を害されたと思います、申し訳ありません。お時間をとらせてしまったこと、重ねてお詫びします。同じ内容を&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Twitter&quot;&gt;Twitter&lt;/a&gt;にも投稿し、Togetter末尾に追加しました。先頭に持って来たほうがよいかと悩みましたが、時系列を重視しました。装飾し、目立たせるようにしています。&lt;br /&gt;
ここ数日の僕の言動で@cho45さんに誤解を抱いてしまった方へ。すべて私の被害妄想でした。どうか認識を改め直していただきたく、お願い致します。お騒がせしましたこと、申し訳ありません。&lt;/p&gt;
</content>        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005406732/1554212279" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>XSLTProcessorを使い回して何度もtransformToFragmentさせていたらDFが解放されてなかった件</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100902/1283385299"/>
        <id>hatenablog://entry/17680117127005406848</id>
        <published>2010-09-02T08:54:59+09:00</published>
        <updated>2010-09-01T23:54:59+09:00</updated>        <summary type="html">なんか関係なかったかも…… うーん XULアプリxwitterというtwitterクライアントを個人的に作っていて、まぁユーザは僕一人なんですが、手に馴染んでいるし、ほしい機能は自分で追加できるので愛用しています。 xwitterではtwitterのRESTレスポンスXMLをXSLTでXHTMLに変換しているのですが、ずっとメモリリークしていて困っていました。クロージャまみれなので、その辺なのかなぁと疑ってはみたものの、なかなか解決しなかったのですが、今朝ふと気づいたのが掲題の件です。 該当部分のコードを抜き出すと、まずXSLTProcessor生成関数。 var xsltproc = fun…</summary>
        <content type="html">&lt;ins datetime=&quot;2010-09-02T13:29:34+09:00&quot;&gt;&lt;p&gt;なんか関係なかったかも…… うーん&lt;/p&gt;
&lt;/ins&gt;&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XUL&quot;&gt;XUL&lt;/a&gt;アプリ&lt;a href=&quot;http://github.com/kageroh/xwitter&quot;&gt;xwitter&lt;/a&gt;という&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/twitter&quot;&gt;twitter&lt;/a&gt;クライアントを個人的に作っていて、まぁユーザは僕一人なんですが、手に馴染んでいるし、ほしい機能は自分で追加できるので愛用しています。&lt;br /&gt;
xwitterでは&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/twitter&quot;&gt;twitter&lt;/a&gt;のRESTレスポンス&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XML&quot;&gt;XML&lt;/a&gt;を&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XSLT&quot;&gt;XSLT&lt;/a&gt;で&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XHTML&quot;&gt;XHTML&lt;/a&gt;に変換しているのですが、ずっと&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%E1%A5%E2%A5%EA%A5%EA%A1%BC%A5%AF&quot;&gt;メモリリーク&lt;/a&gt;していて困っていました。&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A1%BC%A5%B8%A5%E3&quot;&gt;クロージャ&lt;/a&gt;まみれなので、その辺なのかなぁと疑ってはみたものの、なかなか解決しなかったのですが、今朝ふと気づいたのが掲題の件です。&lt;br /&gt;
該当部分のコードを抜き出すと、まずXSLTProcessor生成関数。&lt;/p&gt;
&lt;pre class=&quot;code lang-javascript&quot; data-lang=&quot;javascript&quot; data-unlink&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt; xsltproc = &lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(path) &lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt; doc = &lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;.implementation.createDocument(&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;, &lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;, &lt;span class=&quot;synStatement&quot;&gt;null&lt;/span&gt;);
	doc.async = &lt;span class=&quot;synConstant&quot;&gt;false&lt;/span&gt;;
	doc.load(path);
	&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt; proc = &lt;span class=&quot;synStatement&quot;&gt;new&lt;/span&gt; XSLTProcessor();
	proc.importStylesheet(doc);
	&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt; proc;
&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;;
&lt;/pre&gt;&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XSLT&quot;&gt;XSLT&lt;/a&gt;かける度に毎回newしていてはコストがかかるだろうなぁと思って、最初にプロセッサを作るだけにしていました。&lt;/p&gt;
&lt;pre class=&quot;code lang-javascript&quot; data-lang=&quot;javascript&quot; data-unlink&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt; myXsltproc = xsltproc(&lt;span class=&quot;synConstant&quot;&gt;&#39;chrome://xwitter/content/xwitter.xsl&#39;&lt;/span&gt;);
&lt;/pre&gt;&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XSLT&quot;&gt;XSLT&lt;/a&gt;変換をかけて、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XHTML&quot;&gt;XHTML&lt;/a&gt;のDOMツリーにinsertBeforeしているところ。&lt;/p&gt;
&lt;pre class=&quot;code lang-javascript&quot; data-lang=&quot;javascript&quot; data-unlink&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt; df = myXsltproc.transformToFragment(xml, &lt;span class=&quot;synStatement&quot;&gt;document&lt;/span&gt;);
_box.insertBefore(df, _box.firstChild);
&lt;/pre&gt;&lt;p&gt;そして、メモリ圧迫してきたら、そのDOMツリーを空にする処理。&lt;/p&gt;
&lt;pre class=&quot;code lang-javascript&quot; data-lang=&quot;javascript&quot; data-unlink&gt;_box.style.display = &lt;span class=&quot;synConstant&quot;&gt;&#39;none&#39;&lt;/span&gt;;
_box.innerHTML = &lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;;
_box.style.display = &lt;span class=&quot;synConstant&quot;&gt;&#39;block&#39;&lt;/span&gt;;
&lt;/pre&gt;&lt;p&gt;しかし全く&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%AC%A1%BC%A5%D9%A5%B8%A5%B3%A5%EC%A5%AF%A5%B7%A5%E7%A5%F3&quot;&gt;ガーベジコレクション&lt;/a&gt;されていないようです。おかしい。insertBefore後dfは参照しませんし、DOMツリーからも抹消しているのに。どうやらmyXsltprocがずっとDocumentFragmentを掴んでいるみたいでした。解放するメソッドとかないんでしょうか。resetメソッドというのがありましたが、&lt;q cite=&quot;https://developer.mozilla.org/en/using_the_mozilla_javascript_interface_to_xsl_transformations#Resetting&quot;&gt;remove all stylesheets and parameters&lt;/q&gt;と書かれています。せっかくimportStylesheetしたのを消されても困りますし、もう一度newするコストと比べて軽いのかどうかも怪しい感じです…… 仕方なく&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/XSLT&quot;&gt;XSLT&lt;/a&gt;変換の度に毎回newすることにしました…… これでしばらく様子を見ます……&lt;/p&gt;
</content>        
        <category term="gecko" label="gecko" />
        
        <category term="xslt" label="xslt" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005406848/1554212280" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>■</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100827/1282864959"/>
        <id>hatenablog://entry/17680117127005407035</id>
        <published>2010-08-27T08:22:39+09:00</published>
        <updated>2010-08-26T23:22:39+09:00</updated>        <summary type="html">仮想ハードディスクサイズをできるだけ小さくしてバックアップしよう。 VirtualBoxの可変サイズの仮想ストレージを詰めてコンパクトにする - kanonji’s diary VirtualBox: VDI を圧縮する - no disturbado</summary>
        <content type="html">&lt;p&gt;仮想ハードディスクサイズをできるだけ小さくしてバックアップしよう。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://d.hatena.ne.jp/kanonji/20100318/1268904950&quot;&gt;VirtualBox&amp;#x306E;&amp;#x53EF;&amp;#x5909;&amp;#x30B5;&amp;#x30A4;&amp;#x30BA;&amp;#x306E;&amp;#x4EEE;&amp;#x60F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30EC;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x8A70;&amp;#x3081;&amp;#x3066;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30AF;&amp;#x30C8;&amp;#x306B;&amp;#x3059;&amp;#x308B; - kanonji&amp;rsquo;s diary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://d.hatena.ne.jp/asesino/20090328/&quot;&gt;VirtualBox: VDI &amp;#x3092;&amp;#x5727;&amp;#x7E2E;&amp;#x3059;&amp;#x308B; - no disturbado&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>        
        <category term="virtualbox" label="virtualbox" />
        
        <category term="windows" label="windows" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005407035/1554212282" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>WinXP SP3 適用ブータブルディスク作成の流れ</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100826/1282800046"/>
        <id>hatenablog://entry/17680117127005407236</id>
        <published>2010-08-26T14:20:46+09:00</published>
        <updated>2010-08-26T05:20:46+09:00</updated>        <summary type="html">y2blog » Windows XP SP3 インストールCDの作成 笛田薫Blog: ImgBurnでBootable Disc Free Web Hosting - Your Website need to be migrated</summary>
        <content type="html">
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://y2web.net/blog/computer/misc/winxpsp3-bootable-cd-823/&quot;&gt;y2blog &amp;raquo; Windows XP SP3 &amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;CD&amp;#x306E;&amp;#x4F5C;&amp;#x6210;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://fuedakaoru.blogspot.com/2009/11/imgburnbootable-disc.html&quot;&gt;&amp;#x7B1B;&amp;#x7530;&amp;#x85AB;Blog: ImgBurn&amp;#x3067;Bootable Disc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hothiroshima.site40.net/?p=48&quot;&gt;Free Web Hosting - Your Website need to be migrated&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>        
        <category term="windows" label="windows" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005407236/1554212285" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>■</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100821/1282331758"/>
        <id>hatenablog://entry/17680117127005407487</id>
        <published>2010-08-21T04:15:58+09:00</published>
        <updated>2010-08-20T19:15:58+09:00</updated>        <summary type="html">xwitter を OAuth 認証にした。そこからコードを抜き出して JS で Twitter の OAuth やるならまあこんな感じじゃねっていうサンプルを貼っておく。Same origin policy に引っかかる環境では動かせない。あくまでサンプル。oauth.js 使うよ。 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot; /&gt; &lt;title&gt;OAuth test&lt;/title&gt; &lt;script src=&quot;oauth.js&quot;&gt;&lt;/script&gt; &lt;script src=&quot;sha1.js&quot;&gt;&lt;/script&gt; &lt;script sr…</summary>
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://github.com/kageroh/xwitter&quot;&gt;xwitter&lt;/a&gt; を OAuth 認証にした。そこからコードを抜き出して JS で &lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Twitter&quot;&gt;Twitter&lt;/a&gt; の OAuth やるならまあこんな感じじゃねっていうサンプルを貼っておく。Same origin policy に引っかかる環境では動かせない。あくまでサンプル。&lt;a href=&quot;http://oauth.googlecode.com/svn/code/javascript/&quot;&gt;oauth.js&lt;/a&gt; 使うよ。&lt;/p&gt;
&lt;pre class=&quot;code lang-html&quot; data-lang=&quot;html&quot; data-unlink&gt;&lt;span class=&quot;synComment&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;OAuth test&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;oauth.js&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;sha1.js&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;jquery-1.4.2.min.js&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;jquery.cookie.js&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;jQuery&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;$&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _consumer_token = &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _consumer_token_secret = &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _pref_access_token = &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;access_token&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _pref_access_token_secret = &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;access_token_secret&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _oauth_token = $.cookie&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;_pref_access_token&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; || &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _oauth_token_secret = $.cookie&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;_pref_access_token_secret&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; || &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _message = &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;spec&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; that = &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{}&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;		that.action = spec.url;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		that.method = spec.type;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		that.parameters = &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;[]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;		OAuth.setParameter&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;that, &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;oauth_consumer_key&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;, _consumer_token&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;_oauth_token&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			OAuth.setParameter&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;that, &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;oauth_token&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;, _oauth_token&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; data = spec.data;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; prop &lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data.hasOwnProperty&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;prop&lt;/span&gt;))&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				OAuth.setParameter&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;that, prop, data&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;prop&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;]&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;		OAuth.setTimestampAndNonce&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;that&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		OAuth.SignatureMethod.sign&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;that, &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  consumerSecret : _consumer_token_secret,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  tokenSecret    : _oauth_token_secret&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; that;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; _init = &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;()&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; message = _message&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  type : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;GET&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  url  : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;https://api.twitter.com/1/statuses/home_timeline.xml&#39;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		$.ajax&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  type : message.method,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  url  : message.action,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  data : OAuth.getParameterMap&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;message.parameters&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  success: &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;alert&lt;/span&gt;(&lt;span class=&quot;synConstant&quot;&gt;&#39;success!&#39;&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;()&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;_oauth_token &amp;amp;&amp;amp; _oauth_token_secret&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			_init&lt;/span&gt;()&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; re_token        = &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;/oauth_token=([^&amp;amp;]+)/&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; re_token_secret = &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;/oauth_token_secret=([^&amp;amp;]+)/&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; message = _message&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  type : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;GET&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  url  : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;https://api.twitter.com/oauth/request_token&#39;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		$.ajax&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  type : message.method,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  url  : message.action,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  data : OAuth.getParameterMap&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;message.parameters&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  success: &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  _oauth_token        = &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt; re_token.exec&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;        || &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;[]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;)&lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;1&lt;span class=&quot;synIdentifier&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  _oauth_token_secret = &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt; re_token_secret.exec&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; || &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;[]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;)&lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;1&lt;span class=&quot;synIdentifier&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; message = _message&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				type : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;GET&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				url  : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;https://api.twitter.com/oauth/authorize&#39;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; win = &lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.open&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;OAuth.addToURL&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;message.action, message.parameters&lt;/span&gt;))&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; oauth_verifier = $.trim&lt;/span&gt;(&lt;span class=&quot;synStatement&quot;&gt;prompt&lt;/span&gt;(&lt;span class=&quot;synConstant&quot;&gt;&#39;PIN&#39;&lt;/span&gt;))&lt;span class=&quot;synSpecial&quot;&gt;; win.close&lt;/span&gt;()&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; message = _message&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				type : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;POST&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				url  : &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;https://api.twitter.com/oauth/access_token&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				data : &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synConstant&quot;&gt;&#39;oauth_verifier&#39;&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;: oauth_verifier &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  $.ajax&lt;/span&gt;(&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				type : message.method,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				url  : message.action,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				data : OAuth.getParameterMap&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;message.parameters&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				success: &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;					_oauth_token        = &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt; re_token.exec&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;        || &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;[]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;)&lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;1&lt;span class=&quot;synIdentifier&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;					_oauth_token_secret = &lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt; re_token_secret.exec&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt; || &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;[]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt; &lt;/span&gt;)&lt;span class=&quot;synIdentifier&quot;&gt;[&lt;/span&gt;1&lt;span class=&quot;synIdentifier&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;					$.cookie&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;_pref_access_token, _oauth_token&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;					$.cookie&lt;/span&gt;(&lt;span class=&quot;synSpecial&quot;&gt;_pref_access_token_secret, _oauth_token_secret&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;					_init&lt;/span&gt;()&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;				&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;			  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synSpecial&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)()&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;}&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synPreProc&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;synStatement&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/HTA&quot;&gt;HTA&lt;/a&gt;だと一応動くかな。&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/cookie&quot;&gt;cookie&lt;/a&gt;保存がダメみたいだけど。&lt;/p&gt;
</content>        
        <category term="twitter" label="twitter" />
        
        <category term="oauth" label="oauth" />
        
        <category term="javascript" label="javascript" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005407487/1554212288" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>■</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100816/1281943181"/>
        <id>hatenablog://entry/17680117127005407779</id>
        <published>2010-08-16T16:19:41+09:00</published>
        <updated>2010-08-16T07:19:41+09:00</updated>        <summary type="html">13時30分頃、外出から帰宅すると痛み出した。 えーと、頭痛が毎日すぎて、めんどくさい</summary>
        <content type="html">&lt;p&gt;13時30分頃、外出から帰宅すると痛み出した。&lt;br /&gt;
えーと、頭痛が毎日すぎて、めんどくさい&lt;/p&gt;
</content>        
        <category term="zutoo" label="zutoo" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005407779/1554212291" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>■</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100815/1281933716"/>
        <id>hatenablog://entry/17680117127005407875</id>
        <published>2010-08-15T13:41:56+09:00</published>
        <updated>2010-08-15T04:41:56+09:00</updated>        <summary type="html">頭痛日記をはじめる。何が誘因か調べる。 16時頃、外出から帰宅すると痛み出した。おじぎテストで脈打つようにズキンズキンと悪化。レルパックス服用30分程度ですっきりと治る。 天気は晴れ。外にいたのはバス待ち往復分で10分とバス停からの徒歩2〜3分。 用事は、昼過ぎにエアコンが壊れ、修理を依頼したところ、19日と言われて、それでは猫がばててしまうと思い、エアコンを買いに行った。 昼はレンジで2分の釜飯もどきを食べた。</summary>
        <content type="html">&lt;p&gt;頭痛日記をはじめる。何が誘因か調べる。&lt;br /&gt;
16時頃、外出から帰宅すると痛み出した。おじぎテストで脈打つようにズキンズキンと悪化。&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%EC%A5%EB%A5%D1%A5%C3%A5%AF%A5%B9&quot;&gt;レルパックス&lt;/a&gt;服用30分程度ですっきりと治る。&lt;br /&gt;
天気は晴れ。外にいたのはバス待ち往復分で10分とバス停からの徒歩2〜3分。&lt;br /&gt;
用事は、昼過ぎにエアコンが壊れ、修理を依頼したところ、19日と言われて、それでは猫がばててしまうと思い、エアコンを買いに行った。&lt;br /&gt;
昼はレンジで2分の釜飯もどきを食べた。&lt;/p&gt;
</content>        
        <category term="zutoo" label="zutoo" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005407875/1554212292" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>iOS4からCFDataGetBytePtrの戻りが以前と異なる問題について</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100810/1281420103"/>
        <id>hatenablog://entry/17680117127005407965</id>
        <published>2010-08-10T15:01:43+09:00</published>
        <updated>2010-08-10T06:01:43+09:00</updated>        <summary type="html">CFDataGetBytePtr(CGDataProviderCopyData(CGImageGetDataProvider(cgImage))); で取得したイメージRAWデータがiPhoneとiPadで違うよ。いちいち躓く俺・・・ ダメだな。 Hideki Suzuki on Twitter: &quot;CFDataGetBytePtr(CGDataProviderCopyData(CGImageGetDataProvider(cgImage))); で取得したイメージRAWデータがiPhoneとiPadで違うよ。いちいち躓く俺・・・ ダメだな。&quot; CFDataGetBytePtrで取ったデータの…</summary>
        <content type="html">
    &lt;blockquote cite=&quot;http://twitter.com/K240/status/12076194788&quot;&gt;
        &lt;p&gt;CFDataGetBytePtr(CGDataProviderCopyData(CGImageGetDataProvider(cgImage))); で取得したイメージRAWデータが&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/iPhone&quot;&gt;iPhone&lt;/a&gt;と&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/iPad&quot;&gt;iPad&lt;/a&gt;で違うよ。いちいち躓く俺・・・ ダメだな。&lt;/p&gt;

        &lt;cite&gt;&lt;a href=&quot;http://twitter.com/K240/status/12076194788&quot;&gt;Hideki Suzuki on Twitter: &amp;quot;CFDataGetBytePtr(CGDataProviderCopyData(CGImageGetDataProvider(cgImage))); &amp;#x3067;&amp;#x53D6;&amp;#x5F97;&amp;#x3057;&amp;#x305F;&amp;#x30A4;&amp;#x30E1;&amp;#x30FC;&amp;#x30B8;RAW&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x304C;iPhone&amp;#x3068;iPad&amp;#x3067;&amp;#x9055;&amp;#x3046;&amp;#x3088;&amp;#x3002;&amp;#x3044;&amp;#x3061;&amp;#x3044;&amp;#x3061;&amp;#x8E93;&amp;#x304F;&amp;#x4FFA;&amp;#x30FB;&amp;#x30FB;&amp;#x30FB; &amp;#x30C0;&amp;#x30E1;&amp;#x3060;&amp;#x306A;&amp;#x3002;&amp;quot;&lt;/a&gt;&lt;/cite&gt;
    &lt;/blockquote&gt;

    &lt;blockquote cite=&quot;http://twitter.com/iphone_dev_jp/status/9628926436&quot;&gt;
        &lt;p&gt;CFDataGetBytePtrで取ったデータのRGBAの順番は取得できるんでしょうか？環境によって順序が違うようで…シミュレータの問題なのかな&lt;/p&gt;

        &lt;cite&gt;&lt;a href=&quot;http://twitter.com/iphone_dev_jp/status/9628926436&quot;&gt;iphone_dev_jp on Twitter: &amp;quot;CFDataGetBytePtr&amp;#x3067;&amp;#x53D6;&amp;#x3063;&amp;#x305F;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x306E;RGBA&amp;#x306E;&amp;#x9806;&amp;#x756A;&amp;#x306F;&amp;#x53D6;&amp;#x5F97;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3093;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;&amp;#xFF1F;&amp;#x74B0;&amp;#x5883;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x9806;&amp;#x5E8F;&amp;#x304C;&amp;#x9055;&amp;#x3046;&amp;#x3088;&amp;#x3046;&amp;#x3067;&amp;hellip;&amp;#x30B7;&amp;#x30DF;&amp;#x30E5;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x306A;&amp;#x306E;&amp;#x304B;&amp;#x306A; [@haruuraran]&amp;quot;&lt;/a&gt;&lt;/cite&gt;
    &lt;/blockquote&gt;
&lt;p&gt;そもそもの問題として、実機とシミュレータで異なる。&lt;/p&gt;

    &lt;blockquote cite=&quot;http://twitter.com/moringo/statuses/16779965874&quot;&gt;
        &lt;p&gt;iPhone4をベース&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/SDK&quot;&gt;SDK&lt;/a&gt;に変更したら、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%D4%A5%AF%A5%BB%A5%EB&quot;&gt;ピクセル&lt;/a&gt;の色データがrgbaからargbの順に変わった&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%B4%F5%A5%AC%A5%B9&quot;&gt;希ガス&lt;/a&gt;。そう言う仕様変更？それとも、なんか自分が悪いのか。&lt;/p&gt;

        &lt;cite&gt;&lt;a href=&quot;http://twitter.com/moringo/statuses/16779965874&quot;&gt;http://twitter.com/moringo/statuses/16779965874&lt;/a&gt;&lt;/cite&gt;
    &lt;/blockquote&gt;
&lt;p&gt;それがどうも&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/iOS4&quot;&gt;iOS4&lt;/a&gt;から実機とシミュレータで同じになっているようなのだ。なんでこんなうんこみたいなことになっているのか。CFDataGetBytePtrで生データ取るやり方は&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Apple&quot;&gt;Apple&lt;/a&gt;的には非推奨なんじゃねーの?とか疑って調べてみると、こういう記事が出てきた。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://ameblo.jp/xcc/entry-10304812483.html&quot;&gt;http://ameblo.jp/xcc/entry-10304812483.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;CGBitmapContextCreateを使うとよしなにやってくれるらしい。&lt;/p&gt;

&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;before&lt;/h4&gt;
    &lt;pre class=&quot;code lang-objc&quot; data-lang=&quot;objc&quot; data-unlink&gt;CGDataProviderRef dataProvider = CGImageGetDataProvider(originalImage.CGImage);
CFDataRef dataRef = CGDataProviderCopyData(dataProvider);
&lt;span class=&quot;synType&quot;&gt;char&lt;/span&gt; *buffer = (&lt;span class=&quot;synType&quot;&gt;char&lt;/span&gt;*)CFDataGetBytePtr(dataRef);
CFRelease(dataRef);
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;after&lt;/h4&gt;
    &lt;pre class=&quot;code lang-objc&quot; data-lang=&quot;objc&quot; data-unlink&gt;CGImageRef cgImage = originalImage.CGImage;
&lt;span class=&quot;synType&quot;&gt;size_t&lt;/span&gt; width = CGImageGetWidth(cgImage);
&lt;span class=&quot;synType&quot;&gt;size_t&lt;/span&gt; height = CGImageGetHeight(cgImage);

&lt;span class=&quot;synType&quot;&gt;char&lt;/span&gt; *buffer = (&lt;span class=&quot;synType&quot;&gt;char&lt;/span&gt;*)malloc(&lt;span class=&quot;synStatement&quot;&gt;sizeof&lt;/span&gt;(&lt;span class=&quot;synType&quot;&gt;char&lt;/span&gt;) * width * height * &lt;span class=&quot;synConstant&quot;&gt;4&lt;/span&gt;);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef cgContext = CGBitmapContextCreate(buffer, width, height, &lt;span class=&quot;synConstant&quot;&gt;8&lt;/span&gt;, width * &lt;span class=&quot;synConstant&quot;&gt;4&lt;/span&gt;, colorSpace, kCGImageAlphaPremultipliedLast);
CGContextSetBlendMode(cgContext, kCGBlendModeCopy);
CGContextDrawImage(cgContext, CGRectMake(&lt;span class=&quot;synConstant&quot;&gt;0.0f&lt;/span&gt;, &lt;span class=&quot;synConstant&quot;&gt;0.0f&lt;/span&gt;, width, height), cgImage);

free(buffer);
CGContextRelease(cgContext);
CGColorSpaceRelease(colorSpace);
&lt;/pre&gt;
&lt;/div&gt;</content>        
        <category term="iphone" label="iphone" />
        
        <category term="objective-c" label="objective-c" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005407965/1554212293" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>WPFはローカルファイルにアクセスできるからと言ってもXBAP(WPFブラウザアプリケーション)として起動したらそんなことないですよ</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100805/1280978350"/>
        <id>hatenablog://entry/17680117127005408750</id>
        <published>2010-08-05T12:19:10+09:00</published>
        <updated>2010-08-05T03:19:10+09:00</updated>        <summary type="html">セキュリティ (WPF) | Microsoft Docs セキュリティゾーンのレベルいじれば行けそうな気がしたけど、そんなこともなかった。</summary>
        <content type="html">
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/ja-jp/library/aa349158.aspx&quot;&gt;&amp;#x30BB;&amp;#x30AD;&amp;#x30E5;&amp;#x30EA;&amp;#x30C6;&amp;#x30A3; (WPF) | Microsoft Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;セキュリティゾーンのレベルいじれば行けそうな気がしたけど、そんなこともなかった。&lt;/p&gt;
</content>        
        <category term="wpf" label="wpf" />
        
        <category term="xbap" label="xbap" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005408750/1554212303" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
    <entry>
        <title>MediaElementへのURL指定はクロスドメイン制約を受けるよ</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100805/1280977136"/>
        <id>hatenablog://entry/17680117127005408612</id>
        <published>2010-08-05T11:58:56+09:00</published>
        <updated>2010-08-05T02:58:56+09:00</updated>        <summary type="html">&lt;MediaElement Width=&quot;640&quot; Height=&quot;480&quot; AllowDrop=&quot;True&quot; AutoPlay=&quot;True&quot; Name=&quot;MediaObject&quot; Source=&quot;http://localhost/media/waterbuss.wmv&quot; MediaFailed=&quot;MediaFailedHander&quot; /&gt; とかやって、Silverlightをローカルファイルから実行する(普通VisualStudioからデバッグするのでそうなる)とAG_E_NETWORK_ERRORが出る。htmlとxapをHTTPサーバ上に置いてやって、URLから実行すれば再生されるます。</summary>
        <content type="html">&lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;            &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;MediaElement &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;640&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;480&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;AllowDrop&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;True&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;AutoPlay&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;True&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;MediaObject&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;                          &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Source&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;http://localhost/media/waterbuss.wmv&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;MediaFailed&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;MediaFailedHander&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;とかやって、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Silverlight&quot;&gt;Silverlight&lt;/a&gt;をローカルファイルから実行する(普通VisualStudioから&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0&quot;&gt;デバッグ&lt;/a&gt;するのでそうなる)とAG_E_NETWORK_ERRORが出る。htmlとxapをHTTPサーバ上に置いてやって、URLから実行すれば再生されるます。&lt;/p&gt;
</content>        
        <category term="silverlight" label="silverlight" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005408612/1554212301" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
    <entry>
        <title>MediaElementで相対パス指定ができないことがあった(再現したりしなかったりなのでうんこ療法)</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100805/1280976890"/>
        <id>hatenablog://entry/17680117127005408480</id>
        <published>2010-08-05T11:54:50+09:00</published>
        <updated>2010-08-05T02:54:50+09:00</updated>        <summary type="html">&lt;MediaElement Name=&quot;MediaObject&quot; MediaFailed=&quot;MediaFailedHander&quot; /&gt; public MainPage() { InitializeComponent(); /**/ MediaObject.Source = new Uri(&quot;waterbuss.wmv&quot;, UriKind.Relative); MediaObject.Width = 320; MediaObject.Height = 240; /**/ } UriKind.Relativeと明示してやる。なんかうまく行く。うーん……</summary>
        <content type="html">&lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;            &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;MediaElement &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;MediaObject&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;MediaFailed&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;MediaFailedHander&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre class=&quot;code lang-csp&quot; data-lang=&quot;csp&quot; data-unlink&gt;        public &lt;span class=&quot;synType&quot;&gt;MainPage&lt;/span&gt;()
        {
            &lt;span class=&quot;synType&quot;&gt;InitializeComponent&lt;/span&gt;()&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
            /**/
            &lt;span class=&quot;synType&quot;&gt;MediaObject&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Source&lt;/span&gt; = new &lt;span class=&quot;synType&quot;&gt;Uri&lt;/span&gt;(&amp;quot;waterbuss&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;wmv&amp;quot;, &lt;span class=&quot;synType&quot;&gt;UriKind&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Relative&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;synType&quot;&gt;MediaObject&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Width&lt;/span&gt; = &lt;span class=&quot;synConstant&quot;&gt;320&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;synType&quot;&gt;MediaObject&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Height&lt;/span&gt; = &lt;span class=&quot;synConstant&quot;&gt;240&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
            /**/
        }
&lt;/pre&gt;&lt;p&gt;UriKind.Relativeと明示してやる。なんかうまく行く。うーん……&lt;/p&gt;
</content>        
        <category term="silverlight" label="silverlight" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005408480/1554212299" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
    <entry>
        <title>Windowsのシステムサウンド(*.wav)をMediaElementで再生させようとしてハマった</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100805/1280976649"/>
        <id>hatenablog://entry/17680117127005408216</id>
        <published>2010-08-05T11:50:49+09:00</published>
        <updated>2010-08-05T02:50:49+09:00</updated>        <summary type="html">全然再生できなくて困ったので、MediaFaild属性付けてエラーメッセージ拾ってみた。 &lt;MediaElement Width=&quot;640&quot; Height=&quot;480&quot; AllowDrop=&quot;True&quot; AutoPlay=&quot;True&quot; Name=&quot;MediaObject&quot; Source=&quot;/MediaElement;component/Bin/Debug/startup.wav&quot; MediaFailed=&quot;MediaFailedHander&quot; /&gt; private void MediaFailedHander(object sender, ExceptionRoutedEventArgs e) …</summary>
        <content type="html">&lt;p&gt;全然再生できなくて困ったので、MediaFaild属性付けてエラーメッセージ拾ってみた。&lt;/p&gt;
&lt;pre class=&quot;code lang-xml&quot; data-lang=&quot;xml&quot; data-unlink&gt;            &lt;span class=&quot;synIdentifier&quot;&gt;&amp;lt;MediaElement &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Width&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;640&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Height&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;480&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;AllowDrop&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;True&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;AutoPlay&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;True&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Name&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;MediaObject&amp;quot;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;                          &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Source&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;/MediaElement;component/Bin/Debug/startup.wav&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; &lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;MediaFailed&lt;/span&gt;=&lt;span class=&quot;synConstant&quot;&gt;&amp;quot;MediaFailedHander&amp;quot;&lt;/span&gt;&lt;span class=&quot;synIdentifier&quot;&gt; /&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre class=&quot;code lang-csp&quot; data-lang=&quot;csp&quot; data-unlink&gt;        private void &lt;span class=&quot;synType&quot;&gt;MediaFailedHander&lt;/span&gt;(object sender, &lt;span class=&quot;synType&quot;&gt;ExceptionRoutedEventArgs&lt;/span&gt; e)
        {
            &lt;span class=&quot;synType&quot;&gt;MessageBox&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Show&lt;/span&gt;(e&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;ErrorException&lt;/span&gt;&lt;span class=&quot;synSpecial&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;synType&quot;&gt;Message&lt;/span&gt;)&lt;span class=&quot;synSpecial&quot;&gt;;&lt;/span&gt;
        }
&lt;/pre&gt;&lt;p&gt;AG_E_INVALID_FILE_FORMATが出る。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/japan/silverlight/faq.aspx#faq_q15&quot;&gt;http://www.microsoft.com/japan/silverlight/faq.aspx#faq_q15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/ja-jp/library/cc189080%28v=VS.95%29.aspx&quot;&gt;Supported Media Formats, Protocols, and Log Fields | Microsoft Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/WMA&quot;&gt;WMA&lt;/a&gt;とMP3しかサポートしてない＼(^o^)／&lt;/p&gt;

    &lt;blockquote cite=&quot;http://msdn.microsoft.com/ja-jp/library/cc189080%28v=VS.95%29.aspx&quot;&gt;
        &lt;p&gt;8 ビットまたは 16 ビットのリニア PCM (パルス符号変調)、ほぼ WAV 形式に該当&lt;/p&gt;

        &lt;cite&gt;&lt;a href=&quot;http://msdn.microsoft.com/ja-jp/library/cc189080%28v=VS.95%29.aspx&quot;&gt;Supported Media Formats, Protocols, and Log Fields | Microsoft Docs&lt;/a&gt;&lt;/cite&gt;
    &lt;/blockquote&gt;
&lt;p&gt;には対応と書いてあるけど、&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/Windows&quot;&gt;Windows&lt;/a&gt;のシステム&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9&quot;&gt;サウンド&lt;/a&gt;(*.wav)は違うってことか。やれやれです。&lt;br /&gt;
あと、ビデオもWMVファイルだから行けるだろうとか思っていると、コーデックが違ったりしてハマりがち。&lt;/p&gt;
</content>        
        <category term="silverlight" label="silverlight" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005408216/1554212296" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>SlippyにSlidyやS5のincrementalがほしいなぁと思って</title>
        <link href="https://kageroh.hatenadiary.org/entry/20100728/1280287242"/>
        <id>hatenablog://entry/17680117127005408989</id>
        <published>2010-07-28T12:20:42+09:00</published>
        <updated>2010-07-28T03:20:42+09:00</updated>        <summary type="html">サンプル http://dmw.vg/slippy/template.html ソースコード GitHub - kageroh/slippy: HTML Presentations slippy-0.9.0.js @@ -2,6 +2,9 @@ * Slippy * Copyright (C) 2010, Jordi Boggiano * http://seld.be/ - j.boggiano@seld.be + * + * Modified 2010-07-28, Masao YOKOYAMA + * http://goo.gl/rZJa - masao.yokoyama@gmail.co…</summary>
        <content type="html">
&lt;dl&gt;
&lt;dt&gt;サンプル&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;http://dmw.vg/slippy/template.html&quot;&gt;http://dmw.vg/slippy/template.html&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;a class=&quot;keyword&quot; href=&quot;http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9&quot;&gt;ソースコード&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;http://github.com/kageroh/slippy&quot;&gt;GitHub - kageroh/slippy: HTML Presentations&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;h4&gt;slippy-0.9.0.js&lt;/h4&gt;
    &lt;pre class=&quot;code lang-diff&quot; data-lang=&quot;diff&quot; data-unlink&gt;&lt;span class=&quot;synStatement&quot;&gt;@@ -2,6 +2,9 @@&lt;/span&gt;
  * Slippy
  * Copyright (C) 2010, Jordi Boggiano
  * http://seld.be/ - j.boggiano@seld.be
&lt;span class=&quot;synIdentifier&quot;&gt;+ * &lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+ * Modified 2010-07-28, Masao YOKOYAMA&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+ * http://goo.gl/rZJa - masao.yokoyama@gmail.com&lt;/span&gt;
  *
  * Licensed under the new BSD License
  * See the LICENSE file for details
&lt;span class=&quot;synStatement&quot;&gt;@@ -12,9 +15,11 @@&lt;/span&gt;
 // Slide deck module
 (function($) {
     var slides, curSlide, options, inOverview,
&lt;span class=&quot;synIdentifier&quot;&gt;+        incrementals, curIncremental,&lt;/span&gt;
         // methods
         buildSlide, preparePreTags, executeCode, nextSlide, prevSlide, showSlide, setSlide,
&lt;span class=&quot;synSpecial&quot;&gt;-        keyboardNav, antiScroll, urlChange, autoSize, clickNav, animInForward, animInRewind, animOutForward, animOutRewind;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        keyboardNav, antiScroll, urlChange, autoSize, clickNav, animInForward, animInRewind, animOutForward, animOutRewind,&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        incrementalBefore, incrementalAfter;&lt;/span&gt;
 
     /**
      * Init slides
&lt;span class=&quot;synStatement&quot;&gt;@@ -316,22 +321,42 @@&lt;/span&gt;
         $(slide).animate({left: &#39;150%&#39;}, options.animLen);
     };
 
&lt;span class=&quot;synIdentifier&quot;&gt;+    incrementalBefore = function(el) {&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        $(el).css({ opacity: 0.1 });&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+    };&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+    incrementalAfter = function(el) {&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        $(el).css({ opacity: 1 });&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+    };&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+&lt;/span&gt;
     nextSlide = function(e) {
&lt;span class=&quot;synIdentifier&quot;&gt;+        if (curSlide !== -1) {&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            if (!incrementals) {&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+                incrementals = $(&#39;.incremental &amp;gt; *&#39;, slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+                incrementals.parent().removeClass(&#39;incremental&#39;);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            }&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            if (incrementals.length &amp;gt; 0) {&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+                options.incrementalAfter(incrementals[curIncremental]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+                if (curIncremental++ &amp;lt; incrementals.length) { return; }&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            }&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            incrementals = null; curIncremental = 0;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        }&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+&lt;/span&gt;
         if (slides.length &amp;lt; curSlide + 2) { return; }
         if (slides[curSlide]) {
&lt;span class=&quot;synSpecial&quot;&gt;-            animOutForward(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            options.animOutForward(slides[curSlide]);&lt;/span&gt;
         }
         setSlide(curSlide+1);
&lt;span class=&quot;synSpecial&quot;&gt;-        animInForward(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        options.animInForward(slides[curSlide]);&lt;/span&gt;
         $.history.load(curSlide+1);
     };
 
     prevSlide = function(e) {
         if (curSlide &amp;lt;= 0) { return; }
&lt;span class=&quot;synSpecial&quot;&gt;-        animOutRewind(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        options.animOutRewind(slides[curSlide]);&lt;/span&gt;
         setSlide(curSlide-1);
         if (slides[curSlide]) {
&lt;span class=&quot;synSpecial&quot;&gt;-            animInRewind(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            options.animInRewind(slides[curSlide]);&lt;/span&gt;
         }
         $.history.load(curSlide+1);
     };
&lt;span class=&quot;synStatement&quot;&gt;@@ -342,16 +367,16 @@&lt;/span&gt;
         if (slides[curSlide]) {
             direction = curSlide &amp;lt; target ? &#39;forward&#39; : &#39;rewind&#39;;
             if (direction === &#39;forward&#39;) {
&lt;span class=&quot;synSpecial&quot;&gt;-                animOutForward(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+                options.animOutForward(slides[curSlide]);&lt;/span&gt;
             } else {
&lt;span class=&quot;synSpecial&quot;&gt;-                animOutRewind(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+                options.animOutRewind(slides[curSlide]);&lt;/span&gt;
             }
         }
         setSlide(target);
         if (direction === &#39;forward&#39;) {
&lt;span class=&quot;synSpecial&quot;&gt;-            animInForward(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            options.animInForward(slides[curSlide]);&lt;/span&gt;
         } else {
&lt;span class=&quot;synSpecial&quot;&gt;-            animInRewind(slides[curSlide]);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            options.animInRewind(slides[curSlide]);&lt;/span&gt;
         }
         $.history.load(curSlide+1);
     };
&lt;span class=&quot;synStatement&quot;&gt;@@ -385,7 +410,9 @@&lt;/span&gt;
             animOutForward: animOutForward,
             animOutRewind: animOutRewind,
             // width/height ratio of the slides, defaults to 1.3 (620x476)
&lt;span class=&quot;synSpecial&quot;&gt;-            ratio: 1.3&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            ratio: 1.3,&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            incrementalBefore: incrementalBefore,&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            incrementalAfter: incrementalAfter&lt;/span&gt;
         };
 
         options = $.extend(defaults, settings);
&lt;span class=&quot;synStatement&quot;&gt;@@ -401,9 +428,12 @@&lt;/span&gt;
         this.last().addClass(&#39;lastslide&#39;);
         $(&#39;.layout&#39;).remove();
 
&lt;span class=&quot;synIdentifier&quot;&gt;+        curIncremental = 0;&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+        $(&#39;.incremental &amp;gt; *&#39;).each(function(idx, el) { options.incrementalBefore(el); });&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+&lt;/span&gt;
         $(document)
             .click(clickNav)
&lt;span class=&quot;synSpecial&quot;&gt;-            .keyup(keyboardNav);&lt;/span&gt;
&lt;span class=&quot;synIdentifier&quot;&gt;+            .keydown(keyboardNav);&lt;/span&gt;
 
         slides.touch({
             swipeLeft: nextSlide,
&lt;/pre&gt;
&lt;/div&gt;</content>        
        <category term="memo" label="memo" />
        
        <link rel="enclosure" href="https://ogimage.blog.st-hatena.com/17680117127005395334/17680117127005408989/1554212306" type="image/png" length="0" />

        <author>
            <name>kageroh_</name>
        </author>
    </entry>
    
  
</feed>
