basyura's blog

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

javascript

オフライン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件) を見る 設計ミス…