<?xml version="1.0" encoding="UTF-8"?>

<feed version="0.3" xmlns="http://purl.org/atom/ns#">
    <title>cles::blog</title>
    <link rel="alternate" type="text/html" href="http://blog.cles.jp" />
    <generator url="http://nucleuscms.org/">Nucleus CMS v3.31SP3</generator>
    <modified>2010-03-18T19:03:00+09:00</modified>
    <entry>
 <title type="text/html" mode="escaped"><![CDATA[IPAがまとめたSQLインジェクション対策マニュアル]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3471" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-19T03:50:09+09:00</modified>
 <issued>2010-03-18T19:03:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<p>IPAがSQLインジェクション対策のためのドキュメント「<strong>安全なSQLの呼び出し方</strong>」を公開しています。</p>
<p><a href="http://www.ipa.go.jp/security/vuln/press/201003_websecurity_sql.html">情報処理推進機構：情報セキュリティ：脆弱性対策 :「安全なSQLの呼び出し方」を公開</a></p>
<blockquote>2008年頃から急増しているSQLインジェクション攻撃が全体の45%、ウェブサーバのパスワードファイルや環境設定ファイルの情報を狙ったディレクトリ・トラバーサル攻撃が38%を占めています。<br />
<br />
　このうち、SQLインジェクション攻撃は、攻撃が成功した場合、ウェブサイトの改ざんや不正コードの設置、ウェブサイトからの情報漏えいなど、深刻な被害が発生することから、IPAでは、SQLインジェクション攻撃への具体的な対策を解説した資料「安全なSQLの呼び出し方」を制作しました。</blockquote>
<p>SQLインジェクションは<a href="http://blog.cles.jp/item/3432">脆弱性の原因となるプログラムの間違いランキング</a>でも、クロスサイトスクリプティングに続いて、２位にランクされているくらいメジャーな問題なので、ウェブアプリケーションを開発するエンジニアは是非とも目を通しておきたいところです。検証されているプロダクト構成は下記の５つ。PHP+MySQLがないのが個人的にはとても残念。</p>
<blockquote>・Java + Oracle<br />
・PHP + MDB2 +PostgreSQL<br />
・Perl + MySQL<br />
・Java + MySQL<br />
・ASP.NET + SQL Server</blockquote>
<br />]]></content>
 <id>http://blog.cles.jp:1:3471</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3471" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[学術総合センターの食堂]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3470" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-19T03:57:28+09:00</modified>
 <issued>2010-03-18T11:46:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<div class="leftbox"><a href="atom.php?imagepopup=1/20100318-P1010214.JPG&amp;width=800&amp;height=600&amp;imagetext=%EF%BC%A2%E3%83%A9%E3%83%B3%E3%83%81%EF%BC%88%E9%B6%8F%E3%81%AE%E3%81%8A%E3%82%8D%E3%81%97%E3%82%BF%E3%83%84%E3%82%BF%E6%8F%9A%E3%81%92%EF%BC%89" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=800,height=600');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100318-P1010214.JPG" width="250" height="188" alt="Ｂランチ（鶏のおろしタツタ揚げ）" title="Ｂランチ（鶏のおろしタツタ揚げ）" /></a></div>
<p>今日は研究会参加のため、国立情報学研究所がある学術総合センターの食堂でランチ。食券売り場のメニュー紹介が液晶ディスプレイになっていたりと、ムダにハイテク化されていました。確かNTT CS研の食堂もそうでしたが、研究所の食堂ってなんでこうなんでしょうか。</p>
<p><a href="http://blog.cles.jp/item/3448">ウチの大学の食堂</a>に比べると、よっぽどこちらの方が大学の食堂という感じです。</p>
<br />]]></content>
 <id>http://blog.cles.jp:1:3470</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3470" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[シェ・ミカワ ]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3468" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-18T00:02:23+09:00</modified>
 <issued>2010-03-17T12:10:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<div class="rightbox"><a href="atom.php?imagepopup=1/20100317-P1010207.JPG&amp;width=800&amp;height=600&amp;imagetext=%E4%BB%8A%E9%80%B1%E3%81%AE%E3%83%A9%E3%83%B3%E3%83%81%EF%BC%88%E3%83%A1%E3%83%80%E3%82%A4%E3%81%AE%E3%82%BD%E3%83%86%E3%83%BC%E3%80%80%E7%B2%92%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%89%E3%82%BD%E3%83%BC%E3%82%B9%EF%BC%89" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=800,height=600');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100317-P1010207.JPG" width="250" height="188" alt="今週のランチ（メダイのソテー　粒マスタードソース）" title="今週のランチ（メダイのソテー　粒マスタードソース）" /></a></div>
