みかんのブランドと品種について
*1
浜松では、三ケ日みかん、都田みかん、とぴあみかん などをスーパーでよく目にする。
あのダンボールに入ったみかんの品種は何なのか気になっていたので、農林水産まつりで農協のお兄さんに質問してきた。
- Q. (ダンボールを指さして)例えばこのとぴあみかんの品種はなにになるんですか?
- A. 時期によって変わる。
浜松周辺では主に、高林、早生、青島の3品種。この順番で出荷している。(丸浜みかんの片山は早生と青島の間)
糖度、酸味、大きさなどで等級分けされて、品種は混ざっている。
- Q. 秀、優 など等級がダンボールに書いてあるが、同じ秀でも、赤い色の秀と、青い色の秀では違うと聞いたが本当ですか?
- A. とぴあみかんの場合は、特選、赤秀、青秀 の順番でランク分けされている。ブランドや産地によって色分けや等級は異なる。
ほおおぉ!
勉強になった。ダンボールみかん = 1品種 ではなかったんだね。お兄さんありがとう。
これからスーパーでお買い物する際はみかんのブランドと品種をじっと観察してみよう!
今後研究したい事
- 品種の見分け方。皮が薄くて濃厚なやつはどれか。皮がダブついてドイヒーな味になる要因とその品種の特定。
- 美味しいみかんの見分け方。表面がぼこぼこしていてストイック(水分絞られてる感じ)なやつが酸味と甘味の濃度が高いことは証明されている。
- 表年、裏年は生産者の言い訳、賢いところは最新の剪定技術でバランスよく収穫している説の検証。主婦が言いくるめられている事を憂いている。
- 生産者の高齢化で一部産地の品質が落ちている説の検証。
- 都田みかん最強説の検証。
- みかんの皮の有効利用。
Wikipedia APIで遊んでみた
使い方
http://ja.wikipedia.org/w/api.php?action=query&list=random&rnnamespace=0&rnlimit=10
にアクセスすればXML。
http://ja.wikipedia.org/w/api.php?action=query&list=random&rnnamespace=0&rnlimit=10&format=jsonfm
formatにjsonfmを指定すれば読みやすいpretty JSONで表示してくれる。デバッグ時によい。
http://ja.wikipedia.org/w/api.php?action=query&list=random&rnnamespace=0&rnlimit=10&format=json&callback=callback
JSONPで使う場合はformatをjsonにして、callbackが必要なら付けられる。
Demo
Wikipedia APIを使ってランダムに記事を表示させるサンプル。
- http://cherenkov.github.com/contents/ja.infinipedia.org/
- http://cherenkov.github.com/contents/en.infinipedia.org/
<html> <head> <meta charset="utf-8" /> <title>ja.infinipedia.org</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script> $(function() { var titles = []; function stock() { $.ajax({ type: "get", dataType: "jsonp", url: "http://ja.wikipedia.org/w/api.php?action=query&list=random&rnnamespace=0&rnlimit=10&format=json", success: function(json) { $.each(json.query.random, function(i, e) { titles.push(e.title); }); $(document.body).trigger('wikijump'); console.log(titles) } }); } $(document.body).bind('wikijump', function() { if (titles.length > 1) { var title = titles.shift(); setTimeout(function() { $('#wikiframe').attr('src', 'http://ja.wikipedia.org/wiki/' + encodeURIComponent(title)); $(document.body).trigger('wikijump'); console.log(titles) }, 8000); } else { stock(); } }); stock(); }); </script> </head> <body> <iframe id="wikiframe" src="http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:%E3%81%8A%E3%81%BE%E3%81%8B%E3%81%9B%E8%A1%A8%E7%A4%BA" width="100%" height="100%"></iframe> </body> </html>
まとめ
JSONPでクロスドメインの楽しさがやっと理解できた。MacBook Air 11インチ欲しい!
何がなんでもTitanium MobileでKitchenSinkを起動したい人の覚書(Windows)
20120726追記:Titanium Studioは管理者権限で実行する必要があります。
WindowsでKitchenSinkを起動するまでのバッドノウハウ(BK)やハマりどころをまとめました。
- 動作確認環境
- Vista SP2, Titanium Developer 1.2.2 (Mobile SDK 1.2.0), adb.exe 1.0.26, KitchenSink 1.5.0-update2
最重要チェックポイント
- 環境変数pathにAndroid SDKは設定されているか
- 例 C:\Program Files\Android\android-sdk-windows\platform-tools;C:\Program Files\Android\android-sdk-windows\toolsの2箇所を追加。pathが通っていればコマンドプロンプトから adb version でバージョンが返ってくる。
- TitaniumにAndroid SDKのpathは正しく設定されているか
- 左上のボタンのProfileから。例 C:\Program Files\Android\android-sdk-windows
- android-sdk-windows\toolsのadb.exeをandroid-sdk-windows\platform-toolsにコピーしたか
- API 2.2 まではtools\adb.exeが使われて、API 2.3以降はplatform-tools\adb.exeが使われるので移動ではなく、コピーという話だと思う。
- SDK ManagerでAPIパッケージをインストールしてあるか
- ここ参照 Titanium and Android SDK Tools r8 « Appcelerator Developer Center
- エミュレータを実行する際、adb.exeがすでに起動していたら終了させる
- これ一番ハマりやすい点だと思う。[ERROR] Timed out waiting for emulator to be ready, you may need to close the emulator and try again がでる。現バージョン(Mobile SDK 1.2.0)ではAPIを変える度にadb.exeを手動で終了させる必要がある。タスクマネージャのプロセスから終了。
- KitchenSinkはSDK "APIs 2.2"か"APIs 2.3"で実行すべし
- それ以外のSDKで実行すると、[ERROR] Failed installing com.appcelerator.kitchensink: pkg: /data/local/tmp/app.apk などがでて失敗する。
以下はTitaniumでKitchenSinkを起動するまでのざっくりした流れ。
準備
Android SDKとTitaniumのインストール、pathなどセットアップを以下のサイトなどを参考にして済ませておく。
KitchenSink 1.5.0-update2をダウンロード。解凍するとフォルダの中にAndroid・iPhone用とiPad用の二種類入っているのでインポートの際に注意する。
KitchenSink起動まで
TitaniumにAndroid・iPhone用をインポートする。SDK: APIs 2.3。ScreenはHVGAなど適当。
Launchすると処理が始まり
「キーボード履歴ユーティリティは動作を停止しました」
が2回出るが気にしない。「プログラムを終了させる」でダイアログを閉じる。あとは じっと待つ。
[INFO] Installing application on device
に時間がかかる。この間にエミュレータのカギ印を右に動かしてロックを外しておくとよい。エミュレータを自由に操作できる状態だが、Titaniumは処理を続けている。しばらくして読み込みが完了すると勝手にKitchenSinkが起動する。
メモ
WINDOWS USERS
Please place the Kitchen Sink demo in your user folder or a similarly shallow directory - windows' command line file path lengths cause problems with our build scripts.
appcelerator/KitchenSink - GitHub
- これKitchenSinkをインポートする場所のpathが長いとうまく動かない場合があるらしいが、参考までに C:\Titanium_workspace\appcelerator-KitchenSink-e38b3dd\KitchenSink で正常動作した。
Paste and Go 3の貼り付けて移動ボタンをロケーションバーに格納する
FirefoxにPaste and Go 3をインストールするとツールバーに「貼り付けて移動」ボタンを追加できるようになりますが、大きくてダサいのでロケーションバーに入れるuserChrome.jsスクリプトを書きました。
拡張の要素の調べ方はいつものようにDOM Inspector(chrome://browser/content/browser.xulを開く)と userChromeお試し用スクリプト - Griever を使ってグリグリやりました。
画像右の#pg2-pasteandgo-toolbar-buttonをそのままロケーションバーにいれると大きいまま、widthは変えられるがheightが無理。style.listStyleImage = 'url(chrome://pasteandgo2/skin/go-button-16.png)'しても具合がわるいので、移動ボタンと同じようにimage要素にonclickで作成。
// ==UserScript== // @name PasteAndGo3p.uc.js // @namespace http://d.hatena.ne.jp/Cherenkov/ // @description 貼り付けて移動ボタンをロケーションバーに格納する // @include chrome://browser/content/browser.xul // ==/UserScript== (function() { var pg = document.createElement('image'); pg.setAttribute("onclick", "pg2_PasteAndGo()"); pg.style.listStyleImage = 'url(chrome://pasteandgo2/skin/go-button-16.png)'; document.getElementById('urlbar-icons').appendChild(pg); })();
配列をそのまま文字列にしたい
[["mikan","nashi"],["keizoku","spec"]]
この配列を
'[["mikan","nashi"],["keizoku","spec"]]'
のような文字列に変換したい場合は、
toSource()を使う
alert([["mikan","nashi"],["keizoku","spec"]].toSource()); // [["mikan", "nashi"], ["keizoku", "spec"]]
rubyでサクっとファイル名置換スクリプト
ダウンロードした画像を整理する際にファイル名がバラバラで選別しにくい事ってよくありますよね。
サーバによってランダムにファイル名が付けられていると画像ビューアで取捨選択する際に並びが揃っていないので高速に処理できない。そこでプログラミング。
準備
- rubyのインストール。irbが実行できること。
- 画像を全部ダウンロードしておく。
- ダウンロードに使ったサムネイル一覧のページを開いておく。
- ruby、javascript、DOMの知識をフル回転。
方針
- ファイル名の変更はrubyのFile.renameがよさそう。
- 変更前と変更後の配列を作ってeachで回せばできそう。
- ファイル名の配列作成はjavascriptで行う。
- 配列の形式は以下のようにする。
[["asf82msd.jpg","M1000.jpg"],["sfmx9wr.jpg","M1001.jpg"]]
ソース
javascript: r = []; Array.forEach(document.querySelectorAll('.thumbImg a'),function(e){ a = /([^/]+)$/.exec(e.href.trim())[1]; b = e.parentNode.parentNode.parentNode.querySelector('.thumbTitle span').textContent; r.push([a,b]) }); prompt("以下をコピペしてirbで実行",JSON.stringify(r)+".each{|e|File.rename(e[0],e[1])if File.exist?e[0]}"); void(0)
使い方
- コマンドプロンプトでダウンロードした画像があるフォルダに移動しておく。
- 上のスクリプトを、サムネイル一覧のページで実行。
- プロンプトが表示されるので内容をコピー。
- irbを起動してコピーした内容を貼り付けて実行。
置換完了!
以上の研究結果をこちらのグリモンに実装した。
albertayu773 - direct link for Greasemonkey
msysGitで日本語対応するためにやったこと
この記事は、git-bashは諦めてコマンドプロンプトで日本語コメントはできたという内容だけど、githubでコメントを見ると文字化けしてるので参考にならないと思います。
msysGitをアップデートしたついでに日本語対応もできるようなので調べたメモ。1.5のときはgit-bash*1でgit commit -m "文字化けするので日本語コメントは敬遠してた"
- 日本語でコメントしたい。
- 日本語のファイル名をlsで表示したい。
msysGitのバージョン
git 1.5.6.1-preview20080701からGit-1.7.3.1-preview20101002への変更。
msysGitインストールで参考にしたページ
- Windows用Gitをインストールしてみた: Computer Practice 今回は1.7系なのでこちらをみればいい。
- msysGitでWindowsからGitを使う − @IT 古いバージョン1.5系のときにみたとこ。
日本語対応で参考にしたページ
結果
上のサイトを参考にしてもgit-bashで日本語を表示したり入力する事はできなかった。
ls --show-control-charsでも日本語ファイル名化けてる。
これを入れればgit-bashで日本語を扱うことができるのかな?試してない。
git-bashはあきらめて
コマンドプロンプトでやったらどうか。
msysGitインストールからやり直してみた。
Run Git from the Windows Command Promptを選択。(インストールし直さなくてもGit\binのPATHを通せば同じだと思う)
これでコマンドプロンプトからgitコマンドが使えるようになった。しかしこの状態でgit logやgit show hoge.txtをしても文字化けしている。
そこで先ほどの日本語対応で参考にしたページからマルチバイトに対応したless.exeをGit\binに入れる。するとコマンドプロンプトから日本語がちゃんと表示されるようになった。あとよく分からないnkf.exeや設定ファイルも一応やっておいた。
手順まとめ
- msysGitをRun Git from the Windows Command Promptでインストール。
- Downloading lessのless.exeのバイナリをダウンロードしてGit\binに上書き。
- nkf.exe をダウンロードしてGit\binに入れる。
- Git\etc\inputrcとprofileをサイトを参考にしながら編集。意味があるのか、文字コードを悪く変えたり余計なお世話してないか不安。
これでコマンドプロンプトからGitで日本語を扱えるようになった。
ちなみに
コマンドプロンプトなどで日本語を入力するにはAlt+半角
*1:msysGitをインストールすると付いてくるgit操作するソフト