Hatena::ブログ(Diary)

かつての虫けらロック

2013-05-26 最近は jekyll で書いてます

http://bugsrock.com/

完全にこっちに移行しました。はてブロと悩んだんですが、無料で自分で色々できるってことで github pages + jekyll に。blogger はそのうち消すと思います。

2012-08-23 最近はbloggerで書いてます

色々試したくてbloggerに移行してます。

ただコチラほど自由ではなくて、技術ネタ専門です。

http://mirutover.blogspot.jp/

bloggerのいいところ……は、そんなに無いような気もします。

2011-08-29

そろそろmedias wpとandroidについてレポート

買ってから結構たったし、簡単にレポート。

前提

  • 2台持ち
  • 電話してない
  • amadana
    • プリインが違う
  • 自宅ではwi-fi

いいところ

テザリング

簡単に設定できたし、速度も出る。なんだかんだでdocomo回線を選んだのは正しかったと思う。auはどうなんだろう。

まぁ、これのおかげでiPodやらデバイスの幅が広がったのは非常によかった。iPad2とか安くなったら手に入れたい。

薄い、軽い

うりにしてるだけあって、薄いし軽い。サイズは大きいんだけど、ポケットに入るから別に問題ない。が、別の問題はある。

カメラ

画質は良くはないけど、シャッター超速い。NECだからか、androidだからかはちょっと分からない。

悪いところ

消せないプリインアプリ

ATOKとか、客がうっかり消して騒ぎそうなやつは理解できるんだけど、よもや「ついっぷる」やら「モシモカメラ」なんかが消せないとは思わなかった。

一番残念なのは「Delivery DJ」というamadanaモデルにプリインされているアプリタスクを切っても何故か端末ロック画面で立ち上がる。

アップデート分をアンインストールすると立ち上がらなくなったので、取り敢えずそれで対処してるが、マイアプリ画面で表示されてウザい……。

SPモードメール

アプリレビューで「スリル満点!星0個」とかあって「それツールの感想ちゃう! ゲームの感想や!」とつっこむなどして楽しんだ。

電池

WPじゃないやつの電池が全然持ってなかったし、さらにfelicaとか入れて持つわけねーだろって思ってたけど、案の定だった。

ホームボタンがタッチ&電源ボタンが押しづらい

この2つの要因で、スリープから解除しづらい。電源ボタンがもう少し面積広ければ……。

ワンセグアンテナ

接着剤で固定してやろうかと思うくらいパカパカしてて物に引っかかる。ワンセグ見ないから邪魔でしか無い。

まとめ

点数つけるなら65点かなぁ。

目的がはっきりしてた(テザリング&各種SNS)ので、それなりに気に入ってはいる。

あと、見た目も赤いカバーをつけたら結構いい感じになって良かった。

……ただ、2台持ちじゃないとキツイと思う。電池持たなすぎ。電話使ってなくてこれだからなー。

正直、電池を含めて、ハード面でやや行き届かない点を感じる。

2011-07-18

Titanium Studioを64bit版Windows7で動かそうとしてハマりにハマった

タイトル通り。うんざり。

一応、KitchenSinkが動くとこまで行きましたが、エミュレータ重くて、土曜に届くはずだった実機待ちだったのに届かず、何というか色々気が削がれています。

インストール手順

emulator_cmd = [
    self.sdk.get_emulator(),
    '-avd',
    avd_name,
    '-port',
    '5560',
    '-sdcard',
    self.sdcard,
    '-logcat',
    "\"*:d *\"", ←こう書き換える。元は"'*:d *'"となっている
    '-no-boot-anim',
    '-partition-size',
    '128' # in between nexusone and droid
]

ハマりポイント

JDK32bitのものを使う

これはAndroid SDKの方の問題。

多分これのせいでかなりの時間を失ってる。

ってか、そもそもAndroid SDKをよく知らずにいきなりTitaniumを始めようとしたのが問題な気がする。

KitchenSinkはTitanium Studioのgitで落とすと変になる

一度コンテンツを残して削除し、Titaniumプロジェクトとしてインポートしなおすと直る。

どうも、リポジトリの奥のほうにあるtiappファイルを見に行っちゃうみたい。

実行できない

Windowsで動かしてないだろ開発者……。いやまぁ、どのみちmacじゃないとiPhoneアプリのテスト出来ないから、気持ちは分かるんだけどさ……。