<p>今日は久しぶりに赤坂でランチ。</p>
<p>メニューからは何料理のお店か分からなかったのですが、<a href="http://www.chez-mikawa.co.jp/">お店のWeb</a>を調べるとベルギー料理のお店みたいです。外から見るより店内はかなり広く、洋風のレストランに似つかわない、靴を脱いで座る居酒屋の掘りごたつ席のような場所もあります。時間が早かったので入店時にはガラガラでしたが、食事が終わる頃にはいつの間にかほぼ満席になっていました。</p>
<p>今週のランチメニューは魚料理がメダイのソテー粒マスタードソース、鳥料理が若鶏のソテークリームソース、サーモンのスパゲッティ、サーロインステーキ、シカ肉のステーキという感じだったので、メダイのソテー粒マスタードソース（\900）を頼んでみました。マスタードソースはちょっとクリームの味が強すぎてメダイの味がよくわからなかったのは残念。個人的にはもうちょっとマスタードの香りとパンチの効いていると良かったのですが。メインの皿の他には、サラダ、スープ、パン又はライスがつきます。ちなみにパンはおかわり自由でした。</p>
<br /><p><span class="contentmrk"><a id="s3468-1" href="#s3468-1">&dagger;</a>  詳細情報</span></p>
<p><strong>シェ・ミカワ</strong></p>
<p><a href="javascript:void(0)" onclick="map0=openmap0('');map0.focus();return false;">東京都港区赤坂3-13-4</a> 赤坂三河家ビル 2F<br />
03-3583-5212<br />
平日: 11:30～13:30、17:30～23:00<br />
土: 17:30～22:00<br />
日祝休</p>
]]></content>
 <id>http://blog.cles.jp:1:3468</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3468" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[REALFORCE 106]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3467" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-17T23:41:43+09:00</modified>
 <issued>2010-03-16T17:48:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<div class="rightbox"><a href="http://www.amazon.co.jp/exec/obidos/redirect?path=ASIN/B000EQHU4Y&amp;link_code=as2&amp;camp=247&amp;tag=clesblog-22&amp;creative=1211" ref="nofollow" target="_blank" onClick="javascript:pageTracker._trackPageview('/amazon/B000EQHU4Y');"><img src="http://ecx.images-amazon.com/images/I/41Z9ZY3FB0L._SS250_.jpg"  width="250" height="250"  border="0"  alt="東プレ LA0100 REALFORCE106" /></a></div>
<p>研究室に自分用ではないREALFORCE 106が届いていたので、こっそりと試し打ち。</p>
<p>自宅で使っている、<a href="http://blog.cles.jp/item/2801">HHK Pro JP</a>と同じ静電容量無接点方式。HHKはキー配列が独特ですが、Realforceはスタンダードな配列です。キーストロークはどちらの製品も、4mmのはずなのですが、気のせいかこちらの方がちょっとストロークが浅い感じがします。普段からHHK Pro JPは少しストロークが深すぎるなと感じているので、これはちょっと羨ましい。キー荷重はRealforce独特の変荷重タイプですが、個人的にはあまり違いが感じられませんでした。</p>
<p>そういえば、今どきUSBでなくPS/2モデルなんか注文して大丈夫なのだろうかとちょっと心配になったり。</p>
<br />]]></content>
 <id>http://blog.cles.jp:1:3467</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3467" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[ロジクール エニウェア マウス M905]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3466" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-17T23:27:07+09:00</modified>
 <issued>2010-03-16T17:06:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<div class="leftbox"><a href="http://www.amazon.co.jp/exec/obidos/redirect?path=ASIN/B002SRT8F6&amp;link_code=as2&amp;camp=247&amp;tag=clesblog-22&amp;creative=1211" ref="nofollow" target="_blank" onClick="javascript:pageTracker._trackPageview('/amazon/B002SRT8F6');"><img src="http://ecx.images-amazon.com/images/I/410hWNOfpTL._SS250_.jpg"  width="250" height="250"  border="0"  alt="LOGICOOL エニウェア マウス M905 M905" /></a></div>
