<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
<title>Suinasia(Web)</title>
<subtitle>「Web」なエントリー</subtitle>
<link rel="alternate" type="text/html" href="http://suin.asia/tag/Web"/>
<link rel="self" type="application/atom+xml" href="http://suin.asia/feed/atom/tag/Web"/>
<author>
<name>suin</name>
</author>
<updated>2012-02-08T23:26:56Z</updated>
<id>http://example.com/atom1.xml</id>
<entry>
<title>xoops_libの脆弱を突こうとしてくる輩が多いので拒否</title>
<link href="http://suin.asia/2009/04/11/deny_the_access_to_xoops_lib"/>
<summary>xoops_libの脆弱性を突こうとする輩が本サイトであまりにも多いので、アクセス拒否するとともにそのリストを公開します。</summary>
<published>2009-04-11T00:55:04Z</published>
<updated>2009-04-11T00:34:08Z</updated>
<id>http://suin.asia/2009/04/11/deny_the_access_to_xoops_lib</id>
<category term="XOOPS" label="XOOPS" scheme="http://suin.asia/tag/XOOPS" />
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="htaccess" label="htaccess" scheme="http://suin.asia/tag/htaccess" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>本来 Trust Path 側に置かれなければならないxoops_libをパブリックに配置してしまったことから起因する脆弱性を突こうとする輩が、本サイトでも非常に多いです。</p>
<ul>
<li>/2008/09/20/xoops_lib/modules/protector/oninstall.php</li>
<li>/tag/XOOPS/xoops_lib/modules/protector/oninstall.php</li>
<li>/archive/xoops_lib/modules/protector/oninstall.php</li>
</ul>
<p>上のようなURIにアクセスを試みます。URLが自分仕様なのでしょうがないのですが、XOOPSのルートディレクトリを探すために、あちこちのディレクトリで
xoops_lib へのアクセスを試みるのです。まあ、当然 xoops_lib なんてディレクトリを作ってないので、リクエストに失敗します。</p>
<p>しかし、そのせいで、リクエスト不成功のログが大量に蓄積してしまって、本当にリンク切れしているようなファイルを探しにくくなっています。</p>
<p>ログが汚されるのが嫌になったので、xoops_libにアクセスした奴はアクセス拒否をすることにしました。次が、そのリストです。拒否しても次から次へとやってくるので、枚挙にいとまがないのが現実ですが。</p>
<pre name="code" class="xml">order allow,deny
allow from all
deny from 150.164.106.1
deny from 165.194.27.141
deny from 218.246.20.221
deny from 221.139.1.251
deny from 222.236.44.32
deny from 222.237.76.92
deny from 61.100.30.8
deny from .9xmedia.com
deny from .advancedinfomedia.com
deny from .callmundo.net
deny from .drakemag.com
deny from .hostcenter.com
deny from .infobox.ru
deny from .kbasetechnologies.com
deny from .laisvas.lt
deny from .lightstorm.sk
deny from .nameservices.net
deny from .oliphaunt.net
deny from .ovz13.hc.ru
deny from .resolutioncomputing.com
deny from .rima-tde.net
deny from .seattlecomputing.com
deny from .sdmservidores.com
deny from .turbodns.co.uk
deny from .vnpages.net
deny from .websitehome.co.uk
deny from .xynta.nl</pre>]]>
</content>
</entry>
<entry>
<title>CSSのtext-align:center;は&lt;div&gt;には通用しない</title>
<link href="http://suin.asia/2009/03/20/css-text-align-center-div.html"/>
<summary>text-alignはつかわずに、leftして半分もどろう。</summary>
<published>2011-08-07T14:04:25Z</published>
<updated>2009-03-20T03:37:47Z</updated>
<id>http://suin.asia/2009/03/20/css-text-align-center-div.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="Tips" label="Tips" scheme="http://suin.asia/tag/Tips" />
<category term="CSS" label="CSS" scheme="http://suin.asia/tag/CSS" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>body直下の&lt;div&gt;を幅固定でセンタリングするなんていう要望は、かなりあると思う。</p>
<p>ところが、FirefoxなどのCSSに厳格なブラウザでは、text-align:centerは&lt;div&gt;などのブロック要素を中央配置することができない。</p>
<p>これについての詳細は、<a href="http://geekswithblogs.net/timh/archive/2006/04/19/75606.aspx">text-align: center; not working in Firefox:</a>(英語)を参照されたい。</p>
<p>上のページを要約すると、Firefoxでは</p>
<pre name="code" class="css">body { text-align: -moz-center; }</pre>
<p>を使えばいいよ、である。</p>
<p>これで、Firefoxではめでたく&lt;div&gt;(たとえば600pxで固定されたもの)はちゃんとセンタリングされる。</p>
<p>しかし、これだと、Firefoxでしか有効でないため、IE用の記述も必要になる。</p>
<p>これに対しては、<a href="http://geekswithblogs.net/TimH/archive/2006/04/19/75606.aspx#138087">CSSハックを使った方法</a>が紹介されていた。</p>
<pre name="code" class="css">body 
{ 
text-align:-moz-center; /*FF*/
#text-align:center; /*IE */
}</pre>
<p>この方法では、FirefoxとIE5.5, 6, 7に対応できることが確認された。</p>
<p>でも、これだと、Google chromeやIE8などの、最近のブラウザではちゃんと中央添えされないことがわかった。</p>
<p>うーん、困った。</p>
<p>もっと、読み進めたら、今度は<a href="http://geekswithblogs.net/TimH/archive/2006/04/19/75606.aspx#419098">text-alignを使わない方法</a>が紹介されていた。</p>
<p>これがまさに目から鱗。</p>
<pre name="code" class="css">#div_container {
position: absolute;
left: 50%;
height: 100%;
width: 1000px;
margin-left: -500px; /* MUST be half the width */
}</pre>
<p>いったん、ページの真ん中に&lt;div&gt;の左端を合わせて、次に、幅の半分だけ左に戻るというやり方。</p>
<p>この方法だと、ページの幅が未知でもうまく、センタリングされる。</p>
<p>なんか、ごちゃごちゃしているので図解してみた。</p>
<p>↓拡大できます。</p>
<p class="photo"><a href="http://picasaweb.google.co.jp/lh/photo/Mrc4FMq98yg47pD5OzuWsA?feat=embedwebsite"><img src="http://lh4.ggpht.com/_dG0BBWAhWis/ScJojuknmPI/AAAAAAAAAa0/rfEr_s6RygE/s400/centering.jpg" alt="図解の図" /></a></p>
<p>この方法は、FirefoxはもちろんIE 5.5, 6, 7, 8、Google Chromeでもうまく使えた。</p>
<p>&lt;div&gt;の幅がpx値などで固定されていることが前提条件だけど、これで解決されるデザインは多いと思う。</p>

