<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
  <title>iddy.jp - RSS feeds by makoto_kw</title> 
  <link>http://iddy.jp/rss/blog/makoto_kw/</link> 
  <description>RSS feeds by makoto_kw hosted at http://iddy.jp/</description>
  <language>ja</language>
  <item>
    <title>NginxでWordPressを実行する 開発環境例</title> 
    <description>
    <![CDATA[
    いくつかWordPressプラグインを開発しているのだけど、基本的に自分のブログでテストするのは最後で開発時は別に開発専用のWordPressを用意している。 その環境はVMWare PlayerでUbuntuをゲストOSとして実行している。いままではApache2で動かしていたけれど、Ubuntu 12.04 LTSのリリースのタイミングと今回さくらVPSに移行したタイミングから開発環境でもNginxでテストすることに。 WordPress開発環境の構成 URL 開発時はwordpress-devというサーバ名で運用している。ブラウザでテストするマシン（ホストＯＳ）の/etc/hosts(Windowsの場合はC:\Windows\System32\drivers\etc\hosts)に以下を追加しておく。 192.168.0.1は例であって実際はVMWareの仮想ネットワークが振るアドレスに変更となる。ゲストOSのUbuntuでifconfigと打てばDHCPに振られているIPアドレスがわかる。 ディレクトリ構成 試行錯誤したのち、WordPress開発環境では以下のような構成にしている。 /var/www/wordpress-dev/2.8/ja/ -> 特定バージョンのWordPressを配置 /var/www/wordpress-dev/beta/en/ -> 正式リリース前のWordpressを配置 /var/www/wordpress-dev/stable/en/ -> 最新のWordPressを配置 /var/www/wordpress-dev/stable/ja/ -> 最新のWordPressを配置 WordPressバージョンによってAPIが変わるのでAPIの変更が大きかったバージョンを幾つか用意しておく。新しいWordPressバージョンでの動作確認のためbetaディレクトリに用意。普段の開発は最新版を自動更新するstableディレクトリを用意しておく。プラグインでは日英ローカライズにも対応しているのでen,jaといったディレクトリにその言語でのWordPressをそのまま配置している。 データベース接続 WordPressは同一データベースで複数のWordPressを管理することが可能。具体的には同じSQLデータベース内で別のテーブルを使うことができる。wp-config.phpにはtable_prefixという変数名があり、これをそれぞれバラバラに設定しておけば同じデータベースでも別のテーブル名が使われるので複数のWordPressを共存することができる。 デフォルトは&#8217;wp_’で、先程のディレクトリ階層に沿って例えば/var/www/stable/ja/wp-config.phpでは以下のようにwp_stable_ja_というように設定している。 Ubuntu 12.04でNginxを実行する Ubuntuではnginx-extrasパッケージが普通に見つかったのでDebinaでdotdebリポジトリを追加したときの手順と変わらない。 でnginxからphpを実行する環境を構築できる。 トラブル apacheをバックエンドにするとリダイレクトする そうは言ってもNginxの設定を書きなおすのが面倒だったので今まで使っていたApacheの設定をそのまま使い、Apacheをポート8080で動かし、NginxからApacheに振ってみた。 結論からいうとうまく動かなかった。 ブラウザから http://wordpress-dev/stable/ja/ にアクセスするとNginxがproxy_passの設定に従いhttp://127.0.0.1:8080/stable/ja/を参照した結果を返そうとする。http://127.0.0.1:8080/stable/ja/ではApacheがWordpressを実行してレスポンスを返すのだが、おそらくWordPressのブログのURLとこのアクセスしたURL(http://127.0.0.1:8080/stable/ja/)が違うのでWordPressはこのURLにリダイレクトしようとしてしまう。 リダイレクトのレスポンスを受けてブラウザはhttp://127.0.0.1/stable/ja/にアクセスするが、(ホストOSの)ブラウザから見た場合127.0.0.1はNginxやApacheを動かしているゲストOSではなくホストOS自身なので期待する結果は得られない。ホストOSでWebサーバを実行していなければただの接続エラーがブラウザに表示される。 渋々Nginxの設定をする 大した手間でもないので諦めてリダイレクトの問題は調査せずにNginxの設定を書く。 上記ファイルは以下のコマンドで有効にする WP_SITEURL定義のTips 接続で使うURLをWordPressがデータベースに保存しているサイトのURLが違うとリダイレクトなり問題が起きるようなのだが、wp-config.phpに以下のような記述を入れるとデータベースのサイトURLよりこちらを優先して使ってくれるようだ。URLを移行したときに接続できない場合は移行後のURLをWP_SITEURLに設定してWordPressを開き、wp-adminからサイトのURLを編集すればよいだろう。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/05/15/nginx%e3%81%a7wordpress%e3%82%92%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e4%be%8b/</link> 
    <pubDate>Tue, 15 May 2012 14:53:30 +0000</pubDate>
   </item>
  <item>
    <title>DebianでRedmine 1.3.2から2.0に更新する</title> 
    <description>
    <![CDATA[
    さくらVPS 512からさくらVPS 2Gに移行していろいろ作業している間に Redmineは1.4.xがリリースされ、さらに Rails3向けのRedmine 2.0がリリースされた。 取り残されないうちにRedmine 2.0に更新する。Nginx+Passengerで動かしているがほとんどの作業はコマンドラインからでウェブサーバの違いが手順に影響することはあまりない。 本家サイトの手順にそっていく http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade なおCentOS版の更新手順はredmine.jpで公開されている http://blog.redmine.jp/articles/redmine-2_0-installation_centos/ Step 1 &#8211; Check requirements Redmine 1.3.2の環境でRubyは1.8.7のみ、Railsは 2.3.14、gemは古いという状態。 一方、Redmine 2.0はRubyは1.8.7, 1.9.2, 1.9.3, jruby-1.6.7、Railsは3.2.3が必要。他のパッケージが記載されていないのでよく読んでみると、Redmine 1.4から依存パッケージをインストールする「bundle install」が使えるようになっているようだ。 さて今回はいろいろあって(後述)、Ruby 1.8.7を継続して使うことにした。Redmineの依存パッケージをインストールしていく。 Debign/Ubuntuはgemのバイナリのパスが通っていないの面倒。 RMagickの依存ライブラリのインストール RMagickのインストールに失敗したので補足しておく。いままでRMagickはオプションだったし、別に要らないと思ってインストールしていなかった。しかし、bundle installの途中で失敗してストップしてしまうので諦めてRMagickをインストールする。 apt-cache search magick でそれらしいパッケージを検索し、以下のコマンドを実行。 正直なところ３回実行した。最初にCan&#8217;t install RMagick 2.13.1. Can&#8217;t find Magick-configというエラーだったので薄々開発モジュールが要りそうだと思っていてimagemagickをインストールしてもMagick-configは入らなかったので続けてlibmagickcore-devをインストール。しかしそれでも Can&#8217;t install RMagick 2.13.1. Can&#8217;t find MagickWand.h. というエラーがでたので libmagickwand-dev をインストール。これでRMagickはインストールできた。 Step [...]
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/05/15/debian%e3%81%a7redmine-1-3-2%e3%81%8b%e3%82%892-0%e3%81%ab%e6%9b%b4%e6%96%b0%e3%81%99%e3%82%8b/</link> 
    <pubDate>Tue, 15 May 2012 13:00:26 +0000</pubDate>
   </item>
  <item>
    <title>コンプガチャの何が悪いのか調べる</title> 
    <description>
    <![CDATA[
    「コンプガチャ」という仕組みが法的に規制されるとかされないとかで、グリーやらDeNAなどの会社が自主的にそのサービスを中止したという。そもそも「コンプガチャ」とはどういうもので、何が悪いのかいまいちわかっていないので調べてみた。 コンプガチャとは コンプガチャンプガチャとは、コンプリートガチャの略で、元々は「ガチャ」と呼ばれる有料くじびきゲームがはじまり（無料ガチャも存在する） 話題の「コンプガチャ」についていまさら聞けない人のためのやさしい解説 有料くじびきゲームでその景品をコンプリート、全部揃えることを意味するようだ。ソーシャルゲーム内でくじのようなものを購入し、全部揃えることでさらに何か良いものを得られるようなシステムが問題とされているらしい。 コンプガチャの何が問題なん？ コンプガチャの問題について調べると「射幸心をあおる」というキーワードがよく出てくる。 射幸心とは、人間の心理として幸運を得ることを願う気持ち。 Wikipedia 射幸心 全部揃えると良いことがあるという気持ちを煽ってくじを売ること、これが一種のギャンブル性があるらしい。 だからそれの何が問題なん？ 調べてもすっと落ちてこない。じゃぁ、銀のエンゼルを揃えるためにチョコボールを買い続けていたのもダメだったのか？俺はそれを納得した上で買ってたわけだから本人がそれで対価を払って良いと思っているならそれでいいじゃないか。 こういった人間の心理を利用した販売方法は世の中で氾濫しているわけで射幸心をあおることが問題だというならお守りを売る（実際には買っているじゃなくて納めているわけだが）ことだってダメじゃないか。 「ランダムに出てくる特定のアイテムを組み合わせることで、他の景品を入手できるくじ」のような商品は景表法で禁止されている 話題の「コンプガチャ」についていまさら聞けない人のためのやさしい解説 結局のところ、結論は景表法で禁止されてるからダメらしい。この点については以下の内容がわかりやすかった。 懸賞の方法が禁止となった背景には、かつて、子供たちに人気のあったプロ野球選手やアニメーションのキャラクターのカードを集めると景品類がもらえるといった懸賞が爆発的な人気を呼び、カード欲しさに商品を買い続けることに親から苦情が多く寄せられたことや、特定カードの枚数を制限してカードを集めにくくするなど、企業側が不正行為をする可能性が指摘されたことがある。 これを受けて公正取引委員会は、こうした懸賞の方法に対し、（１）それらが主に児童向けの価格の安いものに利用されるものであること、（２）児童の射幸心をあおるものであること、（３）すぐに当たるような気持ちにさせる方法であるため、懸賞の方法自体に欺瞞性が高いことや、児童は大人と比べ判断力が十分でないことなどに配慮し、このやり方自体を全面禁止した。 当たり券３種類そろうと応募できる懸賞は可能か？ そしてこの規制を真面目に読めば、チョコボールの銀のエンゼルは絵合わせでないので問題にならないと考えることができるとのこと。 これに「絵合わせ条項」となる「二以上の種類の文字、絵、符号等を表示した符票のうち、異なる種類の符票の特定の組合せを提示させる方法を用いた懸賞による景品類の提供は、してはならない。」と記載されているのですが、この2以上の種類というのがミソだったりします。例えばコンプガチャの場合は「数種類の異なる種類の付票の特定の組み合わせにより景品を提供」しているのです。逆に森永のエンゼルの場合は「金１種類、もしくは銀１種類であり、同一の付票の枚数により景品を提供」しているのです。 【景表法のわかりやすいお話】コンプガチャがアウトで森永の金銀エンゼルがセーフな理由 細かい理由はよくわからない 子供がお金を使うとか、いろんな理由を背景にあげられているが、そんな商売は世の中に沢山あるわけでソーシャルゲームがやり玉にされるのは単に出る杭は打たれるからに思える。細かい理由を考えていくと年齢で規制すればOKなのかとか線引きがよくわからなくなってくるので「景表法で禁止されてるからダメ」理由はこれだけにしないと堂々巡りになりそう。 確実に叩かれるから誰もやらないと思うが、お金を納めてお守りを手に入れてそれが５つ揃えばいいことがある、というサービスならセーフなのかと思えたりして怖い。お守りは行き過ぎでも、エンゼルマークのように絵が同じものだったらいいんでしょ？とほとぼりが冷めたころにやる人は確実に出てくるんじゃなかろうか。 あれちょっと待て。ドラゴンボールは星の数が違うから景表法に引っかかるんじゃないのか？？ 検索したらつぶやかれていた(笑) 神龍　「ドラゴンボール廃止のお知らせ」　「七つ集めるとどんな願いでも叶える」ことに財貨性があり「絵合わせ」にあたるのではないかとの消費者庁の問題意識を踏まえ、このたび、「ドラゴンボール」を廃止することとしました。 https://twitter.com/#!/sakai/statuses/200122152018657280 責任はみんなにある 根本的に言えば、ソーシャルサービスにおけるアイテム課金そのものを規制せざるを得ないし、実際にプラットフォーム側はそういった動きを見せている。 [重要なお知らせ]15才以下の方による、アメーバピグ・ピグライフのご利用に関して グリー、利用環境向上に関する施策を導入・実施 DeNA、「Mobage」における青少年ユーザの月額課金制限を追加導入 何もしなければ社会的に非難されるし、規制をかければユーザから苦情をうけるという袋小路だが儲かっているからいろいろ言われるんだろう。子供が行う課金は親が払っているはずだから、理想としてはプラットフォーム側は規制する仕組みだけを用意してどう適応するかは親が決めればよいと思う。しかし残念ながら世の中の流れの速さにみんなついて行けていないのが一括で規制せざるをえないのが現実なのだろう。 結局のところサービスを提供する側だけじゃなく、使う子供にもその親にもみんなに責任がある気がする。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/05/15/%e3%82%b3%e3%83%b3%e3%83%97%e3%82%ac%e3%83%81%e3%83%a3%e3%81%ae%e4%bd%95%e3%81%8c%e6%82%aa%e3%81%84%e3%81%ae%e3%81%8b%e8%aa%bf%e3%81%b9%e3%82%8b/</link> 
    <pubDate>Mon, 14 May 2012 17:11:53 +0000</pubDate>
   </item>
  <item>
    <title>NginxでWordPressを実行する CORESERVER.JPからさくらVPSに移行編</title> 
    <description>
    <![CDATA[
    このブログをさくらVPSに移行して記事を書いて終わり！と思ったが長期戦の予感がしてきたのでとりあえず書いてみることにする。これを書いている時点ではすでに移行しているので今日はそこまで話。 サーバの情報 今まで使っていたレンタルサーバはCORESERVER.JPのCORE-MINI。ずっとCORE-Aだと思ってた・・・。CORE-MINIだと300以下のアカウントで共有しているのでまぁそれは重いこともあるよなー。Load Avarageが10とかザラだったし。 XREA+/CORESERVER.JPはsafeモードでphpが動くのでSuper Cacheをレガシーモードで動かさざるを得なかったり、よく空のレスポンスが返ってくる(ChromeでERR_EMPTY_RESPONSEというエラーが表示されるやつ)ことがあっていい加減うんざりしていたのでVPSに移行することにした。 で移行先のサーバはさくらのVPS 2G。メモリ2Gの仮想３コア。さくらのバックボーンがあるので回線的なパフォーマンスも期待。OSはCentOSではなくDebian 6。 と、その前に 実はNginxにしたからといって速くなるとはまったく期待していなかった。自分が抱いていたNginxのイメージは静的ファイルの配布のパフォーマンスがいいのと、同時アクセス数が多くなってもパフォーマンスが落ちないというあたり。このブログ程度であれば別にNginxにしたところで対して変わらんだろうと思っていた。 Before you consider using nginx, be aware that PHP APC or a similar opcode cache with a WordPress caching plugin is going to offer significant performance improvements over just switching from Apache to nginx. If you aren&#8217;t already using a PHP opcode cache and [...]
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/05/10/nginx%e3%81%a7wordpress%e3%82%92%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b-coreserver-jp%e3%81%8b%e3%82%89%e3%81%95%e3%81%8f%e3%82%89vps%e3%81%ab%e7%a7%bb%e8%a1%8c%e7%b7%a8/</link> 
    <pubDate>Wed, 09 May 2012 16:16:49 +0000</pubDate>
   </item>
  <item>
    <title>Windows Developer Days 2012に行ってきた #wddjp</title> 
    <description>
    <![CDATA[
    登録者証とメッセージカード 4/24, 25の２日間、Windows Developer Daysに行って来ました。受付で20-30分待たされたり、ランチセッションで弁当が行き渡らなかったりして多少混乱はありましたが、セッション自体は興味深いもので全体を通してみれば有意義な２日間でした。 今回のテーマはWindows 8、Metroスタイルアプリということで、マイクロソフトも今までのWindowsをぶっ壊して作りなおす気満々です。あれだけ大きな会社これだけの方針変換をするというのはここまで相当な議論が積み上げてきた結果だろうし、あるいはそれだけマイクロソフトも追い詰められているという見方もできます。 イベントにも金がかかっているなぁということからも伝わりましたw。8つながりで八天堂クリームパンをもらったり、ランチエリアでミスタードーナツが配られてたり、イベント料を取られているとは言え至れり尽くせり。個人的には本だけじゃなくWindows 8対応機種などを割引で売ってくれるとなおやる気がでたのですが。 まぁ開発者の立場からすれば高い生産性が整った環境で面白そうなアプリが作れるという場が提供されるというのは歓迎以外なんでもないわけで、じっくり楽しませてもらおうかと思っています。 Evernoteでセッションのメモと、資料をアップしました。 一日目のメモ 二日目のメモ イベントプログラム(PDF) Windows 8 Consumer Previewの紹介資料(PDF)
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/29/windows-developer-days-2012%e3%81%ab%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9f/</link> 
    <pubDate>Sun, 29 Apr 2012 11:27:07 +0000</pubDate>
   </item>
  <item>
    <title>WordPressでエントリにtwitterボタンをちゃんと置いてみた</title> 
    <description>
    <![CDATA[
    ブログのエントリのヘッダ部分にあるtwitterのアイコンは今までやっつけでつくったものでクリックするとただエントリのURLがtwitterの投稿画面に出るだけだった。最初つくったときはこれで十分だと思っていたが最近のいろんなサイトのtwitterボタンでは「タイトル URL @screename さんから」のような形式で投稿できるものが多く、実際に自分が使ったときにエントリのタイトルが出ないようでは読む人が困るとtweetをためらったので自分のサイトも直さないとイカンと思った。 twitterボタンを配置するには いろんなサイトが似たようなことをやっているのでおそらく何か仕様があるはずだと調べてみたところ以下のページで発見した。 https://dev.twitter.com/docs/tweet-button twiterボタンの配置には3つの方法があり、推奨はjavascriptを使う方法だけど、今回は「Build Your Own Tweet Button」の簡単に使える https://twitter.com/share URL. を使って自分で好きなanchorタグを入れる形をとる。「タイトル URL @screename さんから」をつくるにはshare?url=xxx&#038;text=xxx&#038;via=xxxのようなURLを指定すればよい。クエリーに使えるパラメータは以下のようなものがある。 url ページのURL via twitterのscreename text デフォルトテキスト related 関係のあるアカウント、この人フォローしますかと提案されたりする count tweet数ボックスの位置 lang tweetボタンの言語 counturl URL to which your shared URL resolves。よくわからん hashtags ハッシュタグ、カンマで区切れる size ボタンのサイズ 幾つかはjavascriptでtweet buttonを作るときに使うものなので自前でanchorタグを作る場合は、count、lang、sizeとかは無視してよいと思われる。今回はWordPressでエントリのURLやタイトルを使うために以下のように実装した。 zenbackの機能は便利だけど、エントリ一覧ページでは表示していないので一欄ページから簡単にtweetするための簡易機能としてはこれで十分に思える。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/23/add/</link> 
    <pubDate>Mon, 23 Apr 2012 00:07:41 +0000</pubDate>
   </item>
  <item>
    <title>Titanium Mobile 2.0 ローンチ記念イベントに行ってきた</title> 
    <description>
    <![CDATA[
    Titanium Mobile 2.0ローンチ記念イベントに行ってきました。 お土産のステッカー Titanium Mobileでちょっとアプリを作ろうとしたらどうもXcode 4.3とは相性が悪くて2.0を待った方がよさそうだったので、待ち望んだローンチ。 イベントは@masuidriveさんよりTitanium Mobile 2.0の紹介、Titanium Studio 2.0の紹介、FAQ、LTという流れ。 Titanium Mobile 2.0 Titanium Mobile 2.0の大きく変わったというより堅実なアップデートとのこと。アプリ開発者にとって大きな点は、レイアウトシステムの刷新とCloud Serviceのリリース。あとはTitanium WebがRC。 レイアウトシステムの刷新 レイアウトシステムでは今まではwidth/heightをautoに設定したときに、コンポーネントのコンテンツに合わせて最小サイズになるのか、親のコンポーネントいっぱいに表示するかがまちまちだった。今までレイアウトはプラットフォームに任せていたためこのようなことが起きていたが2.0からはTiが全てコントロールするようになった。autoの代わりにTi.UI.SIZE、Ti.UI.FULLを指定することでそのどちらかを指定できる。もちろんautoのままでも動くし、どちらのモードで動くかはドキュメント化されるとのこと。 詳しい説明はTransitioning to the New UI Layout Systemあたりか。 レイアウトでバッチ処理ができるようになった。今まではコンポーネントの複数のプロパティ(topとかleft)を設定すると各々のプロパティを設定した時点で再描画が起こってしまう。2.0からは以下のように描画のタイミングが制御できる。これで描画処理を改善できる、いいことを聞いた。 以下のようにまとめて設定する技もある。 このへんも先のTransitioning to the New UI Layout Systemに書いてあった。 Cloud Service Appcelerator Cloud Services これは説明が難しい。Titanium Mobileからも使えるサーバサイドのコンポーネント集という形か。すごい便利そうなものが出てきたという印象。デモではFacebookの認証を簡単にTitanium Mobileで実現していた。ようはありきたりなサーバサイドの実装はこれを使うことで開発者はクライアント(Ti)サイドの実装に専念できる。 ただRESTFul APIをつかって自分で開発したサーバサイドのプログラムと連携したり、JavaやObjective-Cで使えるNative SDKも用意されているそうでもはやTitanium Mobileの領域を超えている。これはこれでちゃんと検証した方がよさそう。 Titanium Web Android/iOSアプリだけでなくHTML5アプリとしてWebアプリも作れる。恐らくサブセットになってしまうだろうがTitanium Mobileと共通なものも使える。うまくモジュールのテストとして使えるとよいのだが。今のところそれ以外ではあんまり使いそうにはない。jQuery MobileやSencha [...]
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/21/titanium-mobile-2-0-%e3%83%ad%e3%83%bc%e3%83%b3%e3%83%81%e8%a8%98%e5%bf%b5%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%81%ab%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9f/</link> 
    <pubDate>Fri, 20 Apr 2012 16:43:24 +0000</pubDate>
   </item>
  <item>
    <title>nasneの発表を聞いて思ったこと</title> 
    <description>
    <![CDATA[
    SCE、DTCP-IP対応のネットワークレコーダー「nasne」（ナスネ）を発表 http://plusd.itmedia.co.jp/pcuser/articles/1204/17/news090.html でAmazonとかで予約できるよと中の人から聞いたので早速予約してみた。 最近はApple TVとか、NTT西日本の光BOX＋とかテレビにつけるサブシステムという形の商品が増えてきた。この手の商品は価格帯が1万円前後なので買いやすい。液晶テレビも十分に安くなってきているけど、そもそもテレビなんてそう買い換えるものではないから欲しい機能が別のメーカーのテレビにあったときにただ手をこまねいて見ていることしかできない。だからこういう外からのアプローチは正しいんだと思う。 このまま行くとテレビはただ映像を映すだけの商品でも良いのかもしれない。あとどう考えてもレコーダーの価格帯は異常に高いと思う。テレビ・レコーダー業界っていうのはとっと再編したほうがいいんじゃないかと思っていて、家電メーカーがテレビの再建だ、なんとか言っているとそれでいいのだろうかと不安になる。というか結局のところ液晶パネルがApple TVなりGoogle TVなりで採用されればそれで事業的にはいいんでしょ？別にテレビを売りたいわけじゃないんでしょ？ビジネスなんでしょ？って冷めた目でも見ている。 あと、これソニー・コンピュータエンタテインメントからの商品なんだけど、もうソニーとか、ソニー・コンピュータエンタテインメントとかどっちでもいいよね。別に誰がホームラン売ってもいいし、香川が中心でも本田が中心でもいいのよね。Appleだって結局iPhoneがMacOSXを救うような形になったわけじゃん。世の中何が主導権をとるのかなんてわからないんだから、形式にとらわれずやりたいことをやるのが一番だと思うよ。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/19/nasne%e3%81%ae%e7%99%ba%e8%a1%a8%e3%82%92%e8%81%9e%e3%81%84%e3%81%a6%e6%80%9d%e3%81%a3%e3%81%9f%e3%81%93%e3%81%a8/</link> 
    <pubDate>Thu, 19 Apr 2012 04:36:19 +0000</pubDate>
   </item>
  <item>
    <title>UTF-8 対応の msysGit 1.7.10 を使ってみる</title> 
    <description>
    <![CDATA[
    TweetでmsysGitがUTF8対応されたという話を聞いてWindowsマシンのmsysgitを置き換え。 UTF-8 対応の msysGit 1.7.10 リリース！ いよいよ Windows で git できるよ!!! 今まではUTF8で使えるように幾つかのバイナリにパッチを当てていたが、今回でそれが不要になる。ところでmsysgitって展開しているだけでインストーラーではないのだろうか？普通に古いバージョンを削除して新しいものを入れなおした。 同じ場所にインストールしたが古いショートカットで起動しなかったので、デスクトップにショートカットをつくりなおし。 git logなどのコマンドで日本語が普通に表示されるようになった。日本語ファイルを使う場合にはまだ注意があるらしい。自分の場合はその他のSCMでも問題がおきるので絶対に日本語ファイルは使わない。将来gitから別のSCMに置き換える場合もあるし、よってこの問題は放置。それ以外だと先のブログにもあるようにコマンドラインでの日本語IMEからの入力がうまくいかない。そこで今まで同様にコメント入力用の外部エディタを設定する。 秀丸を使う場合 TeraPadを使う場合 日本語向けのエディタはデフォルトでShift-JISモードで起動することが多いのでそれぞれに指定しているのはUTF8モードで起動する引数のオプション。（ちなみにglobalなgitの構成ファイルは$HOME/.gitconfigにあるのでmsysgitの再インストールで設定をし直す必要はない） ちなみに最近知ったんだけどMac向けのGithubアプリが便利。http://mac.github.com/ 自分のgithubアカウントのリポジトリを簡単にcloneしたり、githubとは関係ないローカルのgitリポジトリの履歴が見れたりする。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/18/utf-8-%e5%af%be%e5%bf%9c%e3%81%ae-msysgit-1-7-10-%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/</link> 
    <pubDate>Wed, 18 Apr 2012 03:10:28 +0000</pubDate>
   </item>
  <item>
    <title>疲れない電子書籍の自炊生活</title> 
    <description>
    <![CDATA[
    魔法のお片づけでもう電子書籍の自炊はやりたくないと思ったが、慣れてしまえば定期的な自炊はこなせている。 考えるべきなのは何百冊もある書籍をいっきに自炊するとき。これは間違いなく業者に頼んだ方がいいだろう。金銭面を考慮して時間を欠けてもいいという勇気があれば自炊にチャレンジしてもいいかもしれない。 ただ定期的な自炊という意味ではそれほど苦ではないということがわかってきた。 今は定期的な自炊の扱いとして新しく本を買ったときに本棚に埋まるだけの量の本を残してあふれた分を自炊するという形をとっていて、これは「魔法のお片づけ」で必要なものを残したときの量が適切な量らしいということを読んでそういう風にしている。 実際のところ自炊をしているとは言え、電子書籍にして読むというケースは少ない。購入した本はまず本として読んで内容が一過性のものだと思ったら自炊行き、そうでないものは本棚に残したいかどうかを考えて入れ替えを行う。この方式だとあまり読みなおすことのない本が自炊行きになる。内容的に必要なものがあっても局所的だったりして全章本として残したいと思える書籍との出会いはそう多くない。 これを守るとまぁ１週間、1ヶ月に5,6冊を自炊することになる。これは作業時間的に1,2時間くらい掛かるのだが、サッカー、F1、映画などの番組を見ながら作業するとちょうど良いことがわかった。自炊作業で注意が必要なところってスキャナへの給紙くらいだったりする。たまに試合に夢中になって入れ忘れてあとでPDFを結合しないといけないことになるがそれもリカバー可能だし、それ以外の作業もだいたいはながらで作業できる。一週間に5冊以上も購入する人はそれほどいないと思うのでこれくらいのペースであれば週末ちょっとながらで作業すればいいだけなのでまぁ続けていけるのではなかろうか。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/16/%e7%96%b2%e3%82%8c%e3%81%aa%e3%81%84%e9%9b%bb%e5%ad%90%e6%9b%b8%e7%b1%8d%e3%81%ae%e8%87%aa%e7%82%8a%e7%94%9f%e6%b4%bb/</link> 
    <pubDate>Sun, 15 Apr 2012 18:58:11 +0000</pubDate>
   </item>
  <item>
    <title>Sharpの空気清浄機＋加湿器を買い換えてみた</title> 
    <description>
    <![CDATA[
    年が開けてから大掃除以来、粛々と部屋の模様替えに着手している。そんな中、空気清浄機をそろそろ買い換えたいと思ったので実行してみた。 KC-A50-W 5年前のモデルからの買い替えなので、最近のモデルは湿度が表示されたり、ボトルの水の量が見えたり、ボトルのキャップが大きくなって水が入れやすくなっていたり、いろいろパワーアップされていた。音が大きくなった気がするが、騒音というほどではないので気にしないことにしている。最新家電は使ってみるものだ。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/10/sharp%e3%81%ae%e7%a9%ba%e6%b0%97%e6%b8%85%e6%b5%84%e6%a9%9f%ef%bc%8b%e5%8a%a0%e6%b9%bf%e5%99%a8%e3%82%92%e8%b2%b7%e3%81%84%e6%8f%9b%e3%81%88%e3%81%a6%e3%81%bf%e3%81%9f/</link> 
    <pubDate>Tue, 10 Apr 2012 14:51:22 +0000</pubDate>
   </item>
  <item>
    <title>GithubテイストなRedmineのテーマを自作してみた</title> 
    <description>
    <![CDATA[
    VMWare ImageでGitLabを試してみたが現状の要求ではRedmineの方が向いていることがわかった。単に今風のデザインのものが使いたいという邪な気持ちがあったのでRedmineのテーマをGithubっぽくしてみるということをやってみた。 反響があったのでGithubより公開しました。https://github.com/makotokw/redmine-theme-gitmike/tags Redmineのテーマはスタイルシートを以下の階層につくって設定から変更することで適応できた。 public/themes/{themename}/stylesheets/application.css 参考: http://www.redmine.org/projects/redmine/wiki/Themes スタイルシートなので他のテーマを参考にしながら作成することができる。 http://www.redmine.org/projects/redmine/wiki/Theme_List 今回は A1 theme をベースにgithubのカラーなどを適応してみた。人様のテーマを変更している都合で今のところテーマは公開しておらず。 A1 theme 作者様に再頒布の許可をいただきました。(GPL3で公開しているとのこと) GPLなので本テーマもGPL3で公開しました。 タグからダウンロードできます。makotokw/redmine-theme-gitmike
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/09/redmine%e3%81%ae%e3%83%86%e3%83%bc%e3%83%9e%e3%82%92%e8%87%aa%e4%bd%9c%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link> 
    <pubDate>Mon, 09 Apr 2012 02:39:37 +0000</pubDate>
   </item>
  <item>
    <title>さくらVPSでRedmineとかTracをApacheからNginxに切り替える</title> 
    <description>
    <![CDATA[
    「さくらVPS」でっていうのがいいタイトルなのかどうかわからないけど、実際のところはDebina 6で構築する話。ApacheをWebサーバとして公開していたRedmine/Trac/Subversionをある機会でNginxに切り変えることにした。 この記事の段階ではDebian 6+Nginx 1.0.14の内容となっています。(1.2.0からはパッケージが変わっているようです) Nginxにする動機 正直なところ、個人利用のRedmineやTracでパフォーマンスを気にする必要もあまりなく、これ単独でNginxにする動機はない。背景にはレンタルサーバで公開しているWordPressのblogをNginx+php-fpmを利用する形でさくらVPS 2Gに移行しようと思っていたことがある。するとPort 80をNginxに明け渡さないといけなくなるため他のサービスも対応が必要になる。 方針 今回は以下の方針でいくことにする RedmineはNginx+passengerで公開 Trac/SubversionはApacheをバックエンドにしてNginxをリバースプロキシとして公開 Trac/Subversionはもうreadonlyでほとんど使っていないので本来はRedmine/Gitに移行したいところなのである。必要なものは移行したが開発を辞めてしまったYahoo! WidetやMovableTypeプラグインなどは移行コストと構築コストを考えたときに後者を取ってしまっているのが現状である。今回もさくらVPS 2Gに構築したときも悩んだがやはり面倒になったのでそのままTrac/Subversionを構築してしまった。パフォーマンスを気にする必要もなく、メンテナンスコストを掛けたくないので別にApacheのままでいいという判断である。 対してRedmineについては現在も利用しているし、Railsはそれほど設定に悩まなそうなので(これは甘い見通しだったが)Nginxに移行してみようと考えた。 Nginxのインストール なお、ここからの手順はすべてrootで実行している。 Debian squeezeからインストールしたら、Nginx 0.7だった。ちょっと古いと思いunstableから入れようかと思ったがdotdebという便利なリポジトリがあるようなのでこれを使ってみることに。 dotdebリポジトリを追加 /etc/apt/sources.listに以下を追加。 GnuPG キーの追加のため以下を実行する。 とりあえず更新 nginx-extrasのインストール dotdebのnginx 1.2.0からpassengerモジュールはnginx-extrasから取り除かれ、代わりにnginx-passerngerというパッケージが公開されています。従って1.2以降でpassengerを使う場合に実行するコマンドは が正解です。各パッケージごとのモジュール一覧は以下のリンクを参照ください。 https://docs.google.com/a/moolfreet.com/spreadsheet/ccc?key=0AjuNPnOoex7SdG5fUkhfc3BCSjJQbVVrQTg4UGU2YVE#gid=0 nginx-extrasではPassengerに対応してくれている。サイコー。 http://www.dotdeb.org/2011/05/07/rails-user-dotdeb-now-supports-passenger/ というわけでインストールする。 デフォルトだとport 80を使うようになっているのでApacheを動かしているとNginxは開始できないと思われる。 Nginxの設定 細かい調整は今後必要になってくる、とりあえずサーバのバージョン情報を返すのを無効にしておく。 Passenger(Ruby On Rails)のために以下のコメントを外しておく。 Virtual Hostの設定 Debian/UbuntuでApacheとおなじみの管理方式になっている。nginx.confよりsites-enabled/*がIncludeされており、sites-availableにサイトごとの設定を書いて、sites-enabeldにシンボリックリンクを張る方式である。 a2ensite/a2dissiteと同様のコマンドngxensite/ngxdissiteがインストールされていた。これを使うとsites-availableにファイルを置いておけば有効・無効(シンボリックリンクの生成・削除）は以下のように行える。 a2ensiteでは複数のファイルを指定できたが、ngxensiteで複数指定しても最初のファイルしか有効にならなかった。 Apacheの設定変更 Apacheはバックエンドとして動かすことになるのでいくつかの設定変更が必要になってくる。 Portの変更 VirutalHostで公開しているのでそれぞれのPortを変更する。まずListeningのPort変更。 mod_rpafのインストール NginxをリバースプロキシとしてApacheをバックエンドで動作させる場合、Apacheから見て接続してくるクライアントはNginxである。同じサーバで動かすので同じホストからアクセスされることになる。この場合、ログのリモートホストが127.0.0.1で出力されたり、グローバルIPで接続を制限していても127.0.0.1からのアクセスなので素通りになったりして面倒なことになる。 これらを解決するのがmod_rpafである。mod_rpafはリバースプロキシが送ってくるX-Forwarded-Forなどのヘッダを見てリバースプロキシのリクエスト元をリモートホストとして処理してくれる。 mod-rpafもaptでインストールできた。 [...]
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/05/%e3%81%95%e3%81%8f%e3%82%89vps%e3%81%a7redmine%e3%81%a8%e3%81%8btrac%e3%82%92apache%e3%81%8b%e3%82%89nginx%e3%81%ab%e5%88%87%e3%82%8a%e6%9b%bf%e3%81%88%e3%82%8b/</link> 
    <pubDate>Thu, 05 Apr 2012 02:37:05 +0000</pubDate>
   </item>
  <item>
    <title>VMWareイメージで公開されているGitlabを試してみる</title> 
    <description>
    <![CDATA[
    GitlabとはGithubクローンで、要はGitリポジトリを閲覧できるソフトウェアプロジェクト管理のためのツールである。さくらVPS 2Gを新規に契約したのでインストールしようかと思ったがRedmineと用途がかぶるうえにシステム要件もかぶる、Rubyのバージョンが微妙に違うし、Githubの標準手順だとNginxを使うようだし、悩んでいた。先にVMWare上にインストールしてためしてみるのがよいかと思ったらVMWare Imageが公開されていた。 https://github.com/gitlabhq/gitlabhq/wiki/Vmware-image しかしいろいろハマったので上記イメージから試す手順を多少手直ししておく。 notrootユーザ周り user: notroot pass: gitlabhqthoughtpolice まず最初からハマったがwikiに書いてあるパスワードが違うという。チケットに問題があがっていたので解決、https://github.com/gitlabhq/gitlabhq/issues/619。これはそのうちImageかWikiかが改修されるだろう。とりあえずこの時点で試した場合はパスワードは thoughtpolice だった。 あとこのnotrootはsudo出来ないのでいろいろ困ったと思ったが、rootのパスワードもthoughtpoliceだった。 キーボード設定 とりあえず106が見つからなかったが、Generic 105-key -> Japan にすればよいらしい。 変更後、解決しなかったがいろいろあった後に再起動したらうまく行っていた。 バーチャルホストの設定 ゲストOSでifconfigを実行してipアドレスを調べてホストOSから接続してみた。しかし接続するとなぜか　http://192.168.0.105 にリダイレクトされてしまうので設定を変更した。 で 192.168.0.105 の部分をipconfigで得たIPアドレスに変更する。そしてNginxを再起動。 ゲストOSもDHCP設定なので設定したIPアドレスも固定ではないが、とりあえずのお試しなので良とする。 表示 自分の環境ではifconfigの結果は 192.168.1.27 だったので http://192.168.1.27 をホストOSからブラウザで開いてみた。 テストプロジェクトを作ってみたが最初は何もできない。Githubを使ったことがある人なら知っていると思うが、プロジェクトページを開いても最初のコミットをpushするやり方が表示されるだけである。しかたないので言われたとおり空のREADMEをpushしてみた。 Githubと微妙にできることが違うらしい。タブを見ている限りだとWallというページがあって、これはFacebookのWallのように小さなメッセージが書き込めるページになっている。ちょっとした進捗とかの情報共有に使われるのだろうか。 Wikiも使えてmarkdown形式で記述できるようだ。 その他 以下のコマンドがうまく行かなかったので無視してホストOSから普通にWeb UIベースでsshキーを設定した。 sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub その他ProfileやIssueの登録などいろいろなところで500エラーになったが、原因を調査していないので不明。 感想 tracとかRedmineとかあんまりUIが今風っぽくないので代替として使ってみたかったGitlabだが、gitリポジトリありきのプロジェクトとなるとtracやredmineで管理しているようなsvnプロジェクトとか単にインストーラを配布するだけのプロジェクトなどを移行して使うのはちょっと難しいのかなという感じ。 Gitlabに向いているプロジェクトはGithubに公開すればいいわけで今の所そこまでプライベートにしないといけないプロジェクトはないし、Github/gitのいいところはforkだと思っているからあまりプライベート公開を率先してもつまらないしね。 というわけで今のところはGitLabは使ってみたいけど、使う場面があまりないかなーという感じ。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/02/vmware%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%a7%e5%85%ac%e9%96%8b%e3%81%95%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8bgitlab%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link> 
    <pubDate>Mon, 02 Apr 2012 01:59:27 +0000</pubDate>
   </item>
  <item>
    <title>HDL2にTimeMachineでバックアップをとりたいがうまくいかない</title> 
    <description>
    <![CDATA[
    最近、MacOSXのバックアップを放置気味。やり方としてはSSDに変えた時にあまったHDDにCarbon Copy Clonerでコピーを作るという方法をとっていた。でもやっぱり手動作業で面倒だとバックアップを放置気味になる。 そういうわけで Time Machine を使ってNASにバックアップするのを真剣に考えることにした。Time Machineには公式にはUSB接続した外付けドライブか、Time CapsuleというAppleの純正製品にしか対応していない。今回使おうとしているのは I-O Data HDL2-G1.0 である。 NASにバックアップする裏技はあって以下のように公開されているので参考になった。 [Mac]Time MachineでNASを使用しバックアップする方法まとめ http://yamashu.info/?p=953 [技術メモ]: Time MachineのバックアップをNAS上に保存する http://www.trashpot.org/scratch/2009/08/post_134.html この通りやってみたのだが、「バックアップを完了できませんでした。ネットワーク・バックアップ・ディスクは、必要なAFP機能に対応していません。」と言われてうまくいかない。 どうやらLionからTime Machineでバックアップをする場合、AFP機能が必要なようだ。そしてこのモデルはそれに対応していないっぽい。 MAC LION TimeMachine未対応＆後継機 http://bbs.kakaku.com/bbs/K0000291946/SortID=13750520/ Time Capsuleを大人しく買うという方法もあるが、どうしても価格的にオーバースペックなのとRAIDに対応していない躊躇してしまう。バッファローの方はTime Machine対応している噂もあるので値段的にいえばこっちに置き換えても良いやということになる。今使っているのは500GBのRAID1だけど実際のところせいぜい音楽データの共有しかつかっていないので半分も使っていない。 http://buffalo.jp/taiou/os/macosx107/01/macosx107_01.html APPLE Time Capsule 2TB MD032J/A ¥25,199 バッファロー LinkStation LS-WX1.0TL/R1J ¥22,138 バッファロー LinkStation LS-WV1.0TL/R1J ¥25,485 LinkStationの口コミを見ながら考えることにする。
    ]]>
    </description>
    <link>http://blog.makotokw.com/2012/04/02/hdl2%e3%81%abtimemachine%e3%81%a7%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%82%92%e3%81%a8%e3%82%8a%e3%81%9f%e3%81%84%e3%81%8c%e3%81%86%e3%81%be%e3%81%8f%e3%81%84%e3%81%8b%e3%81%aa/</link> 
    <pubDate>Sun, 01 Apr 2012 18:52:13 +0000</pubDate>
   </item>
</channel>
</rss>