<p>マウスを<a href="http://blog.cles.jp/item/1524">Logicool VX Nano</a>から前々から気になっていた後継モデルのM905に交換しました。ガラスの上でも使えるというやつです。VX Nanoは自宅のデスクに敷いている<strong>ビニールのデスクマット上だとマウスパッドが必須だった</strong>のですが、M905にしたところマウスパッドが必要なくなってなかなか良い感じです。</p>
<p>マウス本体の大きさはVX nanoとほぼ変わりません。VX nanoは進む・戻るボタンがお世辞にも押しやすい位置にはありませんでしたが、この<strong>進む・戻るボタンの位置がマウスの脇に変更されていて押しやすくなりました</strong>。VX nanoは電源ボタンが押しづらく、電源を切り忘れる事が多かったのですが、このモデルは<strong>センサーの部分がスライド式の蓋になっていて、蓋を閉めると電源がOFFになる仕組み</strong>になっているので、電源を切り忘れることも少なくなりそうです。この辺りの地味な改良は嬉しいところです。</p>
<p>電池は<strong>単４×２から単３×２になっているので重量的には少し重くなりました</strong>。ネットで調べて見ると、電池の持ちを気にしないのであれば<strong>単３×１でも動作可能</strong>だという記述を見つけたので、しばらく単３×１で使ってみようと思います。</p>
<p>Logicoolのマウスはこれまではレシーバーとマウスが１対１対応だったので、小さなレシーバーをなくすとマウスがゴミになってしまうという問題がありましたが、M905からはUnifyingレシーバーというデバイスとレシーバー対応が変えられるようになっています。Unifyingレシーバーの大きさもこれまでのnanoレシーバーと同じ大きさなのでPCに刺したまま持ち運びできます。</p>
<p>ということで満足度はかなり高いです。小さいマウスが好きで、ちょっとお金を出しても良いという場合には間違いなくオススメです。</p>
<br />]]></content>
 <id>http://blog.cles.jp:1:3466</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3466" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[確定申告完了！]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3465" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-15T23:12:07+09:00</modified>
 <issued>2010-03-15T23:11:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<p>去年は夕方には確定申告完了していたと思いますが、今年は期限の１時間前になんとか提出完了。<br />
提出の最遅記録を更新してしまいました。</p>
<p>原因は支払調書や源泉徴収票の枚数が例年になく多くて検算に時間がかかったことと、<strong>住基カードに入っている証明書のパスワードを失念していて、思い出すのに時間がかかったこと</strong>が大きいです。来年はもう少し余裕を持ってやりたいものです。</p>
<p>来年の今頃には忘れているだろうから、メモを残しておきます。<br />
　→<strong>公的個人認証の期限が2011/02/11までなので、確定申告前に区役所に行くこと！</strong></p>
<br />]]></content>
 <id>http://blog.cles.jp:1:3465</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3465" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[Google Apps Scriptで超簡易版RSSリーダーを書いてみた]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3464" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-15T11:01:16+09:00</modified>
 <issued>2010-03-14T16:31:46+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<p><a href="http://blog.cles.jp/item/3460">先日、Google Apps Scriptを調べていて</a>、他サイトからデータを引っ張ってこれることが分かったので、<strong>試しにRSSを他サイトから引っ張ってくるスクリプトを書いてみました</strong>。</p>
