OSS」カテゴリーアーカイブ

mikutter on Windows の実現手順(最新版) [mikutter Advent Calendar 2013 13日目]

この記事は「mikutter Advent Calendar 2013」の13日目です。

 

mikutter Advent Calendarです!

昨日はMATSUMOTO Katsuyoshiさんでした。コンソールからmikutter経由でツイートするという、Linuxユーザー必携?のスクリプトです。

今日はmikutterをWindowsで動かす手順をまとめたいと思います。
Windowsならアカウント削除の危険が無いので安心ですね!

( ^o^)Macでmikutter起動できた
( ˘⊖˘)。o(待てよ、なんでMacでmikutter起動できたんだ…?)
|@toshi_a| ┗(☋` )┓三
( ◠‿◠ )☛ なんで作者ができないのにお前ができるんだよ垢消せ
▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわああああああ

http://mikutter.hachune.net/faq より引用

参考:MikutterInstallBattleForWindows – mikutter Wiki

環境

確認した環境はWindows 7 Home Premium(64bit)です。32bitでも問題ありません。Windows 8でも基本的には問題ないはずですが、Surface RTの方はたぶん無理です。

Rubyインストール

mikutterを動作させるために、Rubyをインストールします。
おすすめはRubyInstallerを使う方法ですが、とにかくお好きな方法でRubyをインストールしてください。ただし、CygwinでインストールするとX Window Systemの設定が果てしなく面倒になる可能性がありますので、自己責任でお願いします。

RubyInstallerを使う方は、DownloadsからRubyInstallerをダウンロードして実行します。
2013/12/12 18:47現在の最新バージョンはRuby 2.0.0-p353です。
64bit版Windowsの方もx86版(x64が書いていない方)をダウンロードしてください。手間暇をかければx64でも動かせるはずですが、そんな時間はどこにもありませんからね。

インストーラーの唯一の質問項目については、3つあるチェックボックスの下2つにチェックを入れておくと色々捗ります。
rubyinstall

必要なGemのインストール

mikutterを動作させるには、ruby-gtk2とbundlerが必要です。
普通のコマンドプロンプトかスタートメニューより「Ruby コマンドプロンプトを開く」よりRubyにPATHが通ったコマンドプロンプトを起動して、gem install gtk2 bundlerでインストールします。

shell>gem install gtk2 bundler

mikutterダウンロード・初期設定

mikutter公式サイトより、mikutterをダウンロードします。最新のコードを追従したい方は、Gitリポジトリをご利用ください。

適当な場所に展開したら、コマンドプロンプトからruby mikutter.rbでmikutterを起動しましょう。
指示に従ってTwitterアカウントを認証すれば、素敵なておくれライフはあなたの物です。

Windows固有のバグ修正

残念なことに、mikutter 0.2.2.1430の段階ではWindows上のmikutterからツイートすることが出来ません。でも安心してください。あなたはmikutter/core/mui/gtk_postbox.rbの141行目をコメントアウトするだけで、mikutterからツイートできるようになります!

- notice [event, msg].inspect
+ # notice [event, msg].inspect

プラグインについて

mikutterライフを手助けするプラグインは、C:Usersユーザー名.mikutterpluginに配置することで利用できます。
Windowsでの私のおすすめは、Growl通知機能を追加するmikutter_growl_gntpプラグイン(拙作)です。別途Growlをインストールすることで、TLの更新やリプライなどの通知を表示できます。

以上13日目は丸太(@maruTA_bis5)がお送りしました。明日は@osa_kさんによるプラグインの話です。

PHPからMySQLサーバーに接続する関数がNo such file or directoryを返すときの対処法 [(全部俺)何でも Advent Calendar 2013 9日目]

この記事は「(全部俺)何でも Advent Calendar 2013」の9日目です。(1日遅れ

PHPとMySQLサーバーをどちらもディストリビューションのパッケージマネージャ(yum, apt等)でインストールしている場合にこの問題は起こりにくいとは思いますが、どちらかをソースコードからインストールするとmysql_connect(), mysqli_connect(), pdo_mysql_connect()でエラー “No such file or directory” となってしまいます。
この記事では3種類の解決法をご紹介しますが、他のサイトではこのうち1種類のみを紹介している場合がほとんどです。どの方法が適切かは状況によると思いますので、自己判断でお願いします。

続きを読む

#WordPress 3.8-RC1 [(全部俺)何でも Advent Calendar 2013 5日目]

この記事は「(全部俺)何でも Advent Calendar 2013」の5日目です。

WordPress 3.8 RC1がリリースされました(WordPress › WordPress 3.8 RC1)。
このバージョンからは、新しい機能をプラグインとして開発するアプローチが採用されており、ユーザーはプラグインをインストールすることで新機能をいち早く体験することが出来ます。
私は開発者ではありませんが、1人のユーザーから見た大きな変化をお伝えしたいと思います。

WordPress 3.8で最もインパクトの大きい変更点は、管理画面のデザイン一新です。
新しい管理画面は、レスポンシブウェブデザインを採用し、画面幅によって適切なレイアウトに自動的に対応します。
これまでの管理画面では横幅が600px未満の画面では表示しきれませんでしたが、新しい管理画面は600px未満の画面でも適切にレイアウトが変更されます。
スマートフォンやタブレットからの管理が容易になるといえるでしょう。
(管理画面のデザイン一新は、「MP6」プラグインとして開発されました。)

ダッシュボードのウィジェットも変更になっています。こちらは「Dashboard」プラグインとして開発されました。

  • 「被リンク」のウィジェットは機能していなかったため、削除されました。
  • 「WordPress ブログ」、「WordPress フォーラム」、「プラグイン」ウィジェットは、「WordPress News」ウィジェットに統合されました。
  • 「最近のコメント」ウィジェットは、「現在の状況(Activity)」ウィジェットに統合され、Activityウィジェットは新しくなります。
  • 「クイック投稿」ウィジェットは「最近の下書き」ウィジェットと統合されます。英語版では名称が変わっています。

運用中のWordPressサイトでは主にこの2点が目立った変更になるかと思います。
新しいデフォルトテーマ「Twenty Fourteen」の採用など他にも変更点はありますが、私もあまり詳しく追っていない部分もあるので、他の方にお任せします。
順調に進めば、来週にも正式版がリリースされます。いち早く新しいUXを体験してみてください。

今日はこの辺で失礼します。6日目も丸太(@maruTA_bis5)です。

PEAR/XML_RPC2がプロキシ設定を無視しているバグを踏み抜いた

卒業研究で製作して今調整中のライブラリがあるのですが、そのサンプルのために利用しているPEARのXML_RPC2でプロキシが利用できないバグを踏んでしまいました。
GithubのリポジトリPull Requestを送ってあるのでマージ待ちですが、このバグの概要と修正箇所を記録しておきます。

概要

XML-RPCのWebサービスをPHPで利用する方法の1つとして、PEARのXML_RPC2パッケージの利用があります。詳しい使い方については公式のドキュメントを参照していただくとして、HTTPプロキシ経由で利用する場合は以下のようなコードになります。

require_once 'XML/RPC2/Client.php'; 
$wsdl = 'http://example.com/xmlrpc-wsdl.xml'; 
$option = array('proxy' => 'scheme://proxyhost:port');
 
$client = XML_RPC2_Client::create($wsdl, $option);

今回のバグは、このproxyオプションを設定したとしても、内部で使われているXML_RPC2_Util_HTTPRequestオブジェクトのsendRequest()メソッドで設定値が参照されないことによりプロキシ設定が無視されてしまいます。

修正

XML/RPC2/Util/HTTPRequest.phpを次のように変更します。

Githubの方が見やすいかもしれません。こちらからどうぞ。

HTTPRequestオブジェクトのsendRequest()メソッドで、定義されていない配列変数$paramを参照しているため、コンストラクタやXML_RPC2_Client::create()で設定したプロキシ設定が完全に無視されてしまっています。
コンストラクタと全く同じ処理が走っているので、このような形で修正してみました。

まとめ

いくら検索してもプロキシが通らなくて最終的にコードを追う羽目になり発見した次第です。

PEARには自分で実装するには骨が折れるような機能を提供しているにもかかわらずメンテナンスされていないパッケージが幾つかあります。
XML-RPCという形式がそもそも一般的でないという実情による面が大きいとは思いますが、せっかくGithubにコードを移しているのですから、必要としている人が積極的にPull Requestを送ってよりよい形にしていけるといいのではないでしょうか。

WordCamp Tokyo 2013の参加登録をした話

かぶー!

参加登録しました。体調を崩さなければ9月14日は大田区産業プラザPiOに出没します。

ちょうどいいタイミングだと思うので、私とWordPressとの関わりを少しまとめておきます。

 

WordPressというCMSの名前を知ったのはだいぶ前(もう覚えてないw)ですが、実際に使い始めたのはこのブログを開設したときなのでもうすぐ2年経つことになります。(Hello World!の投稿日は2011年9月22日でした)
ネットブックを利用して構築した自宅サーバーにWordPressをインストールしました。

自宅サーバーということもあり、一時期落雷による停電に悩まされていました(バッテリーずいぶん前から機能していないようです)。そこで、自宅サーバーから利用できたサービスの一部(当ブログ、一部メールアカウント)を、VPSに移行して今に至ります。

技術的な関わりとしては、大学在学中に所属している(2013年7月現在)委員会のWebサイトをWordPressにリプレースしました。大学のWebサーバーではDBを利用できないため、これまたサーバーを借りて運用しています。組織内の引き継ぎや運用方法についてはこれからじっくりと検討していく必要があると考えています。
リプレース作業の中で、子テーマやプラグインの作成方法について簡単ではありますが学び、困ったときはCodexに頼っていますw

リプレース作業に関わった経験から、個人的にもテーマ作成やプラグイン作成に挑戦してみようと考えています。まだまだこれからですが・・・

ということで、いろいろ書きましたがこれからもWordPressといろいろな形で関わり続けていきたいと思います。
その1つとして、WordCamp Tokyo 2013に参加します。

参加登録 | WordCamp Tokyo 2013

ディベロッパーとしてはまだまだ初心者なので、WordCampを通じていろいろ勉強できればいいと考えています。