<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>Solitaire &#187; Web</title>
	<atom:link href="http://blog.redhawk.jp/archives/tag/web/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.redhawk.jp</link>
	<description>Sato Tatsuma&#039;s weblog about programming and systems.</description>
	<lastBuildDate>Thu, 29 Jul 2010 17:27:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/tag/web/feed" />
		<item>
		<title>nginx: java: nginx + tomcat</title>
		<link>http://blog.redhawk.jp/archives/1464?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=nginx-nginx-tomcat</link>
		<comments>http://blog.redhawk.jp/archives/1464#comments</comments>
		<pubDate>Tue, 08 Sep 2009 05:26:19 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[nginx]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1464</guid>
		<description><![CDATA[nginx（えんじんえっくす）使ってみた。 この辺りに設定例が転がっているね。 Using Nginx As Reverse-Proxy Server On High-Loaded Sites 設定例： # 動作確認していないけれどこんな感じ。 # 時間が出来たら同じ設定での動作確認しておきます。 worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; events { worker_connections 32768; use epoll; } http { include proxy.conf; include mime.types; # JavaServlet upstream tomcat{ server 192.168.1.21:8080 wight=5; server 192.168.1.22:8080 wight=5; } server { listen redhawk.jp:80 default; location /javaservlet { proxy_pass [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nginx.net/">nginx</a>（えんじんえっくす）使ってみた。</p>
<p>この辺りに設定例が転がっているね。<br />
<a href="http://kovyrin.net/2006/05/18/nginx-as-reverse-proxy/">Using Nginx As Reverse-Proxy Server On High-Loaded Sites</a></p>
<p>設定例：<br />
# 動作確認していないけれどこんな感じ。<br />
# 時間が出来たら同じ設定での動作確認しておきます。</p>
<pre>
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;

events {
    worker_connections  32768;
    use epoll;
}

http {
    include proxy.conf;
    include mime.types;

    # JavaServlet
    upstream tomcat{
        server 192.168.1.21:8080 wight=5;
        server 192.168.1.22:8080 wight=5;
    }

    server {
        listen    redhawk.jp:80 default;

        location /javaservlet {
            proxy_pass http://tomcat/javaservlet;
        }
    }
}
</pre>
<p>実際使ってみたんだけれど、proxy serverとしての機能部分しか使わないので<br />
apache使うよりも負荷は軽い。</p>
<p>使い方は、tomcatを起動して<br />
その後に、locationなり、サブドメインなりで判定して、tomcatにリクエストを投げてあげるだけ。</p>
<p>プロセスに HUP を投げると、設定ファイルを再読み込みするので、再起動の必要もない。<br />
# HUPはバグがあるから多用しない方がいい。と職場の人が言っておりましたが。</p>
<p>upstream 設定を使うと、weight を設定して、ロードバランサーの機能を持たせる事も出来るので<br />
Django や、 Passenger との連携も出来るらしいので、Java, Python, Ruby を使う時には便利だと思う。</p>
<p>PHP は、まあ、どうでもいいです。<br />
fastCGIで使ってみたけれど、処理負荷が高すぎて、アクセスが本当に多いサイトだと持たない。<br />
nginxというより、PHPの問題だし。<br />
それに、fastCGI使うくらいなら、apache module で動かした方が設定も楽だしで PHP メインなら、nginx は不要かと。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1464/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1464" />
	</item>
		<item>
		<title>Java: JPA: specified twice エラー</title>
		<link>http://blog.redhawk.jp/archives/1423?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=java-jpa-specified-twice-%25e3%2582%25a8%25e3%2583%25a9%25e3%2583%25bc</link>
		<comments>http://blog.redhawk.jp/archives/1423#comments</comments>
		<pubDate>Mon, 31 Aug 2009 07:58:34 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[JPA]]></category>
		<category><![CDATA[HIBERNATE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1423</guid>
		<description><![CDATA[JPAで @OneToOne @JoinColumn を使って、JOINを張ったら、そのモデルを使って INSERT文を走らせる時に、specified twice っていうエラーが出るようになった。 SQLを見てみると、確かに同じColumnを二回指定している。 http://72.5.124.55/javaee/5/docs/api/javax/persistence/JoinColumn.html ここを見ると、 @JoinColumn(insertable = false) というのがあるので、それを指定したら解決。 updatable public abstract boolean updatable (Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider. Default: true ってあるように、Modelの中身を更新すると、勝手に UPDATE文が走るので、それが嫌な人は false にしておこう。 このオプションは @Column にもあるので、別にJOIN限定の処理ではない。 JPAはアノテーションをモデルにいくつくっつけるかの設定次第だなぁ Djangoも結局、キーワード引数でいくつオプション付けるか。 っていう部分は当然あるし。 まあ、そうなるよなーって思う。 そう思うから、Annotation で Model いじればなんとかなるんじゃね？って思って調べるきっかけになるし。 JPAでこれだけ色々やれるってなると、本気のHIBERNATEを使ってみたくなるなぁ どんだけ凄いんだろう。]]></description>
			<content:encoded><![CDATA[<p>JPAで<br />
@OneToOne<br />
@JoinColumn<br />
を使って、JOINを張ったら、そのモデルを使って INSERT文を走らせる時に、specified twice っていうエラーが出るようになった。<br />
SQLを見てみると、確かに同じColumnを二回指定している。</p>
<p><a href="http://72.5.124.55/javaee/5/docs/api/javax/persistence/JoinColumn.html">http://72.5.124.55/javaee/5/docs/api/javax/persistence/JoinColumn.html</a></p>
<p>ここを見ると、<br />
@JoinColumn(insertable = false)<br />
というのがあるので、それを指定したら解決。</p>
<p>updatable</p>
<p>public abstract boolean updatable<br />
(Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.<br />
Default:<br />
true</p>
<p>ってあるように、Modelの中身を更新すると、勝手に UPDATE文が走るので、それが嫌な人は false にしておこう。</p>
<p>このオプションは<br />
@Column<br />
にもあるので、別にJOIN限定の処理ではない。</p>
<p>JPAはアノテーションをモデルにいくつくっつけるかの設定次第だなぁ</p>
<p>Djangoも結局、キーワード引数でいくつオプション付けるか。<br />
っていう部分は当然あるし。<br />
まあ、そうなるよなーって思う。<br />
そう思うから、Annotation で Model いじればなんとかなるんじゃね？って思って調べるきっかけになるし。</p>
<p>JPAでこれだけ色々やれるってなると、本気のHIBERNATEを使ってみたくなるなぁ<br />
どんだけ凄いんだろう。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1423/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1423" />
	</item>
		<item>
		<title>Struts2: Java: interceptor でハマったよ</title>
		<link>http://blog.redhawk.jp/archives/1383?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=struts2-java-interceptor-%25e3%2582%2592%25e4%25bd%259c%25e3%2582%258b</link>
		<comments>http://blog.redhawk.jp/archives/1383#comments</comments>
		<pubDate>Thu, 27 Aug 2009 09:04:17 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[Struts2]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1383</guid>
		<description><![CDATA[Struts2 でアプリを作っていて、Interceptor を使おうとしたら、めちゃはまった・・・ public class AuthenticationInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 1L; @Override public String intercept(ActionInvocation invocation) throws Exception { Map&#60;String, Object&#62; session = ActionContext.getContext().getSession(); Boolean auth = (Boolean)session.get(AuthenticationAction.AUTH_KEY); if (null == auth &#124;&#124; !auth.booleanValue()) { return "auth-error"; } else { // 次のインターセプター処理 return invocation.invoke(); } } } というのが正解のソースコード。 じゃあ、何がダメなやつはどこがおかしかったのかと言うと この [...]]]></description>
			<content:encoded><![CDATA[<p>Struts2 でアプリを作っていて、Interceptor を使おうとしたら、めちゃはまった・・・</p>
<pre class="brush:java">
public class AuthenticationInterceptor extends AbstractInterceptor {

	private static final long serialVersionUID = 1L;

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		Map&lt;String, Object&gt; session = ActionContext.getContext().getSession();
		Boolean auth = (Boolean)session.get(AuthenticationAction.AUTH_KEY);
		if (null == auth || !auth.booleanValue()) {
			return "auth-error";
		} else {
			// 次のインターセプター処理
			return invocation.invoke();
		}
	}

}
</pre>
<p>というのが正解のソースコード。</p>
<p>じゃあ、何がダメなやつはどこがおかしかったのかと言うと<br />
この Interceptor 独自の戻り値を struts.xml で定義した、global-results の値にマッチングさせたい時<br />
次のインターセプター処理を呼び出してはいけない！！<br />
って事ですな・・・</p>
<p>インターセプターが戻り値を持っている時点でもっと早く気がつけよ。って気がしないでもないです。はい。</p>
<p>ちなみに、 struts.xml はこんな感じ。</p>
<pre class="brush:xml">
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
  <constant name="struts.objectFactory" value="spring" />
  <constant name="struts.devMode" value="false" />
<package name="admin" extends="struts-default">
    <interceptors>
      <interceptor name="authentication" class="AuthenticationInterceptor" />
      <interceptor-stack name="authenticationStack">
        <interceptor-ref name="authentication" />
        <interceptor-ref name="defaultStack" />
      </interceptor-stack>
    </interceptors>
    <default-interceptor-ref name="authenticationStack" />
    <default-action-ref name="index" />
    <global-results>
      <result name="auth-error" type="redirectAction">auth/login</result>
    </global-results>
    <action name="index" class="AdminAction" method="index">
      <result>/WEB-INF/pages/admin/index.jsp</result>
      <result name="auth-error" type="redirectAction">auth/login</result>
    </action>
  </package>
<package name="auth" extends="struts-default">
    <action name="login" class="AuthenticationAction" method="login">
      <result type="redirectAction">admin/index</result>
      <result name="error">/WEB-INF/pages/auth/login.jsp</result>
    </action>
  </package>
</struts>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1383/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1383" />
	</item>
		<item>
		<title>PHP: symfony 複数のデータベースにアクセス</title>
		<link>http://blog.redhawk.jp/archives/1352?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-symfony-%25e8%25a4%2587%25e6%2595%25b0%25e3%2581%25ae%25e3%2583%2587%25e3%2583%25bc%25e3%2582%25bf%25e3%2583%2599%25e3%2583%25bc%25e3%2582%25b9%25e3%2581%25ab%25e3%2582%25a2%25e3%2582%25af%25e3%2582%25bb%25e3%2582%25b9</link>
		<comments>http://blog.redhawk.jp/archives/1352#comments</comments>
		<pubDate>Mon, 17 Aug 2009 00:46:32 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[fra]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1352</guid>
		<description><![CDATA[一つのアプリで複数のデータベースにアクセス。 それぞれの環境に対して、多くの接続を定義できます。それぞれの接続は同じ名前でラベル付けされたスキーマを参照します。デフォルトで使われる接続名は propelでこれはリスト8-3のpropelスキーマを参照します。nameオプションによって別の接続を作成することができます: php symfony &#8211;name=main configure:database &#8220;mysql://login:passwd@localhost/blog&#8221;]]></description>
			<content:encoded><![CDATA[<p>一つのアプリで複数のデータベースにアクセス。</p>
<p>それぞれの環境に対して、多くの接続を定義できます。それぞれの接続は同じ名前でラベル付けされたスキーマを参照します。デフォルトで使われる接続名は propelでこれはリスト8-3のpropelスキーマを参照します。nameオプションによって別の接続を作成することができます:</p>
<p>php symfony &#8211;name=main configure:database &#8220;mysql://login:passwd@localhost/blog&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1352/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1352" />
	</item>
		<item>
		<title>PHP: symfony redirect処理</title>
		<link>http://blog.redhawk.jp/archives/1348?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-symfony-redirect%25e5%2587%25a6%25e7%2590%2586</link>
		<comments>http://blog.redhawk.jp/archives/1348#comments</comments>
		<pubDate>Mon, 17 Aug 2009 00:44:39 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1348</guid>
		<description><![CDATA[redirect での引数の型が違う これも若干はまりどころですが、redirectする際、&#8217;module/action&#8217;と文字列で&#8217;/'で区切って記述しますが、routingを利用して引数も渡したい場合、素直に書くと&#8217;foo/bar/variable&#8217;となります。 しかしこのように正直に書いても&#8217;variable&#8217;が絶ち落とされてしまいます。 この場合はどうするかというと、まずrouting.ymlで下記のように書いてあるものとして、 foo_bar_hoge: url: /foo/bar/:hoge param: { module: home, action: bar } 次に、redirectメソッドの引数は素直に書くのではなく、配列で渡します。 $this->redirect(array(&#8216;module&#8217; => &#8216;foo&#8217;, &#8216;action&#8217; => &#8216;bar&#8217;, &#8216;hoge&#8217; => &#8216;variable&#8217;)); これで正しくリダイレクトされ、引数も渡されます。]]></description>
			<content:encoded><![CDATA[<p>redirect での引数の型が違う</p>
<p>これも若干はまりどころですが、redirectする際、&#8217;module/action&#8217;と文字列で&#8217;/'で区切って記述しますが、routingを利用して引数も渡したい場合、素直に書くと&#8217;foo/bar/variable&#8217;となります。<br />
しかしこのように正直に書いても&#8217;variable&#8217;が絶ち落とされてしまいます。<br />
この場合はどうするかというと、まずrouting.ymlで下記のように書いてあるものとして、</p>
<p>foo_bar_hoge:<br />
url: /foo/bar/:hoge<br />
param: { module: home, action: bar }<br />
次に、redirectメソッドの引数は素直に書くのではなく、配列で渡します。<br />
$this->redirect(array(&#8216;module&#8217; => &#8216;foo&#8217;, &#8216;action&#8217; => &#8216;bar&#8217;, &#8216;hoge&#8217; => &#8216;variable&#8217;));<br />
これで正しくリダイレクトされ、引数も渡されます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1348/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1348" />
	</item>
		<item>
		<title>PHP: symfony 認証</title>
		<link>http://blog.redhawk.jp/archives/1346?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-symfony-%25e8%25aa%258d%25e8%25a8%25bc</link>
		<comments>http://blog.redhawk.jp/archives/1346#comments</comments>
		<pubDate>Mon, 17 Aug 2009 00:44:03 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1346</guid>
		<description><![CDATA[security.yml ファイルで、 indexアクションなら index: is_secure: on にするだけ。 後は、アクションの中で $user = $this->getUser() $user->setAuthenticated(true); とすれば、そのページを表示できる。 細かいRoleの設定は $user->addCredential(&#8216;god&#8217;); $user->addCredentials(&#8216;god&#8217;, &#8216;slave&#8217;);]]></description>
			<content:encoded><![CDATA[<p>security.yml</p>
<p>ファイルで、 indexアクションなら</p>
<p>index:<br />
is_secure: on<br />
にするだけ。<br />
後は、アクションの中で<br />
$user = $this->getUser()<br />
$user->setAuthenticated(true);</p>
<p>とすれば、そのページを表示できる。<br />
細かいRoleの設定は</p>
<p>$user->addCredential(&#8216;god&#8217;);<br />
$user->addCredentials(&#8216;god&#8217;, &#8216;slave&#8217;);</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1346/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1346" />
	</item>
		<item>
		<title>PHP: symfonyのセットアップ</title>
		<link>http://blog.redhawk.jp/archives/1303?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-symfony%25e3%2581%25ae%25e3%2582%25bb%25e3%2583%2583%25e3%2583%2588%25e3%2582%25a2%25e3%2583%2583%25e3%2583%2597</link>
		<comments>http://blog.redhawk.jp/archives/1303#comments</comments>
		<pubDate>Thu, 07 May 2009 14:27:46 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=1303</guid>
		<description><![CDATA[CentOS5.2 でPHPなフレームワークsymfonyを使う機会があったのでメモ。 必要なパッケージをインストール yum install php php-xml php-xml を入れないと、後で「symfony/symfony requires PHP extension &#8220;dom&#8221;」というエラーが出る。 次に、PEARにsymfonyして、PEARからインストール。 pear channel-discover pear.symfony-project.com pear install symfony/symfony-1.1.7 # CentOS5.2だとPHPのバージョンが古くて1.7系しか入れられない。 ちなみに、Debian/Ubuntuでは、 apt-getで入れられるらしい。 deb http://www.symfony-project.org/get debian/ apt-get update apt-get install php5-symfony 後は、プロジェクトを作って、アプリケーションを組み込んでいく感じ。 Djangoに微妙に似ているんだよねぇ まあ、似ているから選んだんだけれどｗ]]></description>
			<content:encoded><![CDATA[<p>CentOS5.2 でPHPなフレームワーク<a href="http://www.symfony-project.org/">symfony</a>を使う機会があったのでメモ。</p>
<p>必要なパッケージをインストール<br />
yum install php php-xml</p>
<p>php-xml を入れないと、後で「symfony/symfony requires PHP extension &#8220;dom&#8221;」というエラーが出る。</p>
<p>次に、PEARにsymfonyして、PEARからインストール。</p>
<p>pear channel-discover pear.symfony-project.com<br />
pear install symfony/symfony-1.1.7</p>
<p># CentOS5.2だとPHPのバージョンが古くて1.7系しか入れられない。</p>
<p>ちなみに、Debian/Ubuntuでは、 apt-getで入れられるらしい。</p>
<p>deb http://www.symfony-project.org/get debian/<br />
apt-get update<br />
apt-get install php5-symfony</p>
<p>後は、プロジェクトを作って、アプリケーションを組み込んでいく感じ。<br />
Djangoに微妙に似ているんだよねぇ<br />
まあ、似ているから選んだんだけれどｗ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/1303/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/1303" />
	</item>
		<item>
		<title>そろそろサーバマシンの事を考えないといけないかも</title>
		<link>http://blog.redhawk.jp/archives/877?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e3%2581%259d%25e3%2582%258d%25e3%2581%259d%25e3%2582%258d%25e3%2582%25b5%25e3%2583%25bc%25e3%2583%2590%25e3%2583%259e%25e3%2582%25b7%25e3%2583%25b3%25e3%2581%25ae%25e4%25ba%258b%25e3%2582%2592%25e8%2580%2583%25e3%2581%2588%25e3%2581%25aa%25e3%2581%2584%25e3%2581%25a8%25e3%2581%2584%25e3%2581%2591%25e3%2581%25aa%25e3%2581%2584</link>
		<comments>http://blog.redhawk.jp/archives/877#comments</comments>
		<pubDate>Sat, 07 Mar 2009 16:07:47 +0000</pubDate>
		<dc:creator>reciente</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MovableType]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.redhawk.jp/?p=877</guid>
		<description><![CDATA[自宅のサーバマシンでここ運用してるんだけれど、どうにもこうにも、MovableTypeはコメント投稿した時に重過ぎる！！ 何でかっていうと、一々毎回静的なページを生成しているからだ。生成後はアクセスが早いんだけれど、いまどきPHPで動的に生成していてもそれ程遅くはないだろう。 ってか、一度 WordPress に移行したんだけれど、リンクが全部消えちゃうから、諦めたんだよね。 mod_rewriteで条件で飛ばせるほど、URLパターンがはまるわけじゃないし・・・う～ん、リンク切れ覚悟で移行するか、サーバマシンのスペックを上げるかだね。 Athron64の1.8GHzくらいしかなかった気がする。一応、デュアルコアだったかもしれないけれど。 タグ検索とかも凄い重いから、使いづらいんだよねー サーバマシンのスペックを上げても、それ程期待は出来なさそうな気がするし、またどうせ直ぐに限界点が見えてくると思う。 CGIで動かしているのも原因の一つなんだろうなぁ PHPはApache Moduleで動かすし、WordPressが早いのもそこにある。 mod_perlで動かす手もあるのかもしれないが、mod_perlは余り使いたくないな。 分かっているんだよ！！ WordPressの方が良いっていうのは！！ っち、休日中にやるか。まだ土曜日だ。がんばれば、一時間以内に作業は終わる。 タグとかカテゴリの整理とか、リダイレクト処理とかは・・・もう、後でやるよ！！ そして、そう・・・日曜朝は首都高をバイクで走りたいんだ！！ だから、徹夜でサーバのメンテしていて、そのまま首都高走るとか避けたいんだよ！！ ちなみに、なんか、WordPressはコメントとトラックバックの区別が初期状態ではなかった気がする。 なんか、色々入れないといけなかったような。 っけ　めんどくせー　だるいよー　誰かやってよー   # 追記 結局 WordPress に移行。 前のページへのリンクはとりあえず残してあるけれど、落ち着いたら消そうかな。 しかし、MovableTypeに比べて、格段に軽いお！！]]></description>
			<content:encoded><![CDATA[<p>自宅のサーバマシンでここ運用してるんだけれど、どうにもこうにも、MovableTypeはコメント投稿した時に重過ぎる！！<br />
何でかっていうと、一々毎回静的なページを生成しているからだ。生成後はアクセスが早いんだけれど、いまどきPHPで動的に生成していてもそれ程遅くはないだろう。<br />
ってか、一度 WordPress に移行したんだけれど、リンクが全部消えちゃうから、諦めたんだよね。<br />
mod_rewriteで条件で飛ばせるほど、URLパターンがはまるわけじゃないし・・・う～ん、リンク切れ覚悟で移行するか、サーバマシンのスペックを上げるかだね。<br />
Athron64の1.8GHzくらいしかなかった気がする。一応、デュアルコアだったかもしれないけれど。<br />
タグ検索とかも凄い重いから、使いづらいんだよねー<br />
サーバマシンのスペックを上げても、それ程期待は出来なさそうな気がするし、またどうせ直ぐに限界点が見えてくると思う。<br />
CGIで動かしているのも原因の一つなんだろうなぁ<br />
PHPはApache Moduleで動かすし、WordPressが早いのもそこにある。<br />
mod_perlで動かす手もあるのかもしれないが、mod_perlは余り使いたくないな。<br />
分かっているんだよ！！ WordPressの方が良いっていうのは！！<br />
っち、休日中にやるか。まだ土曜日だ。がんばれば、一時間以内に作業は終わる。<br />
タグとかカテゴリの整理とか、リダイレクト処理とかは・・・もう、後でやるよ！！<br />
そして、そう・・・日曜朝は首都高をバイクで走りたいんだ！！<br />
だから、徹夜でサーバのメンテしていて、そのまま首都高走るとか避けたいんだよ！！<br />
ちなみに、なんか、WordPressはコメントとトラックバックの区別が初期状態ではなかった気がする。<br />
なんか、色々入れないといけなかったような。<br />
っけ　めんどくせー　だるいよー　誰かやってよー</p>
<p> </p>
<p># 追記<br />
結局 WordPress に移行。<br />
前のページへのリンクはとりあえず残してあるけれど、落ち着いたら消そうかな。<br />
しかし、MovableTypeに比べて、格段に軽いお！！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.redhawk.jp/archives/877/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.redhawk.jp/archives/877" />
	</item>
	</channel>
</rss>