<p>XMLの解析にXPathとか使えないので、現状ではXMLの解釈がかなりハードコーディングになってしまっているものの、こんな感じで実装できるんだなぁということは確認できました。そのほかにも、User-Agentが標準で出力されないので、自分のサーバにHTTPコネクションが弾かれたり、日本語の情報がきわめて少なかったりと、色々ハマるポイントは尽きないと思います。</p>
<p>最終的に出来たのは下記のような、<strong>スプレッドシートの左上のセル(A1)にRSSのURLを入力して、Fetchボタンを押すとRSSを取得して、A2に以下にタイトル、B2以下にURLを出力する</strong>というもの。</p>
<p><a href="atom.php?imagepopup=1/20100314-GAS_7.png&amp;width=1134&amp;height=748&amp;imagetext=%E8%B6%85%E7%B0%A1%E6%98%93RSS%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%E5%AE%8C%E6%88%90%E7%89%88" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_7.png" width="250" height="165" alt="超簡易RSSリーダー完成版" title="超簡易RSSリーダー完成版" /></a></p>
<p>以下完成までのメモ。</p>
<br /><p><span class="contentmrk"><a id="s3464-1" href="#s3464-1">&dagger;</a>  新しいスプレッドシートを開く</span></p>
<p>Google Docsで新しいスプレッドシートを開く。<br />
A1のセルにRSSのURLを入力しておく。今回は下記を利用。</p>
<div class="text hs">http://blog.cles.jp/xml-rss2.php</div>
<p><a href="atom.php?imagepopup=1/20100314-GAS_1.png&amp;width=1134&amp;height=748&amp;imagetext=%E6%96%B0%E3%81%97%E3%81%84%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92%E9%96%8B%E3%81%8F" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_1.png" width="250" height="165" alt="新しいスプレッドシートを開く" title="新しいスプレッドシートを開く" /></a><br />
<br />
<span class="contentmrk"><a id="s3464-2" href="#s3464-2">&dagger;</a>  スクリプトエディタを開く</span><br />
<br />
メニューの「Tools」->「Scripts」->「Script editor ...」を選択すると、別ウィンドウでスクリプトエディタが開く。<br />
<a href="atom.php?imagepopup=1/20100314-GAS_2.png&amp;width=1134&amp;height=748&amp;imagetext=%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E9%96%8B%E3%81%8F" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_2.png" width="250" height="165" alt="スクリプトエディタを開く" title="スクリプトエディタを開く" /></a><br />
<br />
<br />
<span class="contentmrk"><a id="s3464-3" href="#s3464-3">&dagger;</a>  スクリプトを入力して保存する</span><br />
<br />
開いたウィンドウに対して下記のコードを入力する。</p>
<div class="javascript hs"><span style="color: #003366; font-weight: bold;">function</span> getRss<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> ss = SpreadsheetApp.<span style="color: #006600;">getActiveSheet</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> rssUrl = ss.<span style="color: #006600;">getRange</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;A1&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getValue</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; arguments.<span style="color: #006600;">callee</span><br />
&nbsp; &nbsp; <br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> advancedArgs = <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; headers: <span style="color: #66cc66;">&#123;</span><span style="color: #3366CC;">&quot;User-Agent&quot;</span>:<span style="color: #3366CC;">&quot;UrlFetchApp(id=&quot;</span>+Utilities.<span style="color: #006600;">base64Encode</span><span style="color: #66cc66;">&#40;</span>Utilities.<span style="color: #006600;">computeHmacSha256Signature</span><span style="color: #66cc66;">&#40;</span>Session.<span style="color: #006600;">getUser</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getUserLoginId</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>,ss.<span style="color: #006600;">getName</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #3366CC;">&quot;)&quot;</span><span style="color: #66cc66;">&#125;</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span>;<br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> rssText = UrlFetchApp.<span style="color: #006600;">fetch</span><span style="color: #66cc66;">&#40;</span>rssUrl,advancedArgs<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getContentText</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> doc = Xml.<span style="color: #006600;">parse</span><span style="color: #66cc66;">&#40;</span>rssText<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> items = doc.<span style="color: #006600;">getElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;channel&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getElements</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;item&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> titles = <span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066; font-weight: bold;">item</span>;<br />
&nbsp; <span style="color: #000066; font-weight: bold;">for</span><span style="color: #66cc66;">&#40;</span> idx <span style="color: #000066; font-weight: bold;">in</span> items <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; entryTitle = items<span style="color: #66cc66;">&#91;</span>idx<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">getElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;title&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getText</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; entryLink = items<span style="color: #66cc66;">&#91;</span>idx<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">getElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;link&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getText</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//Logger.log(items[idx]);</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//Logger.log(entryTitle);</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//Logger.log(entryLink);</span><br />
&nbsp; &nbsp; titles.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#91;</span>entryTitle, entryLink<span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> range = ss.<span style="color: #006600;">getRange</span><span style="color: #66cc66;">&#40;</span><span style="color: #CC0000;">2</span>,<span style="color: #CC0000;">1</span>,titles.<span style="color: #006600;">length</span>,<span style="color: #CC0000;">2</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; range.<span style="color: #006600;">setValues</span><span style="color: #66cc66;">&#40;</span>titles<span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span></div>
<p>入力が終わったら、今回はgetRssという名前で保存します。<br />
<a href="atom.php?imagepopup=1/20100314-GAS_3.png&amp;width=1134&amp;height=748&amp;imagetext=%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E4%BF%9D%E5%AD%98" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_3.png" width="250" height="165" alt="スクリプトの保存" title="スクリプトの保存" /></a><br />
<br />
<span class="contentmrk"><a id="s3464-4" href="#s3464-4">&dagger;</a>  Fetchボタンを作成する</span><br />
<br />
メニューからいちいちスクリプトを起動するのは面倒なので、ボタンを押したらスクリプトが動作するようにしたいなぁと思ったので、Fetchボタンを作成します。<br />
<br />
メニュー「Insert」->「Drawing...」を選択すると、ポップアップ画面が現れます。<br />
<a href="atom.php?imagepopup=1/20100314-GAS_4.png&amp;width=1134&amp;height=748&amp;imagetext=%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_4.png" width="250" height="165" alt="ボタンの作成" title="ボタンの作成" /></a><br />
<br />
下記のようにボタンを作成し、右上の「Save &amp; Close」を押してポップアップを閉じます。<br />
<a href="atom.php?imagepopup=1/20100314-GAS_5.png&amp;width=1134&amp;height=748&amp;imagetext=%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AE%E7%B7%A8%E9%9B%86" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_5.png" width="250" height="165" alt="ボタンの編集" title="ボタンの編集" /></a><br />
<br />
<span class="contentmrk"><a id="s3464-5" href="#s3464-5">&dagger;</a>  ボタンとスクリプトを紐付ける</span><br />
<br />
ボタンとスクリプトを紐付けるために、ボタンの左上の▼から「Assign script...」を選択。<br />
<a href="atom.php?imagepopup=1/20100314-GAS_6.png&amp;width=1134&amp;height=748&amp;imagetext=%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A8%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E7%B4%90%E3%81%A5%E3%81%91%E3%82%8B" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_6.png" width="250" height="165" alt="ボタンとスクリプトを紐づける" title="ボタンとスクリプトを紐づける" /></a><br />
ポップアップが現れるので、ここに先ほどのスクリプト名「getRss」を入力します。<br />
<br />
<span class="contentmrk"><a id="s3464-6" href="#s3464-6">&dagger;</a>  完成</span><br />
<br />
Fetchボタンを押すとスクリプトが動いて、スプレッドシートにRSS中のエントリのタイトルと、URLが挿入されます。<br />
<br />
<a href="atom.php?imagepopup=1/20100314-GAS_7.png&amp;width=1134&amp;height=748&amp;imagetext=%E5%AE%8C%E6%88%90" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_7.png" width="250" height="165" alt="完成" title="完成" /></a><br />
<br />
A1のセルのURLを書き換えれば、他のサイトのRSSも取得できるはずです。<br />
Nucleus CMS JapanのRSS（<strong>http://feeds.feedburner.jp/nucleus_news</strong>）についても問題なく取得できました。<br />
<br />
<span class="contentmrk"><a id="s3464-7" href="#s3464-7">&dagger;</a>  コード補完もできるみたい</span><br />
<br />
ちなみにこのスクリプトエディタはある程度コード補完が効きます。Webで使えるEclipseみたいなものも、もうすぐそこまで来ている感じがしました。<br />
<br />
<a href="atom.php?imagepopup=1/20100314-GAS_scripts.png&amp;width=1134&amp;height=748&amp;imagetext=%E3%82%B3%E3%83%BC%E3%83%89%E8%A3%9C%E5%AE%8C" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=1134,height=748');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100314-GAS_scripts.png" width="250" height="165" alt="コード補完" title="コード補完" /></a></p>
]]></content>
 <id>http://blog.cles.jp:1:3464</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3464" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[大卒の内定率が氷河期並みに]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3463" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-14T16:03:53+09:00</modified>
 <issued>2010-03-13T02:42:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<p>大卒の就職内定率が2000年の就職氷河期時代を下回る展開になっているとのこと。</p>
