タグ

ブックマーク / secondlife.hatenablog.jp (20)

  • 16x16 でアイコンを描こう! - 2nd life (移転しました)

    http://16x16.hatelabo.jp/ 先日、はてラボで 16x16 という、16x16 サイズに特化したアイコンエディタをリリースしました。 favicon や小さなアイコンなど、Web 上では小型サイズのドットアイコンは使いやすいので、いろいろな場所で使われていますね。16x16 サイズのアイコンを書くのに、16/32/64 サイズの同時プレビューが欲しかったり、即座に色の明度調整を行いたかったのですが、手軽に使えるツールが無かったため、Flash でサクッと作ってみました。 と云うわけで、はてなのユーザアイコンとも相性がいい 16x16 サイズのアイコンを、みんな描いてみましょう!絵心が無くてもなんとなーく描くだけでそれっぽいのが作れると思うので、軽いチュートリアルを作ってみました。 その1 ざっくりと形を決める 適当に形を決めましょう。初心者なら線対称な図形を描くのが楽

    16x16 でアイコンを描こう! - 2nd life (移転しました)
  • デブサミ2009 はてなの開発戦略 - 2nd life (移転しました)

    先日のデブサミ2009で発表した、はてなの開発戦略 (すごい名前だ…) のプレゼン資料を公開します。前半は主に git の話で、後半ははてなブックマークリニューアルの、Perl 層の開発をどんな感じで行っていったか、という話です。 デブサミ2009 はてなの開発戦略View more presentations from hotchpotch. はてなの git では、中央のマスタレポジトリサーバがあって、そこから各自 clone / fetch して開発を行ってるので、完全に github のような分散のメリットを生かしているわけではありません。 しかし完全に分散を生かさずとも、git に移行したメリットは十分にあって、資料の中でもふれていますが、やはり一番便利なのが git のブランチ機能です。もうこれ無しでの開発は考えられないなぁ、ぐらいで、さくっとブランチ切って開発、ブランチの切り

    デブサミ2009 はてなの開発戦略 - 2nd life (移転しました)
  • perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)

    http://search.cpan.org/~hayashi/Term-ReadLine-Gnu-1.15/eg/perlsh 最近 perl を勉強中で、ちょくちょく挙動に関する疑問が出てきます。ですが Ruby における irb のようなインタラクティブシェルが無い(と思っていた)ため、挙動をちょくちょく調べるのに、エディタ開いてソース書いたりしていてめんどくさい!と思ってたりします。 しかし今日 id:hideoki が挙動チェックでなにやら便利そうな対話型のシェルを使っており、それが perlsh というインタラクティブなシェルでした。 $ perlsh # 起動 main[10]$ @ary = qw(1 2 3 4 5) 1 2 3 4 5 main[11]$ map { $_ * $_ } grep { $_ % 2 } @ary 1 9 25 のように対話的に実行でき、返

    perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)
  • fcwrap を使ったAS3オールドタイプ開発 - Shibuya.es 発表資料 - 川o・-・)<2nd life

    昨日の Shibuya.js Technical Talk #3 - Shibuya.es で LT をしてきました。関係者、来場者のみなさん、お疲れ様でした。 どの発表も面白かったです。技術的な面では omo さんのはじめてのABCでの、AVM2/JIT の話が大変面白かったです。なんで型を定義すると速くなるのかなど、「へーこう実行されるからなのかー」と解りやすかったです。 また会場では一斉を風靡するであろう、kushigahamaメソッドが生まれました。あのインパクトは正直高橋メソッドを初めて見たとき以上でした。今年は高橋メソッド以上にkushigahamaメソッドが流行る予感…。 また、fcwrap のデモも撮ったので置いておきます。 http://rails2u.com/misc/fcwrap_demo/fcwrap.htm このように保存するだけで即座に結果を表示/リロードしつつ

    fcwrap を使ったAS3オールドタイプ開発 - Shibuya.es 発表資料 - 川o・-・)<2nd life
  • Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life

    最近、自分が作る Web アプリケーションで、日語圏に限らず使ってもらえそうな物は最初から一応国際化(というか英語対応)して作るようにしています。国際化対応しておくと、はてブに限らず、del.icio.us や digg で取り上げられたりして、いろいろな人に使えてもらって嬉しいし海外からも adsense 収入gです。del.icio.us のトップや /popular/ からのリファラは、はてブトップ or 人気エントリーからのリファラとそんなに変わらないぐらいなのですが、digg からのアクセスはその十数倍あって驚きでした。 で、題の国際化の方法なのですが、favicon2dots や polaroizeぐらいの小粒なアプリケーションなら、ほんの数分〜十数分作業時間を増やすだけで対応できてしまうので、その方法のご紹介を。 ruby-gettext 武藤さん作の ruby-gett

    Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life
  • Rails の htmlhelp - 2nd life (移転しました)

    http://rails2u.com/htmlhelp/rails/ 今まで Rails のマニュアル引きには http://api.rails2u.com/ を使ってたのですが、ネットワークに繋がらない時などにいちいちローカルで動かすのもめんどくさい、と思えてきたので最新の svn head なドキュメントをみんなだいすき*1な htmlhelp にしてみました。 また ActionController や ActiveRecord などを全部入力するのはめんどくさいので AC や AR で引けるようにしています。あとクラスメソッド / インスタンスメソッドの違いがなく、全部 #メソッド名で引けるのは仕様です。 *1:一部の人だけとも言う

    Rails の htmlhelp - 2nd life (移転しました)
  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
  • 川o・-・)<2nd life - はてな注目キーワードをグラフ化する GreaseMonkey

    http://rails2u.com/misc/hatena_hotkeyword_graph.user.js はてなの注目キーワードではその日どんなキーワードを注目されているかが解って結構面白いです。視覚的に解るともっと面白いかもー、というわけで PlotKit + GreaseMonkey でサクッと作ってみました。 こんな感じで表示されます。1画面内のグラフに主だったキーワードが表示されるので、「あっ、そういえばこの日こんな事あったよー」というのが解って割と面白いと思います。もちろんジャンル事の表示などにも対応してます。また例えば先日の大停電の日のグラフですが このように、普段あまり使われてない「東電」というキーワードが一時的にめちゃくちゃ使われてる事が解って面白いです。 技術的なところでは、GreaseMonkey の開発ならヤツに丸投げまかせろ!でお馴染みな砂糖さん の外部ライブ

    川o・-・)<2nd life - はてな注目キーワードをグラフ化する GreaseMonkey
  • 川o・-・)<2nd life - はてなブックマークのお気に入りユーザ数を視覚化 - Hatebu Domain Visualization

    http://lab.rails2u.com/hatebu_domain_visualization/ はてなブックマークを見ていると、どのドメインのサイトが人気なのかを知りたくなるときがあります。そんなんでドメイン別にカウントを集計し、グラフ化してみました。最近の人気なドメインや月別人気のドメイン、日別人気のドメインなどを見ることができます。 一年前ぐらいのグラフはGIGAZINEが無くて今と傾向が違っておもしろいです。 グラフの表示には PlotKit (http://www.liquidx.net/plotkit/ ) という Canvas/VML/SVG を使ってレンダリングしてくれるライブラリを使っています。WinIE でも Canvas をエミュレートしてくれてきちんと綺麗なベクターグラフが出力されてスゴース!また PlotKit は MochiKit を使って作られてるので

  • Rails の to_json を 13 倍速くする方法 - 2nd life (移転しました)

    http://shugo.net/jit/20060715.html 先日、ちょっとした Rails アプリを作っていたのですが、JSON で出力する部分がやたらと遅くて困ってました。で、軽く調べてみたら ActiveSupport の String#to_json がやたらと重い!そういえば前田さんも遅い云ってたよな、と思って上記 URL で書いてある String#to_json に変更したところ、なんと約 13 倍も速くなるという驚きの結果に!!! というわけで、Rails で JSON な API を提供している人は割と上記 String#to_json の変更が必須かと。家にとりこまれないかなー。 あとベンチマークはこんな感じで。Benchmark::Runner は自作のを使ってます。 #!/usr/bin/env ruby require 'benchmark/runner

    Rails の to_json を 13 倍速くする方法 - 2nd life (移転しました)
    scorelessdraw
    scorelessdraw 2006/08/12
    {rails]
  • 川o・-・)<2nd life - Firefox 2.0 Beta 1 で Rails のドキュメントをインクリメンタルサーチ

    先日、Firefox の Beta 1 がリリースされました。で、2.0 の新機能の一つで、OpenSearchを利用した検索プラグインを個人でも簡単に作成することができるようになりました。また A9.com > OpenSearch > OpenSearch Autodiscovery を利用すると、2クリックで簡単に閲覧しているサイトを検索プラグインとして Firefox に追加することができます。 で、Creating MozSearch plugins - MDCを読んでいたら、JSON でデータを返すと google suggest のようなインクリメンタルな検索結果を表示できるようです。面白そう!ということで早速 api.rails2u.com にOpenSearch Autodiscovery と 検索結果を JSON で返すAPIを仕込んでインクリメンタルサーチするようにし

    川o・-・)<2nd life - Firefox 2.0 Beta 1 で Rails のドキュメントをインクリメンタルサーチ
  • 日本 Ruby カンファレンス 2006 発表資料 - 2nd life (移転しました)

    週末は Ruby カンファレンス 2006 にお越しの皆さん、スピーカ、スタッフの皆さん、お疲れ様でした!かなり面白い Ruby のイベントになりましたね!特に裏方のスタッフの皆さんの働きで、スピーカとしてもとても発表しやすかったですし、一参加者としても様々なところに配慮が行き届いているなぁ、と感じとても良かったです。 http://rails2u.com/misc/rubyka2006/ というわけで、自分の発表資料、「Perl の会社で使われる Ruby の利用法とは!?」 を公開します。中身ははてなのこんなところで Ruby がつかわれてるぞー、というのと dRuby 最高、というお話しです。二日目は咳さんの dRuby 話(資料: http://www.druby.org/dRubyAgain.pdf )もあり、これから dRuby が流行りまくる予感が! dRubyによる分散・W

    日本 Ruby カンファレンス 2006 発表資料 - 2nd life (移転しました)
  • 川o・-・)<2nd life - Rails 1.0 -> 1.1 の ActiveSupport 変更点まとめ

    Ruby on Rails 1.0 までは AWDwR を読んで使い方が解ってる人も多いと思うのですが、1.1 以降でどんな詳細な機能が加わったのかはあまり知られてません。 そのために ActiveSupport の CHANGELOG を淡々と読んでまとめてみました。間違ってる可能性もあるのでそういう箇所があったらご指摘下さい。 Add CachingTools::HashCaching to simplify the creation of nested, autofilling hashes. [Nicholas Seckar] CachingTools::HashCaching という Hash を利用したシンプルなキャッシュ機能のモジュールが加わりました。このモジュールを利用したいクラスで extend して hash_cache :methodnameとすると、そのメソッドが

    川o・-・)<2nd life - Rails 1.0 -> 1.1 の ActiveSupport 変更点まとめ
  • Google SketchUp の API は ruby ! - 2nd life (移転しました)

    http://sketchup.google.com/ http://sketchup.google.com/support/bin/search.py?query=ruby 先日公開された Google SketchUp の API はなんと ruby*1 ! ということで rubyist の間では話題になってたりなかったりします。ということで早速使ってみて RSS を読み込んで表示する単純な Plugin を書いてみました。表示はこんな感じ。 API のドキュメントがまとまっている*2 し、サンプルコードもあるので ruby 使える人ならすぐにでも Plugin 書くことができると思います。使い方も簡単で Plugins ディレクトリに .rb ファイルを放り込むだけ。また window -> ruby Console から対話型のコンソールを使えるので簡単な動作テストが簡単にできるで

    Google SketchUp の API は ruby ! - 2nd life (移転しました)
  • はてな認証API Ruby 版モジュール作りました - 2nd life (移転しました)

    http://rubyforge.org/projects/hatenaapiauth/ 先日ローンチしたはてな認証APIRuby 版のモジュールを作りました。rubyforge にアップしたので、gem を使ってる人は # gem install hatenaapiauthでインストールできるかと思います。perlHatena::API::Auth と同じインターフェイスです。認証に失敗すると例外 Hatena::API::AuthError が発生します。また認証時に返す値が perl 版では Hatena::API::Auth::User を作って返してますが、Ruby 版では Hash になってます。 はてな認証API を使った Rails の認証系 plugin も作れそうなのでそのうち作ろうと思ってます。 以下は簡単なサンプルアプリとそのソース。gem パッケージの中

    はてな認証API Ruby 版モジュール作りました - 2nd life (移転しました)
  • Ruby on Rails 1.1 リリース! - 2nd life (移転しました)

    http://weblog.rubyonrails.com/articles/2006/03/28/rails-1-1-rjs-active-record-respond_to-integration-tests-and-500-other-things 皆さん待望の Rails 1.1 がリリースされました!RJS Template や ActiveRecord の Cascaded Eager Loading、The accept headerなど便利な機能が目白押しです。舞波おつ! Rails 1.1はどこが新しくなるのかも併せてどうぞ。 関係ないけど、くまくまーのサイトに検索フォームがホシィ・・・。

    Ruby on Rails 1.1 リリース! - 2nd life (移転しました)
  • Cascaded Eager LoadingがRails 1.1に間に合った! - 2nd life (移転しました)

    http://dev.rubyonrails.org/changeset/3769 もうじき出ると云う噂のRails 1.1にCascaded Eager Loadingが間に合ってsvn headにコミットされた!これRails 1.0 => 1.1のActiveRecordの変更点の中じゃ一番大きいと云っても過言ではない機能。今までは二つ以上の関連のSQLを一回で引くにはSQL直書きしなくちゃならなかった*1のを一発で引けるという! これで今までは二つ以上の関連を参照するには長いSQL書いてたり、長いSQLよくわからないのでパフォーマンス落ちるけどSQL複数回発行してたり(オレ)なんかにはめっちゃありがたい。鼻血物!!! http://wota.jp/ac/?date=20060217#p01 な関連テーブルを一発で引きたい場合、 >> Group.find(:all, :includ

    Cascaded Eager LoadingがRails 1.1に間に合った! - 2nd life (移転しました)
  • 川o・-・)<2nd life - 第0回 Rails勉強会@東京

    http://wiki.fdiary.net/rails/?Rails%CA%D9%B6%AF%B2%F1%A1%F7%C5%EC%B5%FE 先日の11/05日に第0回 Rails勉強会@東京に行ってきました。急な応募にもかかわらず29名全員が欠席無しで参加とかすごい! 感想はいろんな人が書いているので、自分が当日発表したpluginだけ公開します。 http://svn.rails2u.com/public/plugins/trunk/ ActiveHeart 主に日語関係で便利じゃないのかなぁ、といったものが入ってるpluginです。今現在は ActiveRecordMessagesJa TransSid が入ってます。ActiveRecordMessagesJaはくまくまーさんのValidationsを参考にメッセージ周りのローカライズを行ってます。このpluginを入れて cl

    川o・-・)<2nd life - 第0回 Rails勉強会@東京
  • RubyのSymbol - 2nd life (移転しました)

    Rubyを最初学んだとき、SymbolとStringの違いが解って無くて、なら全部StringでいいやとSymbolを全く使わなかった時期がありました。今は意図的に使い分けるようにしています。Lost-Season: Rubyのシンボル で疑問点が上がっていたので、初心者向けにSymbolについて説明してみます。 まず使い道ですが、文字の定義を明確にしたいときに使うことが多いです。たとえばhashのkeyだったり、アクセサの引数で渡すインスタンス変数名だったり、alias_methodの引数で渡すメソッド名だったりと、文字に意味づけしたい時に使えます。このようなときにSymbolを使うことによって、ソースがすっきりして可視性が上がります。 また、symbolを使うと速度が向上します。これは、'a' と書くと毎回Stringの'a'を生成しコストが発生しますが、:aと書くと初回にしかコストが

    RubyのSymbol - 2nd life (移転しました)
    scorelessdraw
    scorelessdraw 2006/02/22
    なるほど、ハッシュのキーのシンボルはなんとなくわかった
  • Web2.0 アプリケーションライク な背景画像を生成する Background Image Maker

    http://lab.rails2u.com/bgmaker/ ウェブサイトのデザインをしているとき、自分はCSSを利用します。そのCSSを書いていて、「ああ、こんな背景画像がほしーな」と思うと、今までは画像編集ソフトでちまちま作ってSCPでサーバにアップして確認し「いやここはもうちょいこうした方が」とまた少しだけ修正してアップして…という繰り返し作業を行ってました。 しかしその作業単調が面倒になってきたため、簡単にWeb2.0っぽいアプリケーションでよく使わるような背景画像をWeb上から作成できるツール、「Background Image Maker」を作ってみました。下のような背景画像を簡単に作成ができます。また先日このページを現在のデザインにリニューアルしたのですが、今使っている背景画像も全部 Background Image Maker を使って作成してます。 使い方は値を適当に弄

  • 1