<h3>関連書籍</h3>

<style>
table.shopbox {
  border: none white 0px !important;
}
table.shopbox td {
  padding: 15px;
  width: 140px;
  text-align: center;
  border: none white 0px !important;
}
</style>
<table class="shopbox">
<tr>
<td>
<a href="http://www.amazon.co.jp/gp/product/483993276X/ref=as_li_qf_sp_asin_il?ie=UTF8&tag=suinyeze-22&linkCode=as2&camp=247&creative=1211&creativeASIN=483993276X"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=483993276X&MarketPlace=JP&ID=AsinImage&WS=1&tag=suinyeze-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=suinyeze-22&l=as2&o=9&a=483993276X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
<div>XHTML/HTML+CSSスーパーレシピブック</div>
</td>
<td>
<a href="http://www.amazon.co.jp/gp/product/4798123374/ref=as_li_qf_sp_asin_il?ie=UTF8&tag=suinyeze-22&linkCode=as2&camp=247&creative=1211&creativeASIN=4798123374"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=4798123374&MarketPlace=JP&ID=AsinImage&WS=1&tag=suinyeze-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=suinyeze-22&l=as2&o=9&a=4798123374" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
<div>HTML5＆CSS3辞典</div>
</td>
<td>
<a href="http://www.amazon.co.jp/gp/product/4844360663/ref=as_li_qf_sp_asin_il?ie=UTF8&tag=suinyeze-22&linkCode=as2&camp=247&creative=1211&creativeASIN=4844360663"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=4844360663&MarketPlace=JP&ID=AsinImage&WS=1&tag=suinyeze-22&ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=suinyeze-22&l=as2&o=9&a=4844360663" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
<div>XHTML+CSS プロが教える“本当の使い方”</div>
</td>
</tr>
</table>]]>
</content>
</entry>
<entry>
<title>ブログ・Twitter・Wassrの更新をmixiの日記にしてマイミクに知らせるしくみ</title>
<link href="http://suin.asia/2009/03/16/twitterwassrmixi.html"/>
<summary>ブログ・Twitter・Wassrの更新をmixiの日記にしてマイミクに知らせるしくみ。</summary>
<published>2009-04-04T13:23:14Z</published>
<updated>2009-03-16T09:43:24Z</updated>
<id>http://suin.asia/2009/03/16/twitterwassrmixi.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="twitter" label="twitter" scheme="http://suin.asia/tag/twitter" />
<category term="mixi" label="mixi" scheme="http://suin.asia/tag/mixi" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>ブログやTwitterでつぶやいても、そもそも自分がやっているブログやTwitterの存在を知らないとか、知ってるけどいちいち見には来てくれないという理由で、マイミクのリアクションが薄いときがあります。</p>
<p>見に来てくれないなら、こっちから見せに行こうということで、ブログやTwitterでの更新をmixiの日記にする仕組みを実装してみました。mixiの日記にすると、マイミクの目に触れる確率かかなり高くなります。</p>
<p>どのような仕組みか簡単に説明すると、xreaにあらかじめ仕込んでおいたcronジョブを使って、各ブログのRSSフィードを取ってきて、それをまとめてケータイにメールし、そのメールをmixiに投稿して完了というかんじです。</p>
<p>ケータイにメールを送ってって、かなり遠回りなことしてるなー、と思われたかもしれません。しかし、mixiは日記投稿のAPIがないので、php(snoopyなど)で直接HTTPでつないで日記に書き込む方法は、ちょっと危険なのです。なんでかというと、mixiのデザインやインターフェイスが変わった瞬間に、そのプログラムがうまく日記に書き込みできなくなる可能性があるからです。</p>
<p>逆にケータイからメールで日記を書く場合は、mixi自体が仕様変更しても、その変更に追従するのが容易です。そもそもメール投稿が大きく仕様変更されることはあまり考えられないので、メールを転送する作業が手動になってしまいますが、やっぱりメンテのいらない方法のほうが良いのです。</p>
<p>このドミノ戦法のしくみを図解すると下のようになります。</p>
<p class="photo"><a href="http://picasaweb.google.com/lh/photo/hUQz3t6VKgBw1pxrl41f7w?feat=embedwebsite"><img src="http://lh4.ggpht.com/_dG0BBWAhWis/Sb4jW1LeMqI/AAAAAAAAAaU/MQ6gleFQJD4/s800/HitomatomeShikumi.png" /></a></p>
<p>こうして、こんな感じで日記に投稿されます。↓</p>
<p class="photo"><a href="http://picasaweb.google.com/lh/photo/3jQRK9SDnj0M_6WnmerUYA?feat=embedwebsite"><img src="http://lh4.ggpht.com/_dG0BBWAhWis/Sb4jVoVTHeI/AAAAAAAAAaM/Q2Oupjb9mLU/s800/HitomatomeScreanShot.png" /></a></p>]]>
</content>
</entry>
<entry>
<title>VBAを書いててPHPが懐かしくなった（涙）</title>
<link href="http://suin.asia/2009/01/02/vba-php.html"/>
<summary>VBAを書いてて学んだこと。</summary>
<published>2009-01-01T15:47:54Z</published>
<updated>2009-01-01T15:47:54Z</updated>
<id>http://suin.asia/2009/01/02/vba-php.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="VBA" label="VBA" scheme="http://suin.asia/tag/VBA" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[ <p>最近、卒論関係でデータ処理をしなきゃならなくて、VBSやVBAを書くことが多くなった。WindowsやOfficeちょっとしたことをやりたいなってときは、Cとかと違ってコンパイルする必要もなく、その場で書いてその場で使える。卒論はつらいが、VBAはとても便利だ。</p>

