タグ

ブックマーク / hakobe932.hatenablog.com (9)

  • リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべにっき ♨

    古き良きインターネットアプリケーションであるマウスストーカー*1をリアクティブプログラミングの技術を活用して実装してみるという取り組みをしましたのでご紹介します。リアクティブプログラミングというと主語が大きめですが、ここではbacon.jsを使ってるくらいの意味です。 できたもの まずは完成したマウスストーカーを紹介します。チェーンのように連なった星がマウスカーソルの軌跡を辿ってついてきます。工夫してうごかすとなかなか綺麗です。下のボタンを押すと実際にこの画面でマウスストーカーを有効にすることができます(requestAnimationFrameに対応したPCブラウザのみ)。いろいろ動かして遊んでみてください。 このページでマウスストーカーを有効にする 実装 このマウスストーカーがどのように実装されているか紹介します。ソースコードはGitHubに公開していますので、適宜ご参照ください。手元

    リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべにっき ♨
    kadoppe
    kadoppe 2015/03/10
  • 社内技術勉強会でScalaのおすすめポイント解説した - はこべにっき ♨

    はてなでは週に一回、社内技術勉強会というのをしています。今週は僕の当番だったのでScalaの入門的な話をしました。 普段使いの言語として、Scalaの便利なところをまとめたというつもりです。とはいえ、他の言語にもある特徴もわりと紹介してるので、もうちょっとScala独自の内容にフォーカスしてもよかった... むずかしい。時間の都合で全部話きれなくて、会が終わった後でimplicitまわりの話とか数人にご紹介したら一番おもしろかったと言う話になったので無念。 あの機能を紹介してないとはけしからんみたいなのがあったら教えて下さい。そうはいってもとりあえず Scalaスケーラブルプログラミング第2版を読むといいです。 ↓ 資料はgist形式でembedしてあります ↓ https://gist.github.com/hakobe/e1aa2501a64e7f801b55 こちらもおすすめ Sca

    社内技術勉強会でScalaのおすすめポイント解説した - はこべにっき ♨
  • Node.jsで書かれたIRC bouncer、homura を作りました - はこべにっき ♨

    いわゆる IRC proxy や IRC bouncer はIRCサーバに常時つないでおいてログをとったり、チャンネルを維持したりするのに、大変便利なソフトウェアです。ZNCやtiarraなんかが有名ですね。 その IRC bouncer をNode.jsでのネットワークプログラミングの手習いに書いてみました。homuraというソフトウェアです。はじめてつかったIRC bouncerがmadokaという名前だったのを思い出して名づけました。 homuraにはIRC bouncerとして最低限の機能がそろっています。同時に複数のサーバへの接続、複数のクライアントから接続の受付が可能で、サーバークライアントの両方でTLS接続に対応しています。チャンネルごとにログを記録したり、クライアントからの接続がなくなった時に自動でawayになるといった、機能を備えます。(READMEのmodulesの項を

    Node.jsで書かれたIRC bouncer、homura を作りました - はこべにっき ♨
  • Clean Coderを読んだ感想 - はこべブログ ♨

    Clean Coder プロフェッショナルプログラマへの道 作者: Robert C. Martin,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2012/01/27メディア: 大型購入: 12人 クリック: 645回この商品を含むブログ (36件) を見る 読み終わった。 このは、著者のボブおじさんが師匠としてソフトウェア開発のプロとはなんぞやということをいろいろ教えてくれる技術的なことよりも、プロのプログラマの態度、規律、行動に重点を置いて書かれている。 ボブおじさんは、 アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技 や Clean Code アジャイルソフトウェア達人の技 の著者で、アジャイルソフトウェア開発宣言の著者のひとりでもある。SOLIDの原則をまとめるなど、ソフトウェア工学に貢献している方で、まさに師匠という感じがす

    Clean Coderを読んだ感想 - はこべブログ ♨
  • Ruby 2.0.0-p0 で gem install rdoc した件 - はこべにっき ♨

    rbenvでインストールしたRuby 2.0.0-p0環境で、gem install rdoc すると以下のようなメッセージがでる。 rdoc's executable "rdoc" conflicts with /Users/yohei/.rbenv/versions/2.0.0-p0/bin/rdoc Overwrite the executable? [yN]Rubyにはじめから入っているrdocコマンドが gem からインストールされるrdocコマンドに差分があるためこのようなメッセージが表示されるようだ。 gem版のrdocコマンドはgemにバンドルされているrdocコマンドを呼び出すよくあるRubyGemsのstubになっている。 gem版を利用するのであれば、特に問題なさそうなので、とりあえず yと答えておいて良いと思う。 参考:https://bugs.ruby-lang.

    Ruby 2.0.0-p0 で gem install rdoc した件 - はこべにっき ♨
  • ターミナル上でvimのスクロール速度が遅い - はこべにっき ♨

    ターミナル上でvimを利用していると、カーソルの移動やスクロールが大変遅くなることがあって困ってる。 ターミナルのウインドウサイズを大きくしたり、画面分割したりして、ターミナルの画面書き換えの量や複雑さが高くなると、遅くなるようだ。KeyRemap4MacBookでキーリピートは早くしてあるし、vimではない単純な画面では表示の遅さは感じないので、vimをどうにかする必要があるとういことになった。 僕のMacの環境では Terminal.app が一番悪くて、カーソル移動するだけでも、かなり遅く感じる。iTerm2ではスクロールが発生しないカーソルの移動は問題ないが、スクロールが発生するカーソル移動を行うと遅く感じる。 調べてみると、困っている人は他にもいて、vimの設定などをいろいろ工夫している。 Vim - General - Vim is too slow with syntax h

    ターミナル上でvimのスクロール速度が遅い - はこべにっき ♨
  • Vimperatorのこれは便利 - はこべにっき ♨

    URL補完とqmarkがあるだけでブラウジングがかなり快適になってる.Vimperatorちょう便利!*1 しかし,冷静に考えるとFirefox単体でもほとんど同じようなことができるので,やはり質的にはvim好きにとって便利なだけな気がしてきた.vim厨乙. でも,なんか勢いでいろいろ書いてしまったのでのっけておきます. URL補完 自分のアクセスしたいURLへの移動が非常にすばやくできて,快適.プロセス的には, ブラウジング中に:e と入力 アクセスしたいURLの一部を入力(例えばはてブの自分のお気に入りに行きたければfavと入力) URLの候補が表示される.良くいくURLが上のほうにくるので Ctrl-N 1,2回おして選択 Enterでアクセス という感じ.URLの一部の文字列の選び方になれると一瞬でどこにでも行ける感じに.だれかのユーザ名で補完してそのひとのサービスを全部だすとか

  • Perlまわりの環境を整備した - はこべにっき#

    Leopardにした and Perl5.10-RC1が出た機会にPerl環境の整備をしたのでそのメモ。要求としては以下。 MacPortsのPerl5.8を使いたい MacPortsの管理領域(/opt/local)は汚したくない 最新のCPANモジュールは使いまくりたい Perl5.10を簡単に試したい これまでも、MacPortsでインストールしたPerl5.8を使ってた。そのPerlでCPAN使うときには、 $ sudo -H cpan としてたんだけど、これはMacPortsの管理領域をいじるので若干気持ち悪かった。 自分でコンパイルしたPerlを使ってもよかったんだけど、SubversionのPerl bindingとかのコンパイル時にPerlを求めるやつのインストールとかはMacPortsでやるのががだんぜん簡単なので、そのへんは楽をしておきたい。 そこで、CPANのモジュー

    Perlまわりの環境を整備した - はこべにっき#
  • MacPortsでステキなUNIXツールをインストール - はこべにっき#

    2011/5/22追記: 最近のオススメは、homebrewです。ぼくもいまはhomebrew使ってます。 先日、研究室にあたらしいMac Book Pro 17"が届いた。各種操作がいちいちキビキビ動いて快適すぎる。 このMacにも、うち的最重要MacアプリケーションのひとつであるMacPortsをインストールした。 MacPortsはFreeBSDのportsというパッケージ管理システムと似たようなことを、Mac OS Xでも行うためのソフトウェアだ。有名なコマンドラインツールはほとんどこれを使えば揃えることができる*1。うちが普段使っている、perlvimもzshもscreenも全部MacPortsでインストールしたもの。 Macでライブラリやツールがなくて困ったときはとりあえず、MacPortsに聞いておけばなんとかなることも多い(例: pygameってMac OS Xで動くんだ

    MacPortsでステキなUNIXツールをインストール - はこべにっき#
    kadoppe
    kadoppe 2008/08/05
    Mac OS Xでのパッケージ管理ツール「MacPorts」のインストールメモ
  • 1