タグ

ブックマーク / hakobera.hatenablog.com (15)

  • Tuppari - WebSocket on Your Cloud - - hakobera's blog

    Tuppari とは 東京Node学園 6時限目で発表した Node.js で作られた Pusher クローンです。 簡単に言うと WebSocket を利用した大規模 Broadcast に特化したサービスです。 インフラとしては Amazon Web Services (以降、AWS)上で動かすことに最適化されていますが、AWS以外でも動かすことは可能です。つまり、クラウド上に自分自身の Pusher を構築することが可能になります。 現時点では Pusher の機能には追いついていませんが、今後も鋭意開発を進めていくので、是非使ってみてください。 あと、WebSocket を使うので、IE9 以下では動きません。 8/15 追記: v0.2.0 から IE もサポートしました。 詳細は以下の記事を参照して下さい。 Tuppari コミュニティ始めました & IE に対応しました -

    Tuppari - WebSocket on Your Cloud - - hakobera's blog
    vvakame
    vvakame 2012/10/22
  • 簡単にレーダーチャートが描けるライブラリ Raphael-Radar - hakobera's blog

    最近は Google Chart Tools や Highcharts のように綺麗なグラフがかけるライブラリが増えてきましたが、レーダーチャートをサポートしているものがあまりなく、あっても用途にマッチしなかったので jQuery と Raphael を使って、レーダーチャートが描けるライブラリを作ってみました。 作ってみましたといっても、正確には fork して改造になります。 ソース: hakobera/raphael-radar · GitHub デモ: Raphaël Radar Chart Plugin Sample サンプル こんな感じのチャートが書けます。 ソースは以下のような感じです。 var objects = [ { title: "Real Madrid C.F.", offense: 80, defense: 90, technique: 70, strategy:

    簡単にレーダーチャートが描けるライブラリ Raphael-Radar - hakobera's blog
    vvakame
    vvakame 2012/10/22
  • Tuppari の Java クライアントを作った - hakobera's blog

    Tuppari - WebSocket on Your Cloud - - Scalaとlift のはずだった ・・・ 前回、Node.js で構築した Tuppari (コンセプトは Pusher クローン)を紹介しましたが、実は API 仕様が公開されていて、Node.js 以外の言語/環境でもクライアントを作ることができます。 Tuppari API Reference で、これにもとづいて Java クライアントを作りました。他の言語でも書けると思うので、興味がある方は是非挑戦してみてください。そして、できたら教えて下さい。 tuppari-java Tuppari 公開記念ハッカソン 興味があればどうぞー。Node.js はちょっとわからないけど、Java なら任せろー、な方も大歓迎です。ご希望があれば、Tuppari の使い方、各自の環境へのインストール方法などサポートします。

    Tuppari の Java クライアントを作った - hakobera's blog
    vvakame
    vvakame 2012/07/24
  • Play の evolutions を Heroku で使おうとしてハマった - hakobera's blog

    Database-Driven Web Apps with Play! | Heroku Dev Center (we don’t recommend setting jpa.ddl to update for a real world production app. Use Play!’s database evolutions instead.) Heroku の Play のチュートリアル記事に「jpa.ddl=update が許されるのは開発環境までだよねー。番環境では Play の evolutions を使ってね (・ω<) テヘペロ」(意訳)って書いてあったので、Heroku の Shared Database (PostgreSQL) で試してみたら色々とハマったので原因と解決方法を書いていこうと思います。 お勧めするならやり方くらい書いておいて欲しい・・・ 結論 先に

    Play の evolutions を Heroku で使おうとしてハマった - hakobera's blog
  • Heroku で package.json で指定した任意のバージョンの Node.js を 動かす方法 - hakobera's blog

    2012/8/7 追記 Heroku が公式で package.json での Node.js/NPM のバージョン指定に対応したので、現在は以下の方法は必要ありません。普通に package.json の engines に利用したいバージョンを書けばOKです。 以下の情報は古いです。 日、開催された Heroku JP Meetup #3 で話してきた内容です。 内容としては去年の12月の東京Node学園3時限目のLTの進化版で、package.json の engines の指定を変えることで、Node.js のバージョンを切り替えられる公式の versions ブランチの利用法について解説しています。 Run Multi Version of Node.js on Heroku View more presentations from Kazuyuki Honda heroku/

    Heroku で package.json で指定した任意のバージョンの Node.js を 動かす方法 - hakobera's blog
  • Play Framework で複数データベースに接続する方法 - hakobera's blog

    Play Framework 1.2.4 では、標準の機能で複数データベースに接続することができません。 ただし、希望としては上がっていて、実は 1.3 では実装される予定です。 #706 Multiple database/JPA support - Play framework 1.0 (now in maintenance mode) - play しかし、現在のプロジェクトでどうしても複数のデータベースに接続する必要がある要件があったので、1.3 で実装される予定の機能をバックポートして使っています。 メモがわりにその方法を書いておきます。 注意点 データソースを複数管理するところまでしかやっていません なぜなら Doma を使っていて、JPA を使っていないから JPA も上記 branch では対応しているので、できるはず(未検証) 706 チケットの修正ブランチをみつける m

    Play Framework で複数データベースに接続する方法 - hakobera's blog
  • Node.js 入門者向けチュートリアル テストもあるよ - hakobera's blog

    先月、学生向けの無料講義を開催している TechHUB.jp で Node.js の講義をやりました。 そこで利用した講義資料(正確には補足資料)を、最新の Express と mocha でも動くように修正したので、せっかくなのでブログでも周知しておきます。 Node.js で作るリアルタイム投票アプリ 実際はよくあるリアルタイムに結果が反映されるアンケートシステムなのですが、そのまま Heroku にデプロイできて、実際のアプリケーションっぽくて、テストまで網羅したチュートリアルがなかったので、書いてみました。 Node.js 入門する人の参考になれば良いなと思います。 以下のようなアンケートが作れます。 Node.js 入門について | rtvote

    Node.js 入門者向けチュートリアル テストもあるよ - hakobera's blog
    vvakame
    vvakame 2012/01/20
  • さくらのクラウドで Node.js v0.6 を動かすメモ - hakobera's blog

    サーバの作成とSSH公開鍵の登録は済んでいるものとする。 OS は Ubuntu 10.04 LTS 64bit (随時追記予定) 初期設定 ログイン 普通の Ubuntu と違って root ユーザでログインする点に注意 なんとなく気持ち悪いので、一般ユーザを作成。sudo 権限を設定。SSH公開鍵の設定。 $ useradd hakobera $ gpasswd -a hakobera admin $ mkdir /home/hakobera/.ssh $ cp ~/.ssh/authorized_keys /home/hakobera/.ssh/ $ chown -R hakobera:hakobera /home/hakobera/.sshSSH 鍵は新規に作ってもOK。 root でログインしたまま、別のコンソールで新規作成ユーザでログインできることを確認 ssh の root

    さくらのクラウドで Node.js v0.6 を動かすメモ - hakobera's blog
    vvakame
    vvakame 2012/01/18
  • Node.js と Titanium で SlideShare リモコンを作ってみた - hakobera's blog

    2012/1/11 に開催した 「Node塾 講義その5 Node.js × Titanium」の発表用に SlideConcert というアプリを作って、実際にそれを利用して発表してきました。 個人的にLTをする時に便利だなと思うを機能を実装してみました。 スライド発表時は結構歩きまわるたちなのでスライドを操作できるリモコンが欲しい 発表前に「今日のスライドです」と URL をハッシュタグ付きでつぶやくことが多いのでこれを簡単にしたい スライドの内容を手元で確認したい スライドの進行を見ている人で共有したい(進行も含めてスライド共有したい) 聞いている人の感想をリアルタイムで知りたい 言葉で説明するのも難しいので、実際の動作は以下の動画でご確認ください。 サーバは Node.js 、クライアントは Titanium という組み合わせで、構想1時間、実装がアイコンの作成なども含めて年末年始

    Node.js と Titanium で SlideShare リモコンを作ってみた - hakobera's blog
    vvakame
    vvakame 2012/01/13
    ナチュラル便利そう
  • mocha と Jenkins で Node.js の CI 環境を構築する - hakobera's blog

    最近、mocha をつかってテストを書くのが楽しくなってきました。でも、テストの数が増えてくるとローカルでの実行だけでなく、CI 環境が欲しくなりますよね。github にあげられるようなプロジェクトだったら、Travis CI も良いですが、実際に仕事で使うとなると、既存の Jenkins と組み合わせてやる必要ができてきたので、実際にやってみました。 基的な手順は以下の通りです。 mocha でテスト結果を TAP 形式でファイルに出力する 出力したファイルを Jenkins の TAP Plugin に読み込ませる 簡単ですね。 実際にやってみた というわけで、以下のような最小構成で試してみます。 myapp |- lib | |- calc.js | |- test | |- calc.test.js | |- package.jsonここには書いていませんが、実際は git

    mocha と Jenkins で Node.js の CI 環境を構築する - hakobera's blog
  • Node Version Manager for Windows を作ってみた - hakobera's blog

    これは JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) の1日目の記事です。 nvmw (Node Version Manager for Windows) とは Mac OS や Linux など Unix 系の OS で利用できる nvm (Node Version Manager) の Windows 版とするべく私 @hakobera が開発している Node.js + npm のインストール用ツールです。Node.js v0.6 以降のインストールをすることができます。 ソースコードは github で公開しています。 hakobera/nvmw · GitHub 使い方 事前準備 git, python のインストールし、コマンドプロンプトから実行できるように環境変数 PATH を設定しておきます。 git msy

    Node Version Manager for Windows を作ってみた - hakobera's blog
    vvakame
    vvakame 2011/12/01
  • Connect ソースコードリーディング(6) - 組込み middleware 紹介 - hakobera's blog

    第6回目は、標準でバンドルされている組込み middleware の一挙に紹介します。API の詳細は公式サイトやソースコードを参照してもらうとして、ここでは概要レベルの詳細にします。 昨日紹介した TJ の記事に基づいて、フィルタとプロバイダの2つに分類してみました。 フィルタ系 basicAuth Basic 認証機能を提供します。 bodyParser POST データをパースして、req.body に設定します。 compiler SASS, LESS を CSS に、CoffeeScript を JavaScript にコンパイルします。元データを変更すると再コンパイルされます。 cookieParser Cookie をパースして、req.cookies に設定します。 csrf CSRF 攻撃を防ぐために _csrf という名前のトークンを生成して、セッションに設定します。リ

    Connect ソースコードリーディング(6) - 組込み middleware 紹介 - hakobera's blog
  • Connect ソースコードリーディング(4) - bodyParser - hakobera's blog

    bodyParser middleware 第4回目は Connect の組込み middleware である bodyParser を読んでいきたいと思います。 Node の http.ServerRequest は Java の HttpServletRequest などよりもかなりローレベルです。特に POST データはそのまま送信されてくるだけなので、プログラムで利用するためにはパースしてオブジェクト化する必要があります。そのパース処理をして、req.body プロパティに結果を格納してくれるのが、bodyParser です。Express でも bodyParser の利用を前提に設計されています。 connect/lib/middleware/bodyParser.js at 1.x · senchalabs/connect · GitHub bodyParser が依存してい

    Connect ソースコードリーディング(4) - bodyParser - hakobera's blog
  • Connect ソースコードリーディング(2) - 基本処理フロー - hakobera's blog

    はじめに 今回は、以下の Connect を使ったコードが内部的にどのように初期化され、リクエストの処理がどのように行われていくのかを解説します。 var connect = require('connect'); var server = connect.createServer( connect.logger(), connect.static(__dirname + '/public') ); server.listen(3000); 初期化処理フロー Connect の初期化処理フローは以下のようになっています。 require('connect') で connect 各種 export 処理 createServer メソッドで HTTPServer のインスタンスを生成 HTTPServer のコンストラクタで、middleware とリクエストハンドラを登録 server.

    Connect ソースコードリーディング(2) - 基本処理フロー - hakobera's blog
  • Heroku で動く Node アプリを作る 壱 - hakobera's blog

    経緯 Node.js Knockout にエントリーした。 Node.js Knockout で使えるサーバは Joyent か Heroku そういえば Heroku で動く Node アプリ作ったことない 練習のためになんか作るか <-- いまここ 長くなったので2回に分けて書くことにします。 今回は開発環境の構築と Express の雛形のデプロイまでです。 開発ガイド まずは以下のガイドをなぞっていきます。(一部、順番は前後します) Getting Started with Node.js on Heroku | Heroku Dev Center 事前準備 Mac OS X or Linux Node.js v0.4.7 + NPM git ruby Node のインストールは nvm を使うのが簡単です。他は適当に検索してください。 参考: Node.jsとnvmを初めてインス

    Heroku で動く Node アプリを作る 壱 - hakobera's blog
  • 1