<p>PHPばかりやってると、VB系のコードを書いたとき、PHPのくせが出てしまう。よくやるミスとしては↓</p>
<ul>
<li>行末に；を書いてしまう。</li>
<li>関数とかを小文字にしてしまう。</li>
<li>文字列結合は＆であることを忘れて、ドットでつなげてしまう。</li>
<li>変数の定義を忘れる。</li>
<li>関数がよくわからないときは、とりあえずPHPにある関数を書いてみるが、当たらない。sleepとか、returnとか。</li>
</ul>
<p>自分がよく知ってる言語の習慣を、よく知らない言語にそのまま当てはめることを、言語学でトランスファー（転移）というけれど、プログラミング言語でも同じようなことをしている。関数名が偶然同じで、そのまま処理がとおれば正の転移、エラーが出て起こられた負の転移。言語学は自然言語しか扱わないことになってたんだっけな。言語学のふりして人工言語のことをあれこれ言ってはいけないな。</p>
<p>PHPと違う特徴に出会うと、すこし学んだ気がしてくる。</p>

<p>たとえば、VBAでもクラスが作れるが、クラス内のメンバ変数にアクセスするとき、PHPの$this-&gt;なるものがないというところ。だから、メソッド内で変数がメンバ変数なのか、それともメソッド内のただの変数だかわからなくなる。そこでハンガリアン記法が有効になる。m_というので、これはメンバ変数ですよ、ということを明らかにする習慣が生まれる。同じようなことを、XOOPS
Cubeのコーディング規約でメンバ変数の接頭辞はmとするというのがあるけれど、PHPではあまり意味がないかな。個人的には接頭辞をつけるのは好きなのだけれど。</p>
<pre>Class A

