タグ

ブックマーク / zentoo.hatenablog.com (16)

  • Maintainable JavaScriptにみる、コンテキストとアプリケーションロジックの分離 - 愛と勇気と缶ビール

    個人的なこと 読書はいわゆる自己投資?にあたるものなのでケチるもんじゃないよなあ、とは思いつつも可能なら安い値段でより大きなリターンを得たいよねー、ということで最近はOreillyの半額セールに目を光らせるようになりました。英語は「拾い読み」がし辛いという欠点があるのですが、まぁ、安いし、全てのにちゃんと訳が出るわけでもないので、ええかなぁと。 そんなわけで "Maintainable JavaScript" というを読んでいたのですが、その中のEvent Handlingについての章が「おお、これこれ」という感じだったのでちょっと紹介。 Maintainable Event Handling jQuery覚えたぜ!って感じの人がとりあえずコードを書くと、だいたいこんな感じになりますね。ちなみに、これは別にjQueryがどうとかいう話ではなくて、質的には生DOMでも他のライブラリでも

    Maintainable JavaScriptにみる、コンテキストとアプリケーションロジックの分離 - 愛と勇気と缶ビール
    otsune
    otsune 2012/09/01
  • やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール

    ※ネタです ※UDFです Mysql 5.1 Plugin Development 作者: Andrew Hutchings,Sergei Golubchik出版社/メーカー: Packt Publishing発売日: 2010/08/30メディア: ペーパーバック購入: 1人 クリック: 45回この商品を含むブログ (2件) を見る しばらく積ん読していたこのをちょっと眺めてみたら、MySQLのUDFって簡単に作れるんだなー、と思った && そういやV8ってライブラリとして簡単にリンクできるはずだな、と思い出した ので、ついカッとなって作った。 http://github.com/zentooo/mysqludf-jseval UDFうんぬn ほとんど↑のの受け売りになるけど、一応MySQLのUDFについて備忘録代わりに軽く紹介しておくと UDFを追加する場合、MySQLの再コンパイ

    やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール
    otsune
    otsune 2011/09/27
  • JavaScriptのお勉強をするときの話(環境構築編) - 愛と勇気と缶ビール

    この記事は、JavaScriptを勉強して可能なら使えるようになりたいけど、どこからやっていいかよくわからない、という昔の僕みたいな人のためのガイドです。ちなみにいささかCUI寄りです。 初めに断っておきたいのは、僕が多少なりとも真面目にJavaScriptを勉強し始めたのは10ヶ月ほど前のことなので、いわゆるマスター的なヨーダでも何でもなく、未だ途上の何たらだということです。 開発環境を用意する JavaScript入門、みたいな紙媒体やWeb上の記事には、「JavaScriptは基的にはブラウザ上で動く言語なので、特別な実行環境を用意する必要はありません!楽勝ですね!」みたいなことがよく書いてあるのですが、アホか、という話です。 ブラウザ上で動かす(場合が多い)言語であるからこそ、むしろ実行はめんどくさいです。 「ワイはとにかくDOMが操作できればええんや!言語仕様とかどうでもええわ

    JavaScriptのお勉強をするときの話(環境構築編) - 愛と勇気と缶ビール
    otsune
    otsune 2011/06/15
  • githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール

    会社で下の記事についてリマインドしてもらって、なんとなく気になっていたことを調べたメモ。 http://webtech-walker.com/archive/2010/12/06160539.html 記事を読んで、history.replaceState(null, "title", "/new.html") とかやると遷移なしでページのcontentも勝手に置き換わるのかなー、だったらあのアニメーションはどこで発火してんだ?とか考えていたがそもそもreplaceStateの動作について勘違いしていた。 要は、次のようなhtml書いてボタンをクリックしても、historyの先頭が置き換わるだけでページ自体には何も起こらない。(ただしlocation.hrefは置き換わっており、reloadすると/replace.htmlにいく) <!DOCTYPE HTML> <html lang="e

    githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール
    otsune
    otsune 2010/12/23
  • YAPC::Asia 2010に行ってきたかもしれない - 愛と勇気と缶ビール

    けっこう長いかもしれない。あと、前の方の記憶が結構うすれてるかもしれない。 前夜祭(10/14 夕方〜) WAF祭り とりあえず、きのこ派(Catalyst派)とたけのこ派(Sledge派)がいることは分かった。あと、id:tokuhiromさんのWAF全般に関する考え(結局何のためにWAF使うのか?みたいな話)が聞けて面白かった。 LT 忘却(ドイヒー)。Getopt::Compact::Withcmd使いたい! YAPC.vim 対談の女の人が誰だかよくわかんなかったので、c9sというVimanaの作者と喋っていた。その日の昼にVimanaに対してgithubでpull requestを出していたので、「おうgithubのアレか!」「githubのアレさんですね!」みたいな感じで会話を始めた。githubで始まる出会いってあるんですね!ステキ!(もちろん相手は男です) c9sはPer

    YAPC::Asia 2010に行ってきたかもしれない - 愛と勇気と缶ビール
    otsune
    otsune 2010/10/18
  • Plack::App::Proxy::Selectiveとか作ってみた - 愛と勇気と缶ビール

    マクラ どうも、大してPerlも書けないのに会社のローカルでは常に3つほどplackupでサーバ立ち上げて作業しているzentoooです。すいませんすいません。 企業で働いていると、関与してはいるけれど自分には権限がないので番サーバあるいはそれに準ずるサーバにアップできないファイルに、よく遭遇しますよね。 そういった事態にあまり遭遇しない場合でも、番サーバにアップする前に、番環境で現在編集中のcssやらjsやらのファイルをテストしたい、テストできたらいいなあ、という需要はけっこうあったりなかったりするんではないでしょうか。 んで、僕の場合もそういったことがちょいちょいあったりするわけです。番環境って、直にユーザにつながっているものなので権限があろうとなかろうと気軽にファイルをアップできるものではありません。 というようなことを考えたり考えなかったりしていると、id:ZIGOROuさ

    Plack::App::Proxy::Selectiveとか作ってみた - 愛と勇気と缶ビール
    otsune
    otsune 2010/09/11
  • JavaScriptのnewって何?一体何なの?という話 - 愛と勇気と缶ビール

    マクラ JavaScriptを使っている人なら知っていることだろうけど、JavaScriptはプロトタイプベースのオブジェクト指向を採用しているので「クラス」がない。オブジェクトしかない。 でも、組み込みの演算子としてnewがあって、それを使って var obj = new Object(); とか書けちゃう。クラスってものはJavaScriptにはないはずなのに、new ClassName();と書くとあたかもClassNameクラスのオブジェクトのインスタンスが生成され、それが返ってくるかのような挙動をしている。 これは気持ち悪い。言語仕様としてはクラスは来存在しないのに、クラスのようなものが導入されている。まともな神経を持った人間なら、一体new演算子って何なの?という疑問を持つのが当たり前である。「{}はnew Object()のシンタックスシュガーです」とか言ってふんぞり返って

    JavaScriptのnewって何?一体何なの?という話 - 愛と勇気と缶ビール
    otsune
    otsune 2010/07/19
  • fms_switcher.jsで端末固有番号も設定できるようにした - 愛と勇気と缶ビール

    以前に作った、VimperatorのコマンドラインからFireMobileSimulatorの設定を変更するプラギンを更新した。(前記事 → http://d.hatena.ne.jp/zentoo/20100612/1276329010) http://gist.github.com/435540 変更点としては、 コマンドの第二引数でUID(端末固有番号)の設定が可能になった 端末設定変更した際にリロードしてくれるようになった 例えば、 :fms P903i 111111 ってやると、端末設定がP903iになり、docomoのUID設定の値が111111になり、自動的にページがリロードされる。ちなみにdocomoのみUIDとiモードIDを両方書き換えている。au, softbankに関してはUIDのみ。 fms_switcher.jsにはあんまり機能を盛り込むつもりはないんだけど、リア

    fms_switcher.jsで端末固有番号も設定できるようにした - 愛と勇気と缶ビール
    otsune
    otsune 2010/07/19
  • 僕がJavaScriptで簡易なdeep copyを必要としたわけ - 愛と勇気と缶ビール

    しばらく前から仕事でApache Shindigを触っている。Shindigは、Googleの提案しているソーシャルアプリケーション(日だとソーシャルゲームと言った方が通りがいいかも)の共通API、OpenSocialの参照実装。 もそっと分かりやすく説明すると、mixiアプリって四角いハコ(実態はiframe)の中にアプリがあって、外側とは別々になっている感じがするでしょう。あの四角い箱もといiframeの中を描画しているのがShindig。 んでまあ、ソーシャルアプリケーション用のAPIなので、JavaScriptのライブラリとして提供されている関数を使って、例えば友達の情報(mixiでいうとマイミクとか)がゲットできて、そういったSNS上にあるソーシャルな情報を利用したアプリを皆が作れると。そういうわけです。 んで、そのShindig内部のJavaScriptライブラリのテストをし

    僕がJavaScriptで簡易なdeep copyを必要としたわけ - 愛と勇気と缶ビール
    otsune
    otsune 2010/07/19
  • gitの.gitignoreみたいなことをしてくれるgrep - 愛と勇気と缶ビール

    割とでっかいプロダクトをいじってて、そのプロジェクトのトップディレクトリでgrep -R hoge ./* とかしたいとする。 んでgrepしたいんだけども、単にgrepするとtest用のコードだとか.svnなんとかが引っかかってイヤンなことになる。 こういう場合どうするかってえと、 grep hoge | grep -v -E (svn|test) とか? んで、毎回こういうの打つのもめんどいんで、これにaliasかける、とか。 findとかでもいけるかもしれない。 で、こういうのって結局プロジェクトごとに無視したいファイルがあるんじゃね?ということで、.gitignoreみたいなファイルが実行ディレクトリにあれば、そこに書いてある正規表現にマッチするファイル名をもつファイルに関しては無視してくれるgrepがあればいいんじゃね? と、思った。 ので、ものすごく適当に作った。のがこれ。↓

    gitの.gitignoreみたいなことをしてくれるgrep - 愛と勇気と缶ビール
    otsune
    otsune 2010/07/14
  • FireMobileSimulatorのON/OFFを切り替えるVimperatorプラグイン作ってみた - 愛と勇気と缶ビール

    あついですねえ。 最近、FireMobileSimulatorを使ってモバイルサイトをいじいじする必要が出てきた。FireMobileSimulatorは、モバイル端末(iPhone含む)のエミュレーションを行うFirefoxアドオン。 このアドオンとても便利なのだが、やはりFirefoxのメニューバーからいちいち端末を選んだり端末選択を解除したりするのが面倒くさい。というか、set go= で生活しているのでそもそもメニューバーをそのためだけに出したくない。 なので、FireMobileSimulatorの端末選択/端末選択解除を行うコマンドをVimperatorに追加するpluginを書いてみた。自分でpluginを書いてみるのは初めて & js音痴なので、ツッコミ歓迎です。 使い方としては、 :fms hogehoge でFireMobileSimulatorに登録された各端末を選択

    FireMobileSimulatorのON/OFFを切り替えるVimperatorプラグイン作ってみた - 愛と勇気と缶ビール
    otsune
    otsune 2010/07/07
  • コマンドラインからWEB上の英和/和英辞典をひく - 愛と勇気と缶ビール

    前略。 ウチの研究科はなぜか修士論文が英語なので、論文を書いている途中にちょこちょこ「英和辞典/和英辞典をひきたい」というデマンドが発生する。 修士論文の作成にはVimを使っていて、英和/和英辞典についてはFirefoxのVimperator拡張(http://addons.mozilla.org/ja/firefox/addon/4891)のプラグイン、multi_requester.js(http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/multi_requester.js)を以下のようにmapして使っている。 map ,a :mr alc なので、修士論文編集画面から特定の日語or英語を引くまでのステップは以下のようになる。 Vim → Alt+Tab数回でFirefoxにフォーカ

    コマンドラインからWEB上の英和/和英辞典をひく - 愛と勇気と缶ビール
    otsune
    otsune 2010/01/21
  • Google App Engine + JRuby + Sinatra + Ruby Twitter Gem でTwitter APIを利用したWebアプリを作る - 愛と勇気と缶ビール

    前回はGAE上でSinatraを動かす方法を紹介したんだけど、アレを試してみた理由はGAE上でTwitter APIを利用したWebアプリを出来るだけ手軽に作ってみたかったからなんだよねえ。 てなわけで、今回はGAE+SinatraでTwitter APIを利用したアプリを作る方法。 TwitterAPIには、ユーザ認証が必要なもの(ユーザ個人のタイムラインの取得とか、Tweetの投稿とか)と、そうでないもの(パブリックなタイムラインの取得とか)があるんだけど、やっぱアプリを作るからにはTwitterに間接的にログインして、投稿もできなきゃ話にならん。 DB用意してユーザ登録して・・・とか面倒くさい(っていうかGAE上では普通のDBが使えない)し、今回はTwitter APIを利用することでもあるので、その辺はTwitterに一任します。要はWebアプリのユーザ認証を、TwitterのI

    Google App Engine + JRuby + Sinatra + Ruby Twitter Gem でTwitter APIを利用したWebアプリを作る - 愛と勇気と缶ビール
    otsune
    otsune 2009/11/23
  • Vim テキストオブジェクトの深淵 - 愛と勇気と缶ビール

    *エントリーに直接タグを書くというマジでバカなことをしてしまった。 うみねこ早くプレイしてー 縁寿は俺の嫁ー とか置いといて 今日はVimperatorでなくてVimのことでも書こうかね。我らが愛する魔法のエディタさ。 Vim7? くらいになってからテキストオブジェクトなる機能が導入されたのだけども そのままだとコレ、あまり役に立たないんだよね。 例えば、:mogi => "in*c*hiki yarou" に対して (*a* は通常モードでaの上にカーソルがある状態を示す) di" で ""(ダブルクォーテーション)の内側のテキストだけを消すとか da" で ""も含めた全体を消すとか ci" で "" の内側のテキストを消して挿入モードに入るとか はデフォルトの状態でもできるけど。要は、i(囲み記号)で囲み記号の内側のテキスト、a(囲み記号)で囲み記号を含めた全体を範囲指定できるってこ

    Vim テキストオブジェクトの深淵 - 愛と勇気と缶ビール
    otsune
    otsune 2009/11/23
  • 男は黙ってTwitter(もちろん女も) - 愛と勇気と缶ビール

    もともと、「来年からWeb系の企業いくからにはWebにミーハーになっとこう」ぐらいのノリで始めたTwitterだったのだが 既に、情報の収集・拡散?において欠かせないツールとなりつつある。特に、FriendFeedやTumblrと連携してからはそうだ。 初めのころは使い方がよくわかんなくて、「Twitter?あの掲示板とチャットの中間みたいなやつ?」とかほざいていた。今となっては恥ずかしい。 今も「Twitterの使い方が分かった!」とは言えない。というより、これといった「正しい使い方」がないことがTwitterというサービスの面白い所なので、人それぞれに使い方があっていい。 てなわけで、TwitterをFriendFeedその他のサービスと絡めた上での現在の使い方をまとめてみる。 ちなみに各サービスの簡単な説明 FriendFeed・・・TwitterとかTumblrとかhatenaとか

    男は黙ってTwitter(もちろん女も) - 愛と勇気と缶ビール
    otsune
    otsune 2009/08/21
  • VimperatorとTumblrをシンクロする - 愛と勇気と缶ビール

    いやあ、はてなに移行してからすぐにトラックバックされてしまった。 しかもだ。どうせ中の人はみないだろうと「(プラグイン)作者のサイトであるにも関わらずopenやtabopenでdeliciousの補完設定をする方法が間違ってる」とかなんとか偉そうに書いた記事が当の作者様にトラックバックされてしまった。俺は人の作ったものを利用させてもらってる側なのに。フヒヒ、サーセンwwwwwww それにしてもはてなの情報伝達速度、はえーな。 はてーな。 ということで、誰から見られてるか分からんのだからちゃんと礼儀を弁えて書こう。これからは。 で今回はTumblrっていうサービスとVimperatorの連携方法。 Tumblrっつうのは、自分の気に入ったサイトとか文章とか画像とかをとにかく切り貼りして共有していく、公開スクラップブックみたいなサービスな。 俺も最近まで存在すら知らなかったのだが、来年就職予定

    VimperatorとTumblrをシンクロする - 愛と勇気と缶ビール
  • 1