修正方法は↑に書いた通り。AndroidSDKのパス指定と、後一箇所はソースいじるしかない。

んで、ちと信用ならなかったんで、Titanium Studio本体を半角スペースの無いところに置いたり、ワークスペースから半角スペース抜いたりしてます。多分関係ないとは思うけど……。

タブの画像が出ない

これが分からない。

二回目の起動で必ず起こる感じ。

正直、実機でやれば起こらないのかなーと思わなくもないので放置してる

まとめ

勉強会+自己学習に、意気揚々だったんですが、かなりやる気が削がれちゃってます。

というか、iOSエミュレータはまぁまぁ速いだとか、そもそも半角スペースのアレはmacじゃ起きないわな、とか色々聞こえてきて「mac買えってか!?」って叫びたくなった。macbook欲しい。

2011-06-17

たったの40行! jQueryでニコ動の右上を表示するChrome拡張作成法(イマイチ)

jQueryスクレイピングのしやすいライブラリです。

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <script src="http://code.jquery.com/jquery-1.6.1.js"></script>
  </head>
    <div id="bukkonuki">悲しいけれど、ぶっこぬかれる運命なのよね</div>
    <div id="result"></div>
    <script>
      $.get(location.href, function(html) {
        $('#result')
          .html(
            $('#bukkonuki', '<div>' + html + '</div>').html()
          );
      });
    </script>
  </body>
</html>

上のhtmlは適当なところに設置(ローカルじゃ駄目です)して見てみれば動きます。ざっと以下の動作。

  1. 自分自身をajaxで取得
  2. 取得したhtmljqueryのcontextにつっこみ、ID指定でスクレイピング
  3. bukkonukiの中身をresultに表示

でも、jQueryのgetとかajaxとかってのは、XMLHttpRequestを利用しているので、クロスドメインが出来ません。

自分とこにあるコンテンツをスクレイピングする意味なんてほとんど無いので使えませんね。残念。


……となるのですが、こいつが活用できる場所があります。それが以下。

で、今回はChrome拡張で使ってみます。ということで……

たったの40行! jQueryニコ動の右上を表示するChrome拡張作成法

またかよwと言われそうだけど、日曜大工で発表した関係で、簡単に作れるものを紹介してみようかなと。

  • 以下の3ファイルを作成して、
  • jquery-1.6.1.min.jsを同じところにおいて、
  • 適当なicon.pngを作成すればOK。
background.html
<script src="jquery-1.6.1.min.js"></script>
<script>
	var migiue = 'Now Loading ...';
	
	(function() {
		function getMigiue() {
			$.get('http://www.nicovideo.jp/migiue', function(html) {
				migiue = $('#migiueText', '<div>' + html + '</div>').text();
			});
		}
		
		getMigiue();
		
		setInterval(getMigiue, 24 * 60 * 60 * 1000);
	})();
</script>
popup.html
<!doctype html>
<html>
	<head>
		<style>
			#migiue {
				color: black;
				text-decoration: none;
				font-weight: bold;
				white-space: nowrap;
			}
		</style>
	</head>
	<body>
		<a href="http://www.nicovideo.jp/migiue" target="_blank" id="migiue"></a>
		<script>
			document.getElementById('migiue').innerText = chrome.extension.getBackgroundPage().migiue;
		</script>
	</body>
</html>
manifest.json
{
  "name": "niconico migiue",
  "description": "niconico migiue",
  "version": "0.0.1",
  "browser_action": {
    "default_icon": "icon.png",
    "popup": "popup.html"
  },
  "background_page": "background.html",
  "permissions": [ "http://www.nicovideo.jp/migiue" ]
}
実行結果

f:id:miruto824:20110617215224p:image

こんな感じです。

大事な話

外部公開するときは気をつけてください。

スクレイピングを使ってサイトを作る場合と違い、各自がアクセスに行くので、相手側に迷惑をかける場合があります。

上のスクリプトも、backgroundで取得したものを使い、かつ1日に1回のリロードとして、アクセスを極力減らしています。

なので、この技術が生きるのは、使うメンバーが限定している個人利用の場合が多いでしょう。私も活用してるのは社内向けのExtensionのみ。

とはいえ、サーバサイドjsで使うのも若干癖があって微妙なんだよな。

うーん、イマイチ。