タグ

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

  • アドベントカレンダーを電子書籍で読めるサービスを作った - 2nd life (移転しました)

    http://advent-calendar2readlists.herokuapp.com/ Qiita や Adventar、ATND のアドベントカレンダーがオフラインの電子書籍で読みたい、と思ったので作った。例えば寿司アドベントカレンダーなら、URLを入れて変換すると、readlistsを裏側で叩いて、こんな感じに生成される。 http://readlists.com/307857dc/ 生成後は readlists の機能を使って、iPhoneiPad に送ったり、dropbox に epub を保存したり、その他いろいろな方法で、様々なデバイスで読むことが出来る(※なお readlists の kindle に送る、は一部文字がおかしくなるのでオススメしない)。また Qiita のアドベントカレンダーは、HTML の要素の関係で必要の無い要素も混じってしまっていて、ちょっ

    アドベントカレンダーを電子書籍で読めるサービスを作った - 2nd life (移転しました)
    d4-1977
    d4-1977 2014/01/11
    なるほどなあ
  • Re: Podcast ep2: 2013/02/19 ゲスト: Kenn Ejima - 2nd life (移転しました)

    miyagawa さんの podcast が毎回面白い、Web っ子ならあーそれそうだよね〜的な相づちを頭の中でうちつつにやにやと聴いてしまう。しかしそれだけだとなんか言い足りない気分、なんか言いたい!と言うわけで、今回の江島さんとの podcast の話題に勝手に乗っかかってみます試み。 http://podcast.bulknews.net/post/43535683799/podcast-ep2-2013-02-19-kenn-ejima マシン環境のセットアップの話し 開発環境をどう整えどう保つか。これはエンジニアそこそこいる会社だと必ず考える話で。マシンセットアップの初期化コストを減らし、その後どう継続するか。 miyagawa さんが言う、うちの会社というのは弊社(クックパッド)のことで、エンジニアの開発環境 OS は MacMac の上にとりわけ仮想環境の Linux

    Re: Podcast ep2: 2013/02/19 ゲスト: Kenn Ejima - 2nd life (移転しました)
  • fluentd を使った大規模ウェブサービスのロギング - 2nd life (移転しました)

    先月行われた Fluentd meetup in Japanというイベントで発表してきました!一ヶ月前だけどエントリーにするの忘れていたので、今更ながらエントリーに。 fluentd を利用した大規模ウェブサービスのロギング View more presentations from hotchpotch fluentd、クックパッドではすでに100台以上のサーバに入れて各種ログを集約してますが当に便利で。あとログ以外も最近 fluentd 経由で投げ始めたので、その辺も近々エントリーにできたらなーと思います。

    fluentd を使った大規模ウェブサービスのロギング - 2nd life (移転しました)
    d4-1977
    d4-1977 2012/03/13
    アクセスログなどを管理できるらしい
  • さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)

    先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT

    さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)
    d4-1977
    d4-1977 2011/09/20
    高速化の話
  • ブックマークレットサービス・Hatena::Let を作りました - 2nd life (移転しました)

    ブックマークレットをかんたんに作成・公開できるラボサービス、その名も Hatena::Let を作りました。 http://let.hatelabo.jp/ 未だにブックマークレットを作るときには、アドレスバーに javascritp:... を打ち込んで実行したり、 Firebug で実行して試しつつも外部の bookmarklet 化サービスを使って文字列削ったり、IE対策のため500ちょい文字を超えると gist にファイルを置きつつもおきまりの var script = document.createElement('scrit');... で JS のローダー書いたり、とやりたいことは同じなのにめんどくさい手順を毎回行っていたました。 ここらへんの手順を毎回繰り返すことなくさくっと作って公開したい!と思い id:cho45 と半年ぐらい前の開発合宿*1で作って眠らせていたのを、ち

    ブックマークレットサービス・Hatena::Let を作りました - 2nd life (移転しました)
    d4-1977
    d4-1977 2011/04/12
    忘れてた
  • mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇

    ActionScript3 のソースをコンパイルするとき、現在は flex2 SDK に含まれる mxmlc を使うのが主流です。このコンパイラはAS3の言語では定義されてない、flex 独自のメタデータタグ([] で囲まれた syntax。[Bindable] など)を解釈し、自動でAS3ソースコードをジェネレートしてくれます。 このメタデータタグの利用方法をきちんと把握すると、だいぶコード記述が減り、シンプルかつ統一的なAS3(flex)プログラミングが可能になり、プログラミングの生産性が向上するであろう、有益な機能です。しかしながら、どういった挙動をするソースが生成されるのか、どのようなメタデータが記述可能なのか、というのがいまいち解っていないため、エントリーとして書き起こします。 [Bindable] メタデータを使うといったい何が嬉しいのでしょうか。その前に Flash でのプロ

    mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇
    d4-1977
    d4-1977 2008/09/11
    Bindableについて
  • やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life

    はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ruby の FuseFS を初めて使ってみましたが、結構簡単にファイルシステムをいじれて便利ですね。ちなみに文の改行周りがおかしくなるというアレな挙動をして、全然実用できませんが、AtomPub 使うとこんな事もできるよーという例として見ていただければ。 ソースコードは以下です。

    やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life
  • はてなハイク お絵描き機能の話 - 2nd life (移転しました)

    さてさて、日リリースされたはてなハイクですが、実は一昨日にはお絵描き機能がありませんでした。リリース日の前日の朝、id:jkondo がすっごくニコニコしながら(ニコニコしてるときは大抵なにかしてもらいたいときだ!騙されるな!)ねーねーと声をかけてきました。 「jkondo: シンプルなお絵描き機能があったら絶対面白いねん!実現出来ないかなぁ(ニコニコ)。」 突然!しかもリリースは明日ですよシャチョー!でもこんなシチュはエンジニアなら燃え(萌え)ますよね。Ruby など LL を弄ってる(今回はAS3だけど)と、出来るだけ短い期間でどれだけの物を作れるかというのは熱くなれる瞬間です。はてなは作ったら即座にサービスに反映してくれるので、自分の思想と合った物なら作るモチベーションもぐんぐん上がります。 というわけでミニマムな機能だけ最低限実装することにして、サーバサイドは Fotolife

    はてなハイク お絵描き機能の話 - 2nd life (移転しました)
  • JSProxy - AS3 から意識せずに JS を操作 - 川o・-・)<2nd life

    http://github.com/hotchpotch/as3rails2u/tree/master/src/com/rails2u/bridge/JSProxy.as AS3 から HTML の特定要素の内容を取得したり JS のメソッドを引数つけて呼び出したり、値をセットしたりがめんどくさくなってきたので作ってみました。 JSProxy.proxy もしくは new JSProxy() で JSProxy のインスタンスを作り、適当にプロパティを呼び出していって(この時点ではスタックにどういう処理を行うかを書いてるだけ)、最後JSを当に叩いて値を取得やメソッド呼び出しを行いたいときは、プロパティの頭に $ をつけます。 // アラート関数を実行 JSProxy.proxy.$alert('foo'); // body の文を取得 var body:String = JSProxy

    JSProxy - AS3 から意識せずに JS を操作 - 川o・-・)<2nd life
  • PATAPON(パタポン) はてなダイアリーキーワードミニゲーム - 川o・-・)<2nd life

    キーワードを弓で打って遊ぶ、「PATAPON(パタポン)」オリジナルミニゲームの提供開始について【12/16(日)まで】 - はてなダイアリー日記 12月10日(月)から12月16日(日)までキーワードページで PSP用ゲームソフトパタポンのミニゲームを遊ぶことが出来ます。まだ遊んだことが無い方は、是非遊んでみてください:D。 自分はこのミニゲームで、キーワードの位置情報を利用したミニゲームシステムの考案からゲーム内容、レイアウト等のデザインからサーバサイドの実装まで、ほぼ最初から最後までかなり自由に作らせて貰いました。 以前からはて☆すた OPなんかでやっていた Flash を背景透過にして、ブラウザ内部に全画面表示させ、レンダリングされてる HTML コンテンツ(位置や文字情報)などをサーバサイドを通さず、直接 Flash からアクセスしてなんか作ってみたいなー、と思っていたのでそれが

    PATAPON(パタポン) はてなダイアリーキーワードミニゲーム - 川o・-・)<2nd life
    d4-1977
    d4-1977 2007/12/12
    PATAPONについて。FlashとJavaScriptとの連携について
  • 川o・-・)<2nd life - 異なる vim プロセスで yank-paste するプラグイン yanktmp.vim

    http://www.vim.org/scripts/script.php?script_id=1598 自分のプログラミング環境はもっぱら screen + vim なので、ある vim と別の screen で開いた vim と yank/paste をしたいときは screen の copy 機能を使ってやりとりしてました。この方法でも問題無いといえば無いのですが、vim の visual モードから yank できた方が絶対便利ですし、いちいち screen の機能を使うのではなく vim だけで完結させたいものです。 というわけで yank したときに tmp ファイルに内容を書き出し、paste するときにその tmp ファイルから paste することで、別プロセスの vim 同士でも簡単に yank/paste ができるプラグイン、yanktmp.vim を作ってみました。

    川o・-・)<2nd life - 異なる vim プロセスで yank-paste するプラグイン yanktmp.vim
    d4-1977
    d4-1977 2007/09/11
  • YAMLの文法 - 2nd life (移転しました)

    YAMLはお手軽にかけるけど、文法エラーになることが多い。 -: var -:var -: var -foo:var -baz: var foo:var とか実は6行目だけがエラー。んなのぱっと見わからんて。 つーことでvimでお手軽にyamlの文法チェックする方法を。ただrubyyamlパーサ通してエラーがあるかチェックしてるだけだけど。.vimrcに autocmd FileType yaml nmap ,e :execute '!ruby -ryaml -e "begin;YAML::load(open('."'"."%"."'".","."'"."r"."'".').read);rescue ArgumentError=>e;puts e;end"' とか記述すれば、yamlなファイル編集中に,eで文法チェックできる。execute文が変態なのはrubyが悪いんじゃなくてvim

    YAMLの文法 - 2nd life (移転しました)
  • Rails の日本語化には ActiveHeart を使わない方がいいヨ - 2nd life (移転しました)

    http://d.hatena.ne.jp/moro/20070615/1181876061 先日の RubyKaigi で、id:moro さんに「新人に Rails でアプリを試しに作ってみて、とお願いすると ActiveHeart 使って日語化しちゃうんですよ。困ります!訴えてやる!!!*1」と云われました。 現在日語化/国際化をきちんと行いたいなら Ruby-GetText を使うべき*2ですし、モバイル対応なら jpmobile を使うべきです。 というわけで、ActiveHeart の svn のコードに obsolete だから Ruby-GetText もしくは jpmobile 使ってねというメッセージを表示するようにしてコミットしました。 *1:全然違う言い回しだったけど *2:5秒でとりあえず日語表示したい時は ActiveHeart のほうが簡単なのですが、き

    Rails の日本語化には ActiveHeart を使わない方がいいヨ - 2nd life (移転しました)
    d4-1977
    d4-1977 2007/06/17
    日本語にはRuby-GetTextで!
  • プログラミングの開発環境 21:18

    http://d.hatena.ne.jp/naoya/20050812/1123858672 俺はメインで書く言語はrubyphpで、クライアントはwin上で開発してるけど、開発環境はputtyでログインしてLinuxだなぁ。dotfileはsubversionで管理していてどこでも同期。職場でもgorou.zapto.orgでもrails2u.comでも自宅のcoLinuxでもdotfileを同期してるため環境差が発生せずシームレスに開発。アプリケーションのバージョン管理はsubversionで。 エディタはvim7aa。gvimはscreen上で使えないので使ってない。んでzshとvimとscreenが無いととてもじゃないけどプログラミングする気が起きないのでwindowsじゃ無理。cygwinはめんどくさくて無理。debian万歳。自宅にはwinマシン一台しかないのでcoLinu

    プログラミングの開発環境 21:18
  • vim でのオススメ plugin

    最近 .vimrcを貼り付けるのが流行ってるみたいなので自分も.vimrcを貼り付け、るわけでなくオススメの plugin を紹介してみようかと。 Align.vim http://www.vim.org/scripts/script.php?script_id=294 痒いところに手が届く整形ぷらぎん。 options = { width => 100, height => 50, background => nil, } なソースを範囲選択して :'<,'>Align => すると options = { width => 100, height => 50, background => nil, } のように整形してくれます。 Allargs.vim すべてのバッファでコマンドを実行。例えば開いてるバッファのすべての文字列を置換したければ、 :Allargs %s/perl/ruby

    vim でのオススメ plugin
    d4-1977
    d4-1977 2007/04/26
    おすすめプラグイン
  • ~/.vim/filetype.vim - 2nd life (移転しました)

    ここにfiletypeの設定なんかを記述するみたい。とりあえず augroup filetypedetect au! BufRead,BufNewFile *.rhtml setfiletype eruby au! BufRead,BufNewFile *.html setfiletype smarty augroup END を追加してみたり。syntax/smarty.vimを見てみたけど上の方でsyntax/html.vim呼んでるんで、特に問題ないしhtmlはft=smartyにしちゃった。rhtmlの方はsyntax/rhtml.vimでつくってくれりゃーいいのに、とか思った。

    ~/.vim/filetype.vim - 2nd life (移転しました)
    d4-1977
    d4-1977 2007/04/26
  • 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
  • 川o・-・)<2nd life - Developer Enviroments Conference の発表資料

    9/8 に開かれた DEcon で windows enviroments and vim という内容で発表してきました。主に自分が使ってる windows の開発に便利なツールと、vim についてプレゼンしてきました。時間大幅に押してしまいましてスイマセン…。 また、スピーカと参加者のみなさん、お疲れ様でした。他の方の開発環境やポリシーが聴けて大変参考になりました。あとカンジマン(id:tnx)には毎度の事ながら様々な準備お疲れ様でした。 自分のプレゼンには自作のはてな記法つかったプレゼンツールを使ったのですが、よくよく考えるとそれをエントリーに貼り付ければいいじゃん!ということに気づいたので、以下に発表資料を貼り付けておきます。 windows environments and vim secondlife 発表内容 windows での環境 どんなツールがあると便利か vim vim

    川o・-・)<2nd life - Developer Enviroments Conference の発表資料
  • 川o・-・)<2nd life - prototype.js 1.5 からの新機能 Template の使い方

    JavaScript での変数を使った文字列の作成は何かとめんどくさいですね。prototype.js では 1.5_pre0 から Template という簡易テンプレートとして使えるクラスが加わりました。相変わらずドキュメントはソースと test 嫁なので簡単な使い方を紹介します。 まずは Template となる文字列を new Template で作ります。Template のリテラルは #{}です*1 。 var t = new Template('#{foo}, #{bar}!');次に作成した Template インスタンスの evaluate 関数を呼び出し、引数として Hash(Object) を渡します。 t.evaluate({ foo: 'hello', bar: 'world' }); // hello, world!もしテンプレートを使い回さず、一度限りの文字列

    川o・-・)<2nd life - prototype.js 1.5 からの新機能 Template の使い方
  • xrea + rails + mysql + typo

    http://gorou.s62.xrea.com/typo/ railsとtypo(railsで書かれてるweblogシステム)がxrea上であっさり動いて拍子抜け*1。スクリプト言語のフレームワークがxreaなどの広く使われてるサーバで簡単に設置できる意義は大きいよ。なんか作って公開するとき、シェルやらroot権があるサーバで動かせる人なんて一握りだろうしなー。 んでxreaでtypo(というかrailsアプリ全般)を動かす方法メモ。まず同梱の.htaccessがdispatch.fcgi用なのでdispatch.cgiへと変更。dispatch.cgiの1行目のパスを実際のrubyパスに変更(#!/usr/bin/env rubyでいいような気がする)。次にdatabase.ymlの中身をxreaのmysqlのユーザ、パスワード、DB名に変更。RAILS_ROOT/vender以下に

    xrea + rails + mysql + typo
    d4-1977
    d4-1977 2005/06/22
    やっぱりRubyについてはうらやましく思ったり。
  • 1