Hatena::ブログ(Diary)

Avocadoの日記

2012-03-17(Sat.)

Ubuntu 10.10でmikutter 0.1を動かしたい

03:53

今までmikutterは0.3系の古いやつを使っていたのだけど,しょっちゅう落ちるし固まるし,せっかくだから新しいmikutterを入れてみよう!と思った.


http://mikutter.blogspot.jp/2011/02/ubuntu-1004mikutterruby191.html

http://ubuntumemo-tora.blogspot.jp/2010/10/ubuntu-1010-ruby-gnome2.html

このあたりの記事を参考にした.


やったこと


結果

動かねぇ…

/home/avocado/mikutter010/core/plugin/gui.rb:15:in `<top (required)>': Plugin is not a class (TypeError)
(以下,呼び出し元?の列挙)

当該ファイル(gui.rb)の15行目にPluginというクラスが定義されている.

適当にググってみたところ,この手のエラーは定義の衝突が原因らしいが…よく分かりませぬ。。。

3/18追記

rubyソースコードからコンパイルして入れてやってみたけどやっぱりダメ…

試しに開発版を入れてみる

動いた!!!

はははわろす

2011-12-18(Sun.)

ニコニコ動画 マイリストの全件選択・解除

22:26

ニコ厨の妹が「マイリストの項目全部チェックするボタンないの?めんどくさい」と言っていたので作ってみた。

全件選択

javascript:void(function(){var%20c=document.getElementsByName('checkbox');for(var%20i=0;i<c.length;i++){c[i].checked=true;}})();

全件選択解除

javascript:void(function(){var%20c=document.getElementsByName('checkbox');for(var%20i=0;i<c.length;i++){c[i].checked=false;}})();

需要はあるのか?

2011-07-16(Sat.)

一方さんブックマークレット

17:48

思いつきで作ってみた.

アドレスバーコピペしてEnterすると一方さんっぽい感じの文章になります.たぶん.

だいぶ改良の余地あり.

javascript:void(function(){document.body.innerHTML=document.body.innerHTML.replace(/ん/g,"ン").replace(/ない/g,"ねェ").replace(/%28[かさたなはまら]%29%28あ%7cー%7c%29%28[、。,.!?]%29/g,"$1ァ$3").replace(/%28ろ%7cよ%29う/g,"$1ォ").replace(/ので/g,"ンで").replace(/%28す%7cれ%29るの/g,"$1ンの");})();

ググったらすでにやってる人いたけど気にしない.

2011-03-28(Mon.)

GoogleChromeでTwitterの背景画像取得

22:55

GoogleChromeだとFirefoxみたいに背景画像を開くオプションがないので、書いてみた。

javascript:void(function(){s=document.styleSheets;r=s[s.length-1].cssRules[0].style['background-image'];u=r.slice(4,r.length-1);window.open(u);})();

汎用性まるでなし。

背景画像の指定がCSSでユーザごとにクラス分けされてるので、document.body.style.backgroundImageで取得できない。

何でクラス分けされたスタイルをDOMで取得出来ないのかなーって思ったけど、ページ作る側からしたら別に利点無いよね。

2011-02-15(Tue.)

PythonのSimpleHTTPServer

01:03

ちょっと用があってPythonのSimpleHTTPServerを使ってみた。

普通に使うときは、

python -m SimpleHTTPServer

とか、

>>> import SimpleHTTPServer
>>> SimpleHTTPServer.test()

でいいんだけど、今回はMIMEタイプの設定を追加する必要があった。で、ドキュメントを読んだりググったりしたんだけど、なんだかわけわかめ

いろいろあたってみて、ようやく書き方がわかった。

# -*- coding: utf-8 -*-

import SimpleHTTPServer
import BaseHTTPServer

handler = SimpleHTTPServer.SimpleHTTPRequestHandler

handler.extensions_map['.hoge'] = 'fuga/piyo'

server_addr = ('', 8000)

httpd = BaseHTTPServer.HTTPServer(server_addr, handler)

httpd.serve_forever()

ここで、handlerに入ってるのはクラス(クラスオブジェクト?)ってことなんだよね。最初handlerって名前の変数にクラスを代入するって発想が無かったから、BaseHTTPServer.HTTPServer()の第2引数の名前にClassなんてサフィックスがついてて変だなーと思ったり、SimpleHTTPRequestHander()とか書いてエラー吐かれたりしてた。

変数名をrqHandlerClassとでもすればいいのかしら。

あとクラスの変数に直接代入するっていうのもどうもなじめない。

Python難しいなー。まだまだだな

rokujyouhitomarokujyouhitoma 2011/02/16 09:45 通りすがりです。

>変数名をrqHandlerClassとでもすればいいのかしら。
"handler"がタイプ数少ないし最適に思えます。
またPythonでキャメルケースを使う場面はClassの宣言の際なのかなと思います。
なので変数名をご希望なら_(アンダースコア)で"rq_handler_class"がよいのではないでしょうか。

あくまで参考程度ですが、"Google Python スタイルガイド" 有志翻訳版。
http://works.surgo.jp/translation/pyguide.html

ネーミング
http://works.surgo.jp/translation/pyguide.html#id84

avocado3avocado3 2011/02/16 19:10 コメントありがとうございます。

>"handler"がタイプ数少ないし最適に思えます。
改めて考えてみたら、"handler"にクラスを入れるのは何ら不思議ではないですね。素直に"handler"を使うことにします。

>またPythonでキャメルケースを使う場面はClassの宣言の際なのかなと思います。
Javaをかじって以来、何でもかんでもキャメルケースで命名したがる癖がついてしまっています。やはり使う言語に合わせた書き方は大事なんですね。