駄開発駄メモ 駄開発に関することを。

2016年11月3日

fluent-plugin-genhashvalue

Filed under: プログラム — タグ: , , — m.takemi @ 11:08 PM

fluentdを使って、大量のログをelasticsearchに突っ込む時、
fluent-plugin-elasticsearchがリトライすると、同じ内容のログが重複する事があった。
elasticsearchが、ユニークなID(_id)をを自動生成するので仕方がないっぽいけど、
fluent-plugin-elasticsearch の id_key オプションを使えば重複せずに行けそう。

なので、ログの内容からハッシュ値(*1)を生成するpluginが欲しくて、fluent-plugin-genhashvalue を作ってみました。
(探せばありそうだけど、見つからなかったので)

*1: md5 / sha1 / sha256 / sha512

RubyGems: https://rubygems.org/gems/fluent-plugin-genhashvalue
G
itHub: https://github.com/mtakemi/fluent-plugin-genhashvalue

2014年1月6日

EdSearch-0.005a

Filed under: プログラム — タグ: — m.takemi @ 11:14 PM

リリース。
【更新履歴】
ver 0.005a (2014/01/05)
・環境にって、ポップアップメニューで選択したサイトとは異なるサイトで検索される問題を修正
EdSearch-0.005a.zip (EdSearch-0.005a.zip.sig / EdSearch-0.005a.zip.md5)

EdSearchを使っていただいている方から、「検索サイトを4つ以上登録すると誤動作する場合があるよ」というご指摘と再現方法を丁寧に教えて頂きました。

2013年3月9日

BkSearch-0.005/EdSearch-0.005

Filed under: プログラム — タグ: , , , — m.takemi @ 1:29 PM

リリース。

検索サイト毎にブラウザを切り替えたいという要望を頂いたので、それに対応。
ついでに、以下の操作で設定ファイルを開くように。
Beckyの場合は、ツール → プラグインの設定 → BkSearch
EdMaxの場合は、設定 → プラグインの設定 → EdSearch の設定

 

【検索サイト毎にブラウザを切り替える例】

[Google 日本 で検索(&G)]
FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&q=
Encode=UTF8
Browser=C:\Program Files\Internet Explorer\iexplore.exe

[goo辞書すべて検索(&A)]
FrontURL=http://dictionary.goo.ne.jp/search.php?kind=all&MT=
Encode=EUC-JP
Browser=C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe -incognito

のような設定にした場合、(上記はあくまで一例です。環境によってパスは異なります)

「Google 日本 で検索」は、IEで検索
「goo辞書すべて検索」は、Google Chromeのシークレットモードで検索

のようになります。

 

【2013/03/10 12:16 追記】
一部の環境(WindowsXP 32bit(?))に正常に組み込まれない問題がありましたが、
UPX(1.25)による圧縮が影響している事が分かり、UPX(3.09)で圧縮しなおして再リリース

2012年8月23日

APN設定を固定するAndroidアプリ(FixAPN)を作ってみた

Filed under: プログラム — タグ: — m.takemi @ 10:26 PM

FixAPN – Google Play の Android アプリ
APN設定を固定すると言っても、ユーザ名とか、パスワードみたいな設定値を固定するのではなく、接続しているAPNから別のAPNに切り替え出来なくする感じです。(厳密に言うと、別のに切り替わったら戻すだけ)

FixAPN_1
↑は、APN設定をIIJmioに固定。

FixAPN_2

手持ちのP-01Dで、それなりに動作する事は確認。その他は動くかもしれませんが動かないかもしれません。動けば良いなとは思ってますが。

Android4(ICS)のエミュレータで動かしてみたところ、APN設定を変更する箇所で、Exceptionが発生しますので、Android4以降の端末では動作しなそうです。
WRITE_APN_SETTINGS permission on ICS – Google グループ 辺りに、関連しそうなことが書いてそうですが、良く分からず。

起動時にWi-Fi APモードをONにする設定を付けたのは、P-01Dが原因不明の再起動(結構頻繁に発生)した時、再起動前にWi-Fi APモード中であっても、再起動後はWi-Fi APモードをOFFにして立ち上がってくるので。

 

2012/8/26 01:54 追記

FixAPNの動作について、コメントを頂いた。要約すると

  1. テザリングOFFの状態で再起動したのに起動時に、テザリングONで立ち上がった。
  2. WifiOffでアンドロイドの設定でAPNの所を見たり、していると勝手にWifiONになった。

1については、「起動時にWi-Fi APモード」をONにしている場合、想定通りの動作。だけど、説明の書き方が悪かったなぁと。