<p><a href="http://sankei.jp.msn.com/economy/finance/100312/fnc1003121656014-n1.htm">大学生の就職内定、「氷河期」下回る８０．０％　２月１日現在 - MSN産経ニュース</a></p>
<blockquote>今春卒業予定の大学生の就職内定率は２月１日現在で、前年同期より６．３ポイント低下し、８０．０％だったことが１２日、厚生労働、文部科学両省の調査で分かった。１９９９年度の調査開始（２月１日分）以来、過去最悪を記録。２０００年辺りの「就職氷河期」の水準も下回っており、新規採用に慎重な企業が多い実態が浮き彫りになった。</blockquote>
<p>これだと5人に1人は職が決まっていないということになりますが、考えたら自分の学部卒業の時も研究室で1人、2人は会社が決まっていないというのはそんなに珍しくなかったはずなので、記事の出典である厚労省の「<a href="http://www.mhlw.go.jp/stf/houdou/2r98520000004sab.html">平成２１年度大学等卒業予定者の就職内定状況調査（平成２２年２月１日現在）について</a>」を調べて自分の卒業した2002年と比べてみるとこんな感じ。<br />
<br />
<strong>（参考２）大学、短期大学及び高等専門学校卒業者の２月１日現在の就職内定状況調査の推移</strong>(一部抜粋)</p>
<blockquote>　　　　　　　　　　　　　　　　　　2002　　2010<br />
就職内定率(大学/全体): 82.9% → 80.0%<br />
就職内定率(大学/理系): 85.4% → 86.2%<br />
就職内定率(大学/関東): 89.4% → 82.6%</blockquote>
<p>相変わらず理系有利というのは変わりませんが、地域別の差は縮小していて、関東有利というのはなくなりつつあるということなのかなぁ。</p>
<br />]]></content>
 <id>http://blog.cles.jp:1:3463</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3463" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[32bit版Windows7で有効活用できないメモリをRAM Diskにしてみた]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3462" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-14T13:37:23+09:00</modified>
 <issued>2010-03-12T20:07:28+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<div class="rightbox"><a href="atom.php?imagepopup=1/20100312-WindowsSystemProperty.png&amp;width=800&amp;height=494&amp;imagetext=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3" onclick="window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=800,height=494');return false;" class="thumbnail"><img src="http://blog.cles.jp/media/thumbnail/1_20100312-WindowsSystemProperty.png" width="250" height="154" alt="システムのプロパティ" title="システムのプロパティ" /></a></div>