'メンバ変数
Private m_B As Integer

' 関数
Public Function GetB()

        GetB = m_B

End Function

' サブルーチン
Public Sub SetB(B As Integer)

        m_B = B

End Sub</pre>
<p>VBAだと、関数のほかに、サブルーチンというのが定義できる。関数とサブルーチンってなにが違うの？って感じだが、関数は値を返すが、サブルーチンは値を返さないという違いがある。サブルーチンという概念がPHPでは無い。無いと断言していいのかわからないが、少なくとも、VBAみたいに形態に現れてこない。こういうところも実におもしろい。</p>
<p>自然言語でも、複数形とか名詞の性にうるさい西洋語があったり、敬語にうるさい日本語や韓国語があったりと、言語ごとに関心事がちがうのとおなじで、人工言語でもその言語によって、関心の持ち方が微妙に違う。</p>
<p>PHPみたいに型にうるさくない言語を使っていると、型にうるさい言語で、よくつまづくようになる。文字列と思っていたら、数値だったり。"0"と0の違いはPHPが思ってるほど単純じゃなかったり。</p>
<p>ずっと型を意識していると、PHPでももう少し型について厳しく接してもいいんじゃないかと思うようになってくる。でもやっぱり、PHPのルーズさってどうも嫌いになれない。型が勝手に判断されて、泣きたくなることもあるけど、それでも型を気にしないで書きたいときはそうできるからいいというとこもある。一長一短というところか。</p>
<p>VBAとは話が変わるが、自分には「あこがれの言語」というものがある。自然言語ならロシア語、人工言語ならC#。そして、先日、ついにあのあこがれの言語
C# をちょっと触ってみた。気分転換程度ののりだったので、HelloWorldしてひとりで盛り上がっていた。コンパイル言語はどうしても、そのワンステップのために近づきがたかった。C言語をやろうとして、開発用のソフトが高くて諦めたのは中学生のころだっただろうか。今とそのときじゃ比べものにならないくらいフリーな開発環境が増えた気がする。C#はJava系の影響をうけているから、VBAよりは親近感あるかな。今度ローカルで使うアプリを作るときはC#でやってみよう。C#が一人前に書けるころにはロシア語もぺらぺらになってるかな。</p>
]]>
</content>
</entry>
<entry>
<title>FlashPaperはどこへ？</title>
<link href="http://suin.asia/2008/11/03/where-has-flashpaper-gone.html"/>
<summary>FlashPaperはいずこへ？Adobeが買収したんだって？</summary>
<published>2008-11-03T14:33:44Z</published>
<updated>2008-11-03T14:33:44Z</updated>
<id>http://suin.asia/2008/11/03/where-has-flashpaper-gone.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[こないだ飲み会でふと話題にあがったのがFlashPaperだった。<br /><br />FlashPaperというのは、PDFみたいなのがFlashで実現できちゃうソフト。<br /><br />読み込みも素早く、スクロールも軽く、軽快さは明らかにPDFよりも優れていた。<br /><br />自分も1回だけ試しにドキュメントをFlashPaperにしてみたことがある。<br /><br /><a href="http://xoops.suinyeze.com/uploads/XOOPS.swf">http://xoops.suinyeze.com/uploads/XOOPS.swf</a><br /><div><br />上のFlashPaperをごらんになってもらいたい。<br /><br />リンクがPDFと知らずクリックして残念な気持ちになるどころか、スピーディーに表示されて驚くと思う。<br /><br />非常に画期的なソフトだった。<br /><br />ところが、ある日、FlashPaperの開発元のmacromediaがどこかの会社に買収されてしまったらしく、その後、消息を聞いてなかった。<br /><br />買収した会社が、どこかうろ覚えだったが、こないだの飲み会でhaltさんがAdobeだったということを教えてくれた。<br /><br />なるほどｗ Adobeが買っちゃたかーｗ<br /><br />PDFをよっぽど守りたかったみたいね。<br /><br /><br /></div>]]>
</content>
</entry>
<entry>
<title>jQueryでエレメントが存在するか知る方法</title>
<link href="http://suin.asia/2008/10/31/jquery-if-an-element-exists.html"/>
<summary>jQueryで、あるエレメントがあるかどうか知る方法。</summary>
<published>2008-10-31T02:36:33Z</published>
<updated>2008-10-31T02:36:33Z</updated>
<id>http://suin.asia/2008/10/31/jquery-if-an-element-exists.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="jQuery" label="jQuery" scheme="http://suin.asia/tag/jQuery" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[jQueryで、あるエレメントがあるかどうか知る方法を探したら、公式サイトで見つけた。<br /><br /><pre>if ( $('#myDiv').length )<br />  $('#myDiv').show();<br /><br />lengthであるかどうかがわかるらしい。<br /><br />んでやってみたけど、できねぇー。<br /><br />FireBugに"$('#myDiv') is null"って怒られるし。<br /><br />複数の英語サイトを回ってみたけど、<br /><br />if ( $('#myDiv') ) だといつもtureが返るからだめで、<br />if ( $('#myDiv').length ) が正しいと言うんだけれど、エラー出るし。<br /><br />結局行き着いた答えはこれだった。<br /><br />if ( $('#myDiv') != null )<br /><br />まいったまいった。<br /><br /><br /></pre>]]>
</content>
</entry>
<entry>
<title>インストール不要・USBで携帯可能なNateOn</title>
<link href="http://suin.asia/2008/08/21/portable-nateon.html"/>
<summary>インストールなしで使えるPortable NateOnがお勧め。</summary>
<published>2008-08-21T06:33:53Z</published>
<updated>2008-08-21T06:33:53Z</updated>
<id>http://suin.asia/2008/08/21/portable-nateon.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="Portable" label="Portable" scheme="http://suin.asia/tag/Portable" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>韓国で<a href="http://messenger.live.jp/">MSN Messenger</a>の追従を許さないほどの巨大なシェアを占めているメッセンジャといえば、ご存知<a href="http://nateonweb.nate.com/">NateOn</a>ですが、韓国国内向けということもあり、日本語Windowsのユーザにとってはいろいろシステム的にトラブルの多いソフトです。</p>