ついでに、端末起動時に、Wi-Fi APモードにする設定も。(前の設定を引き継がない端末向け)

前の設定を引き継がない端末向けの設定なら、ちゃんと引き継げよと。
で、そういう設定を追加してみた。
device-2012-08-26-013630

2については、よく分からず。Wi-Fi APモードをONにする処理はあるけど、Wi-FiのON/OFFを行うような処理は無いし、、、Wi-Fi APモードをONにする処理はあると言っても、起動時しか動作しないし。。
APN設定を戻したりすると、Android標準機能の何かに影響を与えてWi-FiがONになったりするとか?う~ん・・・。再現性あると厄介だなぁ。。

2012/8/30 23:46 追記
2については、ECOナビが原因とコメント頂きました。
とりあえず一安心。

2012年7月16日

BkSearch-0.004c/EdSearch-0.004c

Filed under: プログラム — タグ: , , , — m.takemi @ 10:56 PM

リリース。

設定ファイル « 駄開発駄メモ」のコメントで頂いた要望に対応し、選択した文字列の最大長の制限を設定ファイルで指定するよう修正。(暫定リリースとほぼ同じ)

あと、一部の文字(‘ ‘, ‘#’, ‘&’, ‘"’)をURLEncodeするよう修正。

暫定版を公開した際に、

Norton Internet Securityのネットワークインサイトスキャンが新BkSearch.dllを怪しいファイルと認識して、削除してしまいます。
公開して頂ければ、利用者が増えて信頼度が上がり、問題なく使えるようになると思うのですが。
あるいは、ネットワークインサイトスキャンの何らかの設定で、新BkSearch.dll の信頼度を高くして実行すれば、解決するのかな?
少し試してみます。

というコメントも頂きました。

Norton Internet Security使っている方は、インストールが上手く行かない場合があるかもしれません。

2011年12月27日

EdMimeDecode-0.001a

Filed under: プログラム — タグ: , , , , — m.takemi @ 12:28 AM
バグ修正。
  • Qエンコードなデータをデコードするときたまに落ちる(元データとエンコード後データが同じ場合落ちる)
  • 改行が増えていく。
  • 不明な文字コードのデータをSJISとして扱ってしまっていたのを修正。

EdMimeDecode.zip

(EdMimeDecode.zip.md5)

2011年12月24日

EdMimeDecode-0.001

Filed under: プログラム — タグ: , , , , , , , — m.takemi @ 6:19 AM

UTF-8 かつ (B|Q)エンコードなヘッダをEdMax(Free版のみ?)がデコードしてくれないので、それらをデコードするプラグインを作ってみました。

EdMimeDecode-0.001.zip

(EdMimeDecode-0.001.zip.md5)

edmimedecode_1

     ↓

edmimedecode_2

※このプラグインは、メールを開いたタイミングで、メールデータを変換します。このプラグインがバグった場合、下手するとメールデータを壊す可能性があります。が、その場合でも責任は負えません。謝罪はしますが。。

不安な方は使用しないでください。m(__)m

  • ヘッダ(題名とか送信元とか)に=?UTF-8?B?5ryi5a2X?= みたいな文字列があると、メールを開いたタイミングで、それらをデコードする。

    本当はメールを受信すると同時にデコードしたいけど、プラグイン側で受信するタイミングを知る方法が分からなかったので、メールを開いたタイミング。
  • ついでに、本文の改行がたまに異常になる場合(LFのみの場合?CRのみの場合?)があるので、CRLFに変換する。

↑だけしかやらないから、もっと局所的なプラグイン名にすべきだと思うけど思いつかず。。。orz

2011年5月30日

BkSearchでGoogle検索した後、続けて検索すると文字化けする

Filed under: プログラム — タグ: , , , , — m.takemi @ 9:27 PM

BkSearch と Googleデスクトップ検索の連携」に引き続き指摘頂いた。

BkSearch.conf(EdSearch.conf)のデフォルト設定だと、
以下のように

[Google 日本 で検索(&G)]
FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&oe=sjis&q=
Encode=UTF8

・ie=UTF-8
・oe=sjis
になっています。

この設定で検索した場合、初回は正常に表示されますが、
続けて検索ボタンを押した場合、URLは以下のようになってしまった。

http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&oe=sjis&q=%E6%A4%9C%E7%B4%A2#num=50&hl=ja&lr=lang_ja&ie=Shift_JIS&oe=Shift_JIS&tbs=lr:lang_1ja&q=%E6%A4%9C%E7%B4%A2&aq=f&aqi=&aql=&oq=%E6%A4%9C%E7%B4%A2&・・・

・ie=UTF-8
・oe=sjis
・ie=Shift_JIS
・oe=Shift_JIS

でもって、文字化けする。

なぜ???

2byte文字を含む場合のみ文字化けするので、
2回目の検索の時は、ie=UTF-8が機能していないっぽい。
まぁ、ieが2つ指定されてるから当然か。。

「&oe=sjis」を削除して、以下のようにすると正常に動作するようになりました。

[Google 日本 で検索(&G)]
FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&q=
Encode=UTF8

2011年5月29日

BkSearch と Googleデスクトップ検索の連携

Filed under: プログラム — タグ: , , , , — m.takemi @ 6:51 PM

について、質問メールを頂いたので調べてみました。

Googleデスクトップ検索で”test”を検索してみたところ、
以下のようなURLになったので、

http://127.0.0.1:4664/search?q=test&flags=68&num=10&s=ZoDBIB5DxUVUQh9oa5fpdKn6zVA

“test” → “テスト” に変えて見たところ、

http://127.0.0.1:4664/search?q=テスト&flags=68&num=10&s=ZoDBIB5DxUVUQh9oa5fpdKn6zVA

「無効なリクエスト」と言われてしまう。

URLを直接変更するのではなく、Googleデスクトップ検索で”テスト”を検索すると、
以下のURL。

http://127.0.0.1:4664/search?q=%E3%83%86%E3%82%B9%E3%83%88&flags=68&num=10&s=MqeS2Ad2-EPMUhVeranCUF-Lp1I

“test”と”テスト”で検索したURLを並べてみる。

http://127.0.0.1:4664/search?q=test&flags=68&num=10&s=ZoDBIB5DxUVUQh9oa5fpdKn6zVA
http://127.0.0.1:4664/search?q=%E3%83%86%E3%82%B9%E3%83%88&flags=68&num=10&s=MqeS2Ad2-EPMUhVeranCUF-Lp1I

検索文字列が違ってるのは当然だけど、s=に続く文字列も異なっていた。
“ZoDBIB5DxUVUQh9oa5fpdKn6zVA”
“MqeS2Ad2-EPMUhVeranCUF-Lp1I”

これが何者かを調べたところ、
Query API Developer Guide – Google Desktop APIs – Google Code
によると、「security token」というものらしい。

検索文字列によって変わるってことは、外部から使えない??とか思ってたら、すぐ下の方に

Getting the Stored Query URL – Query API Developer Guide – Google Desktop APIs – Google Code
ってあった。

Stored Query というものがよく分からなかったけど、ストアドプロシージャとか、ストアドファンクションのような類であれば使えそうなので、書いてある通り、
レジストリ”HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url”
に設定されているURL(自分の環境では、”http://127.0.0.1:4664/search&s=x24RLVrkvjGLijzu8wE1zMrW9As?q=”)をコピーして使ってみたところ上手くいった。

BkSearch.conf(EdSearch.confでも同じ)に書くと、

[Googleデスクトップ検索(&T)]
FrontURL=http://127.0.0.1:4664/search&s=x24RLVrkvjGLijzu8wE1zMrW9As?q=
Encode=UTF8

num=50とか加えておけば、検索数が50件になる模様。

[Googleデスクトップ検索(&T)]
FrontURL=http://127.0.0.1:4664/search&s=x24RLVrkvjGLijzu8wE1zMrW9As?num=50&q=
Encode=UTF8

この方法が未来永劫使えるのかは分からないけど、一先ずこれで行けそう。

2011年2月2日

mbm(Multi BitMap)ファイル用のSusie Plug-inを作ってみた

Filed under: プログラム — タグ: , , , , , — m.takemi @ 8:50 PM

作ろうと思ったのは数年前だけど。。すごく今更だな。。

Susie
窓の杜 – Susie for Win32

ifmbm.zip(ifmbm.zip.sig publickey)

S60_3rd_MR\Epoc32\Data\z\resource\apps\avkon2.mbm
をSusieで開くと↓こんな。

20110202_200516_1

mbmファイルのフォーマットは、「The MBM file format | NewLC」にあるけど、面倒くさかったから、「PDK\3.0.h\sf\mw\platformtools\gfxconversion\bmconv_s60」を流用させて頂いた。ライセンスはEPL(Eclipse Public License – Version 1.0, 日本語訳)。ソースは、ifmbm_src.zip(ifmbm_src.zip.sig publickey)

なお、動作確認は「Susie Ver0.50 beta2」で実施しました。

制限

  • 対応ファイルかどうかは拡張子で判定してる。
  • メモリ入力には未対応(対応方法が分からず。。)

参考サイト

Older Posts »

Powered by WordPress