2012年4月9日月曜日

ザ・シークレットサービス

大層ななまえですが、選択した文字列をシークレットウインドウ内で、
Google検索するというものです。



https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw



1.文字列を選択し、
2.右クリックすると







3.「シークレットウインドウでGoogle検索」がでます故、ぽちっとな。


すでにシークレットウインドウがある場合でも新たにウインドウが開きます。
この辺は様子見て改善するかも。

おためしあれー



2012年3月24日土曜日

『このフレームページを新規タブで開く』 - Chrome拡張機能 -


右クリックに追加します。

https://docs.google.com/open?id=0B58uK3aQr15INTh2dHpkNnlRRUdTcUQtdHd6SktjUQ

コードは以下に。超簡単。

■manifest.json


{
   "background_page": "background.html",
   "description": "このフレームページを新規タブで開く",
   "icons": {
      "128": "icon.png",
      "32": "icon.png",
      "48": "icon.png"
   },
   "name": "I will open This Frame To NewTab",
   "permissions": [ "contextMenus", "tabs" ],
   "version": "0.0.1"
}

■ background.html

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<script>
chrome.contextMenus.create({
    "title": "このフレームページを新規タブで開く",
    "contexts" :  ["frame"] ,
    "onclick": function(onClickData,tab){
var newtab = onClickData.frameUrl;
chrome.tabs.create({url:newtab});
    }
});
</script>
</html>

2012年3月16日金曜日

Chorme拡張機能 テキスト化計画

例によってまだストアでは公開しておりません。
以下からダウンロードしてください

TB 0.9.0

■できること
・テキストのみの表示に切り替える。
・文字色、リンク色、背景色の色を任意に決められる。
・ボタンで通常モードとテキストモードを切り替えられる(ボタンを押せばタブを更新する)

■今後の予定
ドメインを登録して切り替えられるように

2012年2月6日月曜日

GoogleとWikipediaを読みやすくするGoogle Chrome 拡張機能を作りました。

GoogleとWikipediaを読みやすくするGoogle Chrome 拡張機能を作りました。


白背景って目が疲れますよね。私はいつもブックマークレットを使って、背景を黒くし、リンクは緑にしていました。Chrome 拡張機能の作成練習に、これらのことを実現する拡張機能をつくりました。
まだストアでは公開していないので、以下からダウンロードしてください。


easyReader 1.0.0

https://docs.google.com/leaf?id=0B58uK3aQr15INWVhMjUwZjktNGJiOC00YmQ5LTlmN2ItN2Y0N2YzNDNlMWFk&hl=ja

ダウンロードして、Chromeにドロップしてください。



2011年12月19日月曜日

とあるディレクトリ以下のファイルのURLをすべて取得する 最終夜

とあるディレクトリ以下のファイルのURLをすべて取得する


シリーズ最終夜です。




結果として、scan_image以外は検出した個数に変化は無く、599個配列に収まりました。
何が違うのかというと、ディレクトリもそのまま配列に入っているから,,,なのか?
scan_imageはディレクトリであれば配列に収めないという処理をしていますので、
その違いかと思われます。

実行速度については下記を参照してください。

スクリプト名 実行速度 配列カウント 
get_files 0.0091230869293213秒 599ファイル個数 
scan_image 0.0050339698791504秒 500ファイル個数
getFileList($dir_path) 0.00760817527771秒 599ファイル個数
getFileList($dir) 0.0069351196289062秒 599ファイル個数
glob3 0.0072281360626221秒 599ファイル個数
Linux find . 「-type f」有り 0.035500049591064秒 599ファイル個数
Linux find . 「-type f」無し 0.035002946853638秒 635ファイル個数


Linuxコマンド直打ちだけにいっちばん早いんじゃ?!なんて息巻いて実行。
あえなく玉砕。ダントツで遅かったです。


厳密にファイルパスだけ欲しい場合は、scan_imageがいいね!



あるディレクトリ以下のファイルのURLをすべて取得する

第一夜
http://sharzaqslab.blogspot.com/2011/12/url.html

第二夜
http://sharzaqslab.blogspot.com/2011/12/url2.html

第三夜
http://sharzaqslab.blogspot.com/2011/12/url3.html



とあるディレクトリ以下のファイルのURLをすべて取得する 第三夜


(とあるディレクトリ以下のファイルのURLをすべて取得する 2)からの続きです。

PHPには関数としてそのようなものは見つけられませんでした。
いろいろ検索をしていると、皆さんさまざまにアプローチしてらっしゃるのがわかります。

大まかに手法を分けると以下の2通りのようです。

scandir関数を使う
opendir関数を使う

scandir関数はPHP5から搭載された便利な関数ですね。
基本的にやってることはどれもほとんど代わりがないです。
実行速度の違いがあるのか幾つかの手法をテストしてみました。

検索対象の内容として、全文検索システム Namazu http://www.namazu.org/index.html.ja
ファイル群が対象です。



それと自作の関数とか他のテクニックも試してみたので、ご参考までに。
試したのは以下の通りです。


■get_files
PHP でサブディレクトリ内のファイル名をすべて取得 ≪ メモとか
http://wokamoto.wordpress.com/2011/09/22/get-all-files-name/


■scan_image
PHP ディレクトリ以下のファイルを再帰的に取得 - 130単位
http://d.hatena.ne.jp/deeeki/20100602/get_files_recursive
→画像だけでなくすべてのファイルを取得するように変更

■getFileList($dir)
指定したディレクトリ以下のファイルを取得(サブフォルダ内も) - pirokyunの日記
http://d.hatena.ne.jp/pirokyun/20080118/1200631677


■getFileList($dir_path)
ファイル名を再帰的に取得する関数 - handlename::blog
http://d.hatena.ne.jp/handlename/20101006/1286355256


■sharzaqオリジナル
・glob3(http://sharzaqslab.blogspot.com/2011/12/url.html
・cmd_find(http://sharzaqslab.blogspot.com/2011/12/url2.html


比較の結果は次の記事で!

とあるディレクトリ以下のファイルのURLをすべて取得する 第二夜

前の記事(あるディレクトリ以下のファイルのURLをすべて取得する 1)の続きです。




sharzaq謹製というにはおこがましいコードをご覧ください。





function cmd_find($file='.'){
$o = shell_exec('find ' . $file . ' -type f');
return $o;
}

こちらは配列では帰ってきません。ただの文字列が固まりで帰ってきます。


echo $oするとこんな感じ。
















preタグで囲むとこんな感じ。










使い勝手はよろしくないでしょう。この後、\n|\n|\r\n なんかで区切って配列に入れれば何とか。


次の記事では、さらに皆さんのアイデアを比較してみます。

ザ・シークレットサービス

大層ななまえですが、選択した文字列をシークレットウインドウ内で、 Google検索するというものです。 https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw 1...