<p>NateOnが韓国産のソフトであるため、ソフト自体が韓国語です。理由はわかりませんが、日本語のWindowsに外国語（韓国語や中国語）のソフトをインストールすると、その後日本語のソフトがインストールできなくなったり、ところどころ日本語のソフトが文字化けするなどの弊害がありました。</p>
<p>なので私は一時期、<a href="http://nateonweb.nate.com/en/">英語版のNateOn</a>を使って文字化けのトラブルをしのごうかと思いましたが、英語版も完全に韓国語が排除されているかというとそうではなく、プラグインなどが韓国語のままで、文字化けのトラブルを避けることができないことがわかりました。</p>
<p>そこで、次に目をつけたのが'USB Office'で公開されている<a href="http://cafe.naver.com/usboffice.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=2690">NateOn Portable</a>です。NateOn PortableはNateOnをUSBに入れて持ちあることを目的として作成されたもので、Nateが公式に提供するものではありません。あくまで第三者ユーザが便宜を図り、自ら開発し公開しているものです。このNateOn PortableはOSにインストールする必要がないので、レジストリを汚したり、文字化けの要因を作ることがないのが優れた点です。しかし、USB OfficeのNateOn Portableは設定をエディタを使って編集する必要があり、上級者向けの代物です。</p>
<p>次にネット上を探していたら見つけたのが<a href="http://byr1.tistory.com/54">Portable NateOn</a>です。このNateOnもNateOｎ Portable同様に第三者ユーザが個人で作成し公開しているようです。Portable NateOnは左のリンクよりダウンロードすることができます。ダウンロード時はPortable NateOn.exeの１ファイルのみですが、それを実行すると自動的に設定フォルダなどが作成されます。NateOn Portableとの最大の違いは、設定をいちいちエディタで変更しなくてよい点です。</p>
<p>もしNateOnをインストールせずに使いたいようであれば、<a href="http://byr1.tistory.com/54">Portable NateOn</a>をお勧めします。ソフトをUSBに入れて持ち歩く派の人にも有用だと思います。</p>]]>
</content>
</entry>
<entry>
<title>MT4にmetaタグを記事と連動するように入れてみた</title>
<link href="http://suin.asia/2008/07/01/meta-tags-for-mt4.html"/>
<summary>meta情報がMT4にも欲しかったので、テンプレートをいじってみた。</summary>
<published>2008-07-01T00:54:21Z</published>
<updated>2008-07-01T00:54:21Z</updated>
<id>http://suin.asia/2008/07/01/meta-tags-for-mt4.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="工夫" label="工夫" scheme="http://suin.asia/tag/%E5%B7%A5%E5%A4%AB" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>XOOPSにはテーマテンプレートには元から&lt;meta name="description"&gt;と&lt;meta name="keywords"&gt;があり、XOOPSのシステム側でmeta情報を動的に変更できるのですが、MT4ではそのような機能もなくまたmetaタグもありません。私はあまりSEOのテクニックのほとんどがまゆつばものだと思っていて、metaタグのSEO的な効能については懐疑的ですが、meta情報はないよりあったほうがいいと考えるので、MT4にもmetaタグを入れることにしました。</p>
<p>ただmetaタグをべた書きするだけでは技術的に何の面白みもないので、トップページでは「ブログの説明」と「タグの多いものトップ15」がmeta情報に、記事のページでは「ブログの概要」と「タグ」そして利用用途が不明だった「キーワード」がmeta情報に、自動的に書き出されるように工夫してみました。コードにすると次のようになります。これを「ヘッダ」テンプレートの&lt;head&gt;&lt;/head&gt;の間のどこかに入れておきます。</p>
<code class="html">
&lt;MTIf name="main_index"&gt;<br />&lt;meta name="description" content="&lt;$MTBlogDescription$&gt;" /&gt;<br />&lt;meta name="keywords" content="&lt;mt:Tags top="15"&gt;&lt;$mt:TagName$&gt;, &lt;/mt:Tags&gt;" /&gt;<br />&lt;MTElse&gt;<br />&lt;meta name="description" content="&lt;$MTEntryExcerpt$&gt;" /&gt;<br />&lt;meta name="keywords" content="&lt;MTEntryTags&gt;&lt;$MTTagName$&gt;, &lt;/MTEntryTags&gt;, &lt;$MTEntryKeywords$&gt;" /&gt;<br />&lt;/MTIf&gt;