<p>X200にメモリ4GBつけているものの、使っているWindows7が32bit版なので1G近く何もできないメモリがあるような状態だった（画像参照）のですが、ググって調べてみるとそのような領域をRAM Diskとして活用できるらしいので、下記のまとめを参考にRAMディスクの作成に挑戦してみました。</p>
<p><a href="http://www10.atwiki.jp/gavotterd/pages/11.html">Gavotte Ramdisk まとめWIKI - まとめ（仮）</a></p>
<blockquote>ram4g.regを実行　（続行確認が数度表示されるので、はい、ＯＫ　とかクリック）<br />
ramdisk.exeを実行（Vistaは右クリックから「管理者として実行」）<br />
[Install Ramdisk]ボタンをクリック　（２０秒程度掛かります）<br />
FixedMediaを選択　16MBなり適当に設定　（デフォルトでそうなっていますが、念のため確認のこと）<br />
[ＯＫ]ボタンをクリック　（「Success」と表示がでるのでＯＫをクリック）<br />
再起動</blockquote>
<p>自分の場合はNTFSにしたかったので、再起動する前に下記の内容をcmd.exeから実行<span class="footnote"><sup><a href="#clesblog3462-1" title="cmd.exeは管理者権限で実行しておく必要があります。">*1</a><a name="clesblog3462-1f"></a></sup></span>しました。</p>
<div class="text hs">FORMAT /FS:NTFS /Q /V:RamDisk /A:512 V:<br />
CHKDSK /L:2048 V:<br />
CACLS V:\ /G &quot;NT AUTHORITY\authenticated users:F&quot;<br />
MKDIR V:\TEMP<br />
rdutil V: registry</div>
<p>上記を調べていてCACLSコマンドを使うとNTFSのACLが編集できるというのがわかったのは収穫でした。<br />
<br />
あとは環境変数でTEMPやTMPを移行したり、IEのTemporary Internet FilesをRAMディスクに移行しました。読み書きが多い部分なのでちょっとはSSDの寿命延長になるかもしれません。開発関連のtmpもこっちに移行してしまおうと思います。</p>
<ul class="footnote"><a name="clesblog3462-1"></a><li><a href="#clesblog3462-1f"><sup>*1</sup></a>: cmd.exeは管理者権限で実行しておく必要があります。</li></ul>
<br />]]></content>
 <id>http://blog.cles.jp:1:3462</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3462" /-->
</entry><entry>
 <title type="text/html" mode="escaped"><![CDATA[Thunderbirdをトラックポイントでスクロールできるようにする]]></title>
 <link rel="alternate" type="text/html" href="http://blog.cles.jp/item/3461" />
 <author>
  <name>hsur</name>
 </author>
 <modified>2010-03-12T01:56:22+09:00</modified>
 <issued>2010-03-11T16:21:00+09:00</issued>
 <content type="text/html" mode="escaped"><![CDATA[<p>X200を使っていて、現状の唯一の不満点は<strong>トラックポイントでThunderbird3のスクロールができない</strong>ことでしたが、下記のエントリを参考にTrackPointの設定ファイルを変更することで回避することができました。これで<strong>マウスが使えない電車の中でも快適にメールを読むことができそう</strong>です。</p>
<p>　・<a href="http://ch00288.kitaguni.tv/e393281.html">せうの日記:TrackPoint未対応のプログラムでスクロール</a><br />
　・<a href="http://ch00288.kitaguni.tv/e433782.html">せうの日記:TrackPointドライバの仕様変更について</a></p>
<p>自分のX200(Windows7)の場合には<strong>%PROGRAMFILES%\Lenovo\TrackPoint\tp4table.dat</strong>をテキストエディタで開き、Firefoxの定義の直下に下記の内容を追加したあと、tp4serv.exeのプロセスを再起動することでスクロールできるようになりました。</p>
<div class="text hs">*,*,thunderbird.exe,*,*,*,WheelVkey,0,9</div>
<p>同様の方法でマウスホイールに対応していて、TrackPoint非対応の他のアプリも対応できるようなので、TrackPoint愛用している人は覚えておいて損はなさそうです。</p>
<br />]]></content>
 <id>http://blog.cles.jp:1:3461</id>
 <!--link rel="alternate" x:media="handheld" type="text/html" href="http://blog.cles.jp/i/item/3461" /-->
</entry>
</feed>
