読者です 読者をやめる 読者になる 読者になる

basyura's blog

あしたになったらほんきだす。

redmine_wiki_index_tree_view に keyword filter を追加

Redmine の wiki index ページを tree view で表示する - redmine_wiki_index_tree_view - basyura's blog https://github.com/basyura/redmine_wiki_index_tree_view keyword に入力した内容でツリーを維持しながらフィルタできる機能を追加。 単純に onkey…

オフラインJavaScript勉強会 #tkbjs に行ってきた

Effective JavaScript JavaScriptを使うときに知っておきたい68の冴えたやり方作者: David Herman,吉川邦夫出版社/メーカー: 翔泳社発売日: 2013/02/19メディア: 大型本購入: 1人 クリック: 109回この商品を含むブログを見る3 冊目への突入記念で万葉さんの…

Kindle Personal Document で表示されてるものを一括削除するグリモン

BookmarkletをPersonal Documentのページで実行すると、下のスクリーンショットのように本のタイトル横に「×」マークが出る。それをクリックするといっさいの確認なしにファイルが削除される。 Kindle Personal Documentの削除処理を簡単にするBookmarklet …

auto-kindle-it

README greasemonkey for kindle it (http://fivefilters.org/kindle-it/). this greasemonkey push to kindle automatically when you click the kindle it. auto-kindle-itle あとで読む記事を pocket (read it later) に放り込んでいたけど、最近は kindl…

Twitter の Web ページに、リストに飛ぶメニューを追加する Greasemonkey

https://github.com/basyura/add_list_menu_to_twitter※ エイプリルフールネタではありません。twitter の web ページがだいぶ使いやすくなったんだけど、リストにたどり着くまでがめちゃくちゃ遠くなった。なので、簡単に飛べるグリモンを書いたみた。ただ…

hatebu-show-b-comments を作ってみた

はてブリニューアルに合わせたわけではないのだけれど、以前書いていた LDR Show B Comments を元に jQuery を使ってはてブ用に書き直してみた。 http://userscripts.org/scripts/show/126634 https://github.com/basyura/hatebu-show-b-comments m でカレン…

Twitter - Web のアクティブなツイートを分かりやすくする

ショートカットキーも使いやすくなったし、軽くなったしでデザイン変更は良かったと思うんだけど一つに気になるところが。 j, k でカーソル移動してる際にどのツイートがアクティブなのかが分かりづらい。 なので、keysnail で色をつけてみた。 _keynsail.js…

keysnail で端末ごとのローカル設定ができるようにする

問題 設定ファイル (_keysnail.js) は github で管理してるけど、端末ごとに異なる設定も持ちたい。 たとえば、社内の Web ページをゴニョゴニョする設定とか。github に上げられないものとか。 解決 _keysnail.js に以下を書く。 try { userscript.jsFileLo…

Firefox でピン留めされたタブの判定

ピン留めれたタブは「×」(閉じるボタン)が出ないから "簡単には" 閉じられないって理解でいいんだろうか。 「閉じたくない」「ブラウザを起動するときには表示してほしい」からピン留めするんだろうけど、keysnail でガシガシ閉じちゃうので勢い余ってピン留…

プライベートなメンバ変数

プライベートメンバについてメモ代わりに適当なサンプルを書いてみました。 CoffeeScriptのプライベートメンバについてのメモ めんどくさいらしいので確認してみる。 javascript で書いてみる function Person(name) { var name_ = name this.get_name = fun…

javascript の apply と call

apply メソッドは 2 つの引数、 thisArg および argArray をとり、オブジェクトの Call プロパティを使用して、関数呼出しを実行する。オブジェクトが Call プロパティを持っていない場合、例外 TypeError が投げられる。 thisArg が null または undefined …

キーバインドの変更

j を押下したタイミングで次のアイテムまでスクロールするついでに LDR Full Feed を使って本文を取得するようにしてたけど、最近しっくりこなくて変更。 j で下向きにページスクロール。まだスクロールしていない場合は次のアイテムまでスクロール。 k で上…

配列の添字プロパティ

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 93人 クリック: 1,596回この商品を含むブログ (180件) を見る []添え字…

Yahoo! News の概要ページをすっ飛ばす

Yahoo! のトップページでトピックスを選択した後に表示される概要ページってなんなんだろ。アクセス数稼ぎだと勝手に思ってるんだけど。autopager を使っても読み込みのタイムラグがあるし、概要と本編で二重になっちゃうからうざい。なのですっ飛ばすグリモ…

JavaScript パターン

JavaScriptパターン ―優れたアプリケーションのための作法作者: Stoyan Stefanov,豊福剛出版社/メーカー: オライリージャパン発売日: 2011/02/16メディア: 大型本購入: 20人 クリック: 892回この商品を含むブログ (68件) を見る JavaScript にはクラスがない…

インスタンス変数を外から見られないようにしてカプセル化したい

function を new してオブジェクトを生成した際に、外部から変数を見られないようにするにはどうしたらいいのか。 java でいうと下記の当たり前(?)なこと。 public class Person { private String name_ = null; public Person(String name) { name_ = name;…

関数の名前を取得する

JavaScriptパターン ―優れたアプリケーションのための作法作者: Stoyan Stefanov,豊福剛出版社/メーカー: オライリージャパン発売日: 2011/02/16メディア: 大型本購入: 20人 クリック: 892回この商品を含むブログ (68件) を見るより。無名関数だと取れないけ…

Array.prototype.slice

1. A を、式 new Array() と同様に生成した配列とする。 2. このオブジェクト の [[Get]] メソッドを、引数 "length" で呼出す。 3. ToUint32(Result(2)) を呼出す。 4. ToInteger(start) を呼出す。 5. Result(4) が負ならば、 max((Result(3)+Result(4)),0…

Array のメソッド

filter ある配列の要素で、与えられたフィルタリング関数が true を返したものすべてからなる新しい配列を生成します。 forEach 配列中のそれぞれの要素について関数を呼び出します。 every ある配列の全ての要素が与えられたテスト関数を満たした場合に tru…

javadoc をインクリメンタルサーチする

javadoc を vim から引きたいなぁと試行錯誤していたけれど中断。 本仕様書は著作権により保護されており、本仕様書に記載されている情報は、単数または複数の米国特許、外国特許、または特許出願により保護されている場合があります。以下のライセンスに基…

prototype を使う場合と使わない場合の速度比較

prototype を知らずに作って今に至る某システム。レスポンス問題が再燃したので prototype の使用有無でどれだけ違うのかちょっと比較してみた。 簡単なオブジェクトを new で生成する場合の速度比較 this.xxx を使ってグローバルな関数をメンバ(オブジェク…

new

関数が new 演算子を伴って呼び出されていて、戻り値がオブジェクトではなかった場合には、this (新しく生成されたオブジェクト) が代わりに返されることになる。 javascript the good parts - P.37 オブジェクトではないもの 数値、文字列、真偽値、null、u…

chain.js - Data Binding Plugin for jQuery

<div id='language'> <div class='item'> <span class='name'>language's name</span> </div> </div> といったテンプレートを用意しておいて、javascript で操作できる jquery plugin。 Chain.js is a jQuery plugin to bind javascript data to html and generate content using the data. It provides automatic data management and co…

java っぽく

java の class っぽく定義する場合、メンバ変数を間違えて変更しちゃう事故を防ぐには引数に _ をつけるのがいいのではないだろうか。気持ち悪いけど。 function Person(name_){ this.getName = function() { return name_; } this.setName = function(name)…

this は呼ばれ方によって 4 種類の違いがある

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 93人 クリック: 1,596回この商品を含むブログ (180件) を見る メソッド…

文字列リテラルはプリミティブ

Javascript は String プリミティブと String オブジェクトを自動的に変換するので、String プリミティブである文字列上で String オブジェクトのあらゆるメソッドを呼ぶことができます。JavaScript は String プリミティブを一時的な String オブジェクトに…

bowline-twitter に勝手に機能追加

bowline による twitter クライアントの改造版(http://github.com/basyura/bowline-twitter) Ruby, HTML and JS desktop application framework. bowline css dock menu (jquery's plugin) で Dock っぽい動き If you are a big Mac fan, you will love this…

調子にのって臨兵闘者皆陣列在前

画面を表示した際にプレグレスバーみたいなアクション max の 90% をこえると臨兵闘者皆陣列在前 フォントのサイズと透明度を動的にしてみたり http://gist.github.com/508092

LDRで臨兵闘者皆陣列在前するまでは踏み切れないので経過時間が分かる greasemonkey を書いてみた

やらないといけないことがあるのに,だらだらLDRでフィードを読んでしまうことがあって,不毛な感じだったので,ちょっとずつフィードを見れなくするのを作った. LDRをちょっとずつ見れなくするGreasemonkeyを作った 全く同感。情報を得るために使っている…

Array#splice

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 93人 クリック: 1,596回この商品を含むブログ (180件) を見る array.sp…

this と global と function

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 93人 クリック: 1,596回この商品を含むブログ (180件) を見る 設計ミス…

spidermonkey をインストール @TokyoBouldering.js

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 94人 クリック: 1,643回この商品を含むブログ (184件) を見る仕事帰り…

LDR Show B Comments - version 0.0.6

livedoor reader で m を押すと、アクティブなエントリのはてなブックマークコメントを表示する。 LDR Show B Comments 日頃から使っていて地味に役立つんだけど、たまにウザイことがある。 ブクマコメントが多いけど読む気がしない場合。m を押し続けてコメ…

丸め誤差をぶっつぶして計算したい

BigDecimal なライブラリが標準に無いので自分で考慮しないといけないんだけど function sum(a,b,scale) { return Math.round((a+b)*Math.pow(10,scale)) / Math.pow(10,scale); } こんなロジックでいいんだろうか?

LDR Show B Comments が MOONGIFT で紹介されてた

まじびっくりだわ〜。5月に作って github にあげて個人的には必須グリモンになってたけど今頃取り上げられるとは。はてブ連鎖ってやつだな。 はてなブックマーク登録数を表示させると合わせて使うと幸せになれる。

Function

他人のソースを直す時に見つけた。 ele.onmouseover = new Function("some_func()"); これに意味があるのかは置いておくとして、Function のコンストラクタ(?) の引数の数はどうやって判定してるんだろうか。function かどうか?引数の最後を関数(or 式)と見…

はてなブックマーク登録数を表示させる

LDR_hateb_count.user.js タイトル変更した→旧「LDR/Fastladderではてなブックマーク登録数を表示させる」 ここのを使ってぶくマ数を表示してたんだけど、どうもピンの動きがおかしい。フィードを移ってピンを立てるとなぜかリセットされてしまう。テンプレ…

LDR Show B Comments - version 0.0.4

http://userscripts.org/scripts/show/48098 件数をはてブ風に表示。 http://b.hatena.ne.jp/entry/image/[url] で [url] に対象の URL を入れると件数のイメージファイルが表示されるのを使おうかと思ったけど、スタイルシートにしておいた。

LDR Show B Comments - version 0.0.3

http://userscripts.org/scripts/show/48098 最初にコメント枠を表示して、後からコメントを差し込むように修正。これで引っかかる感じがなくなると思われ。 コメントが多いと m を連打しないとコメント表示が消えないのが難点か。shift + m だと消えるとか…

ちょっとレベルアップ

livedoor reader ではてブコメントを表示する LDR Show B Comments コメントを古い順に表示 m でコメントスクロールし、全部表示したら消す 開発は github で、DL は userscript.org でしたい場合は手動で頑張るしかないのか。

アンカータグのクリックイベント

キーイベントを拾って LDR のエントリ内に a タグ作ってクリックイベント発生させてはてブ拡張を呼び出せば幸せになれると思ったんだけど。 イベント拾えないのか。

LDR Show B Comments - version 0.0.1

m を押すとアクティブなエントリのブックマークコメントを表示する。 http://userscripts.org/scripts/show/48098 ブクマコメントが有るのか無いのかがキーを押すまで分からないので、 LDR_hateb_count.user.js LDR/Fastladderの各記事に何かをするUserJSを…

ブクマコメントをポップアップで表示するグリモン - プロトタイプ

m キーを押すと、はてぶAPIから json データを取得してポップアップで表示。再度 m を押すとコメントを消す。 livedoor reader を使ってて「みんなどんなコメント書いてるんだろう?」と思ってから確認するまでの手間が不便だったので書いてみた。 書き始め…

いまさら autopager

完璧に乗り遅れてるけど便利だなこれ。ただ、特定日の blog を開いて次の日を読む気無いのに勝手に読み込んじゃうのが気になるけど、しかたないか。そういうものだし。 マウスホイールぐるぐるしてるだけでどんどん読めちゃうのはすごいな。 ホイール付きマ…

子ウインドウを表示して名前を出すだけなのに糞めんどくさい

html + javascript じゃなくて AS なビジュアルエディタで書いたら楽なの? var options = new air.NativeWindowInitOptions(); options.transparent = false; options.systemChrome = air.NativeWindowSystemChrome.STANDARD; var newWindow = new air.Nati…

キーカスタマイズ

LDR Full Feed で j を押した時に一緒に本文も取りに行くをやっているんだけど、はてブとか一覧表示されている記事を全て見るのではなくて、ダーッと見出しを見ながら見たいものだけ本文を取得したい場合はかなり邪魔。見たくないものまで取りに行くので spa…

LDR Full Feed で j を押した時に一緒に本文も取りに行く

Google Reader と併用して livedoor reader も使って見ようかと。ちゃんと読みたい(仕事場でも読む)ものを Google Reader 、それ以外のとりあえず読みたいものを livedoor reader でだーっと読むようにする。Google Reader で重宝している本文取得グリモンの…

post が get になる

$.ajax({ type: "POST", url: "http://twitter.com/favourings/create/" + id + ".json", dataType: "text", id: id, complete: function(request , status) { // リクエストが返ってきたときの処理 } } Twitter API で favorite したくて jquery からリクエ…

属性の取得は getAttribute を使う

<img id="0123" hoge="hogehoge"> こいつをクリックしたときに hoge 属性をとりたくて、 event.srcElement.hoge って書いてたら undefined になるからセキュリティの絡みでとれないのかなぁと結構はまってたんだけど、 event.srcElement.getAttribute("hoge") ってすれば良いだけだった。

右クリックメニュー

おれおれ Twitter クライアントに右クリックメニューを実装中。 element.oncontextmenu = function(url){ event.preventDefault(); var menu = new air.NativeMenu(); var command = menu.addItem(new air.NativeMenuItem("fav")); command.addEventListener…