</code>]]>
</content>
</entry>
<entry>
<title>TortoiseSVNで.svnフォルダを取り除く方法</title>
<link href="http://suin.asia/2008/06/28/tortoisesvn-how-to-remove-svn.html"/>
<summary>.svnフォルダを取り除くにはエクスポートかエクスプローラで検索。</summary>
<published>2008-06-28T12:52:15Z</published>
<updated>2008-06-28T12:52:15Z</updated>
<id>http://suin.asia/2008/06/28/tortoisesvn-how-to-remove-svn.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="TortoiseSVN" label="TortoiseSVN" scheme="http://suin.asia/tag/TortoiseSVN" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>satoさんから教えてもらった方法ですが、メモしておきます。</p>
<table>
<tbody><tr>
<th style="width: 50%;">リポジトリがある場合</th>
<th style="width: 50%;">リポジトリがない場合</th>
</tr>
<tr>
<td>

<ol>
<li>適当な空フォルダで右クリック</li>
<li>TortoiseSVNのメニューで「エクスポート」を選ぶ</li>
<li>リポジトリから取り出したいソースのあるディレクトリを選択</li>
<li>実行</li>
</ol>
以上の手順でやると、あっという間に.svnが取り除かれたソースコードを手に入れることができます。
</td>
<td>リポジトリがない場合やリポジトリがあるけれどコミット前だったりという場合には、Windowsのエクスプローラのフォルダ検索を利用します。「.svn」で検索し、検索が完了したら「すべて選択」し削除してしまいます。これでキレイさっぱり.svnフォルダを取り除くことが出来ます。</td>
</tr></tbody></table>]]>
</content>
</entry>
<entry>
<title>[工人舎 + Firefox]で入れておきたい拡張5つ</title>
<link href="http://suin.asia/2008/06/20/5-extentions-of-firefox-for-kojinsha.html"/>
<summary>工人舎でFirefoxを使うときに入れておくと便利な拡張５つ。</summary>
<published>2008-06-20T07:57:50Z</published>
<updated>2008-06-20T07:57:50Z</updated>
<id>http://suin.asia/2008/06/20/5-extentions-of-firefox-for-kojinsha.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="工人舎" label="工人舎" scheme="http://suin.asia/tag/%E5%B7%A5%E4%BA%BA%E8%88%8E" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<ol>

<li>
<dl><dt><a href="https://addons.mozilla.org/ja/firefox/addon/1250">Grab and Drag</a></dt><dd>PDF Readerみたいにドラッグでスクロールできるようにする拡張です。工人舎モバイルノートではタッチペンが使えるので、Grab and Dragを入れるとFirefoxの使い勝手がかなりよくなります。<br />
動画をはりつけてみる。<br />
<object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/Xp3mQGOQTzk" /><param name="wmode" value="transparent" /><embed src="http://www.youtube.com/v/Xp3mQGOQTzk" type="application/x-shockwave-flash" wmode="transparent" height="344" width="425"></object>
</dd></dl>
</li>
<li>
<dl><dt><a href="http://www.forest.impress.co.jp/article/2006/06/19/autohide.html">Autohide</a></dt><dd>全画面表示時にツールバーやアドレスバー、検索バーを隠してくれる拡張です。工人舎の狭いスクリーンも有効的に使えるようになります。</dd></dl>
</li>
<li>
<dl><dt><a href="http://www.google.com/tools/firefox/browsersync/">Google Browser Sync</a></dt><dd>お気に入り・履歴などをgoogle bookmarkと同期してくれる拡張です。同期は起動時・終了時に行われるので、工人舎をサブノートとして使っている場合、メインマシンとの同期に便利です。</dd></dl>

</li>
<li>
<dl><dt><a href="https://addons.mozilla.org/ja/firefox/addon/1122">Tab Mix Plus</a></dt><dd>タブ周りを劇的に便利にしてくれます。工人舎はタッチペンの感度があまりよくないので、間違ってタブを閉じてしまったときなど、タブを復活できるので便利です。</dd></dl>
</li>
<li>
<dl><dt><a href="https://addons.mozilla.org/ja/firefox/addon/1455">Tiny Menu</a></dt><dd>メニューをかなり簡素なものに変えてくれます。スクリーンの狭い工人舎には便利な拡張です。</dd></dl>
</li>
</ol>]]>
</content>
</entry>
<entry>
<title>教えて!goo専用変換器を修正した</title>
<link href="http://suin.asia/2008/06/19/modified-oshiete-goo-convertor.html"/>
<summary>&lt;p&gt;「教えて!goo」でハングルが文字ばけするのを回避するためにつくったツール「&lt;a href=&quot;http://suin.asia/oshiete_goo.php&quot;&gt;教えて!goo専用ハングル文字化け変換器&lt;/a&gt;」を若干修正しました。いままでは、教えて!gooとokwaveにしか対応して...</summary>
<published>2008-06-18T23:58:57Z</published>
<updated>2008-06-18T23:58:57Z</updated>
<id>http://suin.asia/2008/06/19/modified-oshiete-goo-convertor.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="教えて!goo" label="教えて!goo" scheme="http://suin.asia/tag/%E6%95%99%E3%81%88%E3%81%A6%21goo" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[<p>「教えて!goo」でハングルが文字ばけするのを回避するためにつくったツール「<a href="http://suin.asia/oshiete_goo.php">教えて!goo専用ハングル文字化け変換器</a>」を若干修正しました。いままでは、教えて!gooとokwaveにしか対応していなかったのですが、それ以外のokwave式のQ&amp;Aをもっているサイトにも対応しました。サイトごとにエンコードがことなることがあるので、エンコードまわりで苦戦しましたが、なんとかつかえそうな感じになりました。</p>]]>
</content>
</entry>
<entry>
<title>XREAでPOST拒否に遭うのを回避する方法</title>
<link href="http://suin.asia/2008/06/15/solution-post-error-403-forbidden-xrea.html"/>
<summary>XREAでPOSTが拒否されるのを.htacessで回避できる。</summary>
<published>2008-06-15T00:32:46Z</published>
<updated>2008-06-15T00:32:46Z</updated>
<id>http://suin.asia/2008/06/15/solution-post-error-403-forbidden-xrea.html</id>
<category term="Web" label="Web" scheme="http://suin.asia/tag/Web" />
<category term="回避策" label="回避策" scheme="http://suin.asia/tag/%E5%9B%9E%E9%81%BF%E7%AD%96" />
<content type="html" xml:lang="ja" xml:base="http://suin.asia/tag/Web">
<![CDATA[ <p>xreaでは海外からのアクセスや国内でも行儀の悪いホストからのアクセスに制限をかけていることは有名です。私も在韓時代にxreaにアクセスできず苦しめられた苦い経験がありますが、最近はイーモバイルからのアクセスも制限されてるみたいで、イーモバイルからのPOSTができず「403 Forbidden」エラーが帰ってきます。おかげでブログに投稿できなかったり、XOOPSにログインできなかったりと、大迷惑していました。そんなことをmixiで嘆いていたら、同じように海外からのアクセスに困らされた経験があるhiroponさんが、親切に回避策を教えてくれました。.htaccessで次のように設定するとよいらしいです。</p>

<code class="htacess"></code>&lt;Limit POST&gt;<br />order allow,deny<br />allow from all<br />&lt;/Limit&gt; <br />]]>
</content>
</entry>
</feed>
