タグ

ブックマーク / kray.jp (13)

  • DocBaseの同時編集機能を実現しているアルゴリズム – KRAY Inc.

    はじめに 皆さんはGoogleドキュメントやHackMDを使ったことはあるでしょうか。これらのツールは「ネット越しに同時に複数の人で1つのドキュメントを編集できる」という特徴を持っています。お互いの編集がリアルタイムに反映されるので、相手が何を書くのかを意識することなく、簡単にドキュメントを複数人で編集することができます。これを実現するためには、同時編集に参加しているユーザ全員の編集内容がネットワークの延滞に影響されることなく、それぞれの編集内容をうまい具合にマージして反映してくれるような賢いアルゴリズムが必要になります。今回はこのアルゴリズムに関して書きます。 編集内容のマージとは 編集内容をうまい具合にマージしなければいけないケースを考えてみます。 AさんとBさんが次のドキュメントを同時編集するとします。最初は、お互いブラウザ上では次のように見えています。当然、この状態ではお互いに見え

    DocBaseの同時編集機能を実現しているアルゴリズム – KRAY Inc.
  • [iPhone] JavaScriptを使ってUIのデバッグを自動化してみた

    はじめに そろそろ今年も終わりそうで、絶望してるみなさんこんにちは。「プログラマが知るべきじゃない97のこと」って書籍が出たら読みたいダニーです。 iPhone開発でユーザーインターフェースをテストする時、いちいち手作業でやるのは大変ですね。 今回はUI Automationでユーザーが行う操作を自動的に動かすのを試してみたので紹介したいと思います。 実例 実例としてWall CalendarというiPhoneアプリで以下の操作をJavaScriptで自動化したいと思います。 ユーザー名を入力する。 パスワードを入力する。 カレンダーリストの項目を押す。 カレンダーリストに表示された2番目のカレンダーをオンにする。 カレンダーリストに表示された3番目のカレンダーをオンにする。 カレンダーリストの設定ボタンを押す。 次へボタンを押す。 画面 ユーザー名とアカウントの入力画面がこのようになって

    [iPhone] JavaScriptを使ってUIのデバッグを自動化してみた
  • 軽量高速Webサーバのnginxで静的コンテンツ配信とキャッシュコントロール

    nginxとは? nginxロシアで開発されている軽量で高速なWebサーバです。 現在シェアは 7% 近くあるようです。もちろんApacheに比べれば少ないですが、Apache 55%、IIS 25%, nginx 7%で3番目に使われているWebサーバになります。 昔は、Pound+Lighttpd+Apacheの組み合わせをよく使っていましたが、ここ数年はnginx+Apacheとかになりました。 主に、静的コンテンツをnginxが受け持ち、PHPなどの動的コンテンツはApacheに渡す形になります。Railsを使う場合は、nginx+Unicornの組み合わせが多いです。 いまさらな感じもありますが、インフラ周りの見直しも含めて紹介したいと思います。 静的コンテンツをnginxに任せる nginx+Apacheの場合の設定は次のようになります。(nginxがport 80、Apac

    軽量高速Webサーバのnginxで静的コンテンツ配信とキャッシュコントロール
  • Vagrantとchef-soloでお気楽環境構築

    Engine Yardさんの勉強会に行ってきた 皆さんこんにちは。 2/22に開催されたChefの勉強会に行ってきました。 事務所の引っ越しなどでバタバタしていたので時間が経ってしまいましたが、参加して分かったことを元に、エントリーではvagrantの仮想環境をchef-soloで設定できるようにしてみたいと思います。 というかはてブのトップがこのネタばかりで、なんというか旬を逃した感が拭えないんですけど…、よろしくおつきあいください。 どうしてchefとvagrant? 以前からちょいちょい動作確認環境のをvagrantで用意していました。で、毎回環境作るのがめんどいぞと。頻度がそんなになかったんで、ある意味我慢してました。一方で、社内の環境を chef-solo 使って環境構築することはあったんですけど、管理する対象はvagrantで構築したのとは別の環境だったり。。。ちょっとちぐは

    Vagrantとchef-soloでお気楽環境構築
  • JavaScriptのみ!Meteorで作る簡単リアルタイムWebアプリ

    こんにちは。 この春に無事大学を卒業したので、KRAYアルバイトから社員に転職しました、浅海です。 最近、JavascriptのリアルタイムWebアプリケーションフレームワークのMeteorで遊びました。 リアルタイムWebアプリケーションを簡単に作ることができますので「最近流行りのリアルタイムWeb、一度やってみたいなー、でも難しそうだなー」と思っている方におすすめです! この記事ではグーグルマップ上で会話できるリアルタイムチャットの作り方を解説します。 完成品はこちら 目次 注意事項 Meteorを始める リアルタイムチャットの作成 Googleマップとの連携 作ったアプリケーションを公開する 宣伝 注意事項 ・この記事を執筆時点のMeteorのバージョンは0.42です。 ・「コマンド一発でインストール!!」とか書きましたが、これは自分が使っているMacでの話です。 windowsのc

    JavaScriptのみ!Meteorで作る簡単リアルタイムWebアプリ
    yuiseki
    yuiseki 2012/10/19
  • アジャイルへの道 第一章 チーム開発の苦悩と模索編

    チーム開発の苦悩と模索 クレイでは、ずっと開発方法や情報共有をいろいろと模索してきました。 以前ブログで紹介した Basecamp や Backpack の紹介も、その一つです。 小さなチームを加速させる! Basecampで簡単プロジェクト管理 Backpackでタスク管理から情報共有まで 最近、弊社ではチーム開発というものが、うまく機能するようになってきています。 @irohiroki を筆頭に全員でアジャイル開発を進めてきていることが確実に実になってきていると思います。 少しでも参考になればと思い、今までの苦悩と模索を「アジャイルへの道 第一章」として綴りたいと思います。ちなみに第十三章まではありませんし、第二章以降は @irohiroki に任せたいと思います。 1年前までの開発 基的に受託での開発が多いため、次のようなフローになっていました。 1年前までの開発フロー 打合せの内

    アジャイルへの道 第一章 チーム開発の苦悩と模索編
    yuiseki
    yuiseki 2012/03/13
  • JavaScript 3DレンダリングエンジンのThree.jsを試す

    こんにちは。 KRAYアルバイトの浅海です。 今回は、最近ちまたで噂のThree.jsで遊んでみようとおもいます。 http://github.com/mrdoob/three.js webgl対応のブラウザで見ている方は、右上に3Dのボックスが表示されていると思います。 Three.jsを使えば、このようなことを簡単にJavascriptで実現できるのです。 半信半疑で使ってみたところ、たしかにThree.jsでは、3D特有の行列計算や数学的思考をせずとも、3Dを表示、操作することができました。 「ちょっとのプログラムで3Dができる。」 この面白さを皆さんに届けたいです。 目次 立方体を表示する 光をあてる テスクチャを貼り付ける マウスで回転させる マウスで移動させる クリック判定する Three.js web上には、HTML5のcanvasを利用した様々なサンプルページやアプリケーシ

    JavaScript 3DレンダリングエンジンのThree.jsを試す
    yuiseki
    yuiseki 2012/02/04
  • iPhoneアプリ開発におけるデバッグのTIPS

    2011-2-28 NSLogの出力を分りやすくするを修正しました。 新型MacBookAirをケーキ入刀用に買おうとしてるみなさんこんにちは。ダニーです。 iPhoneアプリ開発をしてるとメモリ周りで落ちることがあってデバッグするのが大変ですね, 今回はデバッグについて紹介したいと思います。 CGRectの中身を表示する CGRect rect = CGRectMake(13, 30, 100, 200); NSLog(@"%f %f %f %f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); NSStringFromCGRectを使うと簡潔になります。 CGRect rect = CGRectMake(13, 30, 100, 200); NSLog(@"%@", NSStringFromCGRec

    iPhoneアプリ開発におけるデバッグのTIPS
  • Pusherでお手軽WebSocket - iPhoneから加速度をリアルタイム送信

    はじめに タイガーマスクが貢いでくれるのを待っている皆さんこんばんは。 前振り考えるのが面倒なので結論から書くと、今日はWebSocketについて扱おうと思います。iPhoneを使って↓こんなサンプルを作ってみました。 Safari上のJavaScriptと、WebSocketをWebサービスとして提供しているPusherを利用して、サーバサイドの言語を使わずに実装しています。 WebSocketってなぁに? httpおさらい Webの通信に使われる皆さんお馴染みのhttpは、クライアント(ブラウザとかね)とサーバが常に「問い合わせ(リクエスト)と返答(レスポンス)」のペアでやりとりをおこないます。 クライアント(FirefoxやChromeなど): 「情報ください」 サーバ(Apacheやnginxなど): 「はい、どうぞ」 このシンプルな仕組みがhttpの強みであり、URLと共にここま

    Pusherでお手軽WebSocket - iPhoneから加速度をリアルタイム送信
    yuiseki
    yuiseki 2011/01/21
    手軽にWebSocket使えるWebサービス
  • 近頃話題の Titanium Mobile でラクラク iOS アプリ開発してみた

    最近 FF11 が楽しくて仕方がないもりやまです。 日頃から FINAL FANTASY XI Wiki や eLeMeN – FF11 等を参考にしているのですが、そんな中に FF11用語辞典 ~ ウィンダスの仲間たち版があります。 移動中に iPhone で眺めることが時々あるのですが、PC 用のビューそのままなので拡大しないと読めなくて使いにくいなぁと思っていました。 そこで、最近各所で話題の Titanium Mobile を使って、iPhone で読みやすくするためのアプリを作ってみることにしました。 Titanium Mobile とは、JavaScript を使って iOS / Android のネイティブアプリを開発するためのミドルウェアです。BlackBerry にも対応予定のようです。 titanium-mobile-doc-jaプロジェクトにとてもよくできた日語ドキ

    近頃話題の Titanium Mobile でラクラク iOS アプリ開発してみた
    yuiseki
    yuiseki 2010/12/29
  • Rails3でどう書けばいいかわからない時、参考になる7つのURL

    はじめに Rails3.0.0がリリースされて、2ヶ月(2010年10月末現在)。皆さんRails3ライフを満喫していますか? Rails3がはじめてという方、マニュアルやリファレンス探しに苦労されていませんか? Rails3でコードを書いていると、どうかけばいいのかな?ということもしばしばあって、自分なりに参照するサイトなどがまとまってきたので、今日は自分が参照する順番に、URLを晒していきます。少しでも参考になれば幸いです。 もくじ Rails Searchable API Doc Google – Search by date Rails 3 Ropes Course Railscasts – rails-3.0 episodes Ruby on Rails Guides Github – Search: rails3 example O’REILLY – Rails3 in a N

    Rails3でどう書けばいいかわからない時、参考になる7つのURL
  • [Rails]ビューキャッシュにTokyoTyrantを使ってHTMLを高速に表示する

    はじめに 今回はRailsをTokyoTyrantでビューキャッシュする方法についてです。 Railsのキャッシュ機能には、オンメモリ、ファイル、drb、Memcacheから好きなストレージを選んで利用することができます。高速で永続性可能なKeyValueストアのTokyoTyrantをプロジェクトで採用することも多いので、ビューキャッシュにTokyoTyrantを使えないか試してみました。 TokyoTyrant http://fallabs.com/tokyotyrant/ TokyoTyrantのインストール TokyoTyrantがまだインストールされていない場合は、各環境に合った方法でインストールしてください。 Macの場合 % sudo port install tokyotyrant or … % brew install tokyotyrant CentOSの場合 % su

    [Rails]ビューキャッシュにTokyoTyrantを使ってHTMLを高速に表示する
    yuiseki
    yuiseki 2010/08/21
  • 1時間でツイッターサービスを作ろう!

    はじめに どうもKRAYの芳賀です。 今日はツイッターサービスをスピーディーかつ無料で作るお話です。 僕は日頃趣味でツイッターサービスを作っているのですが、アイデアを着想したその日のうちにプロトタイプを作って動かすことができるくらいにノウハウが溜まってきました。 仕事が終わってからのプライベートな時間だけでも、1週間から1か月もあれば1つサービスがリリースできる感覚がつかめたので、必要最低限の機能を備えたサービスを短時間で作れないだろうか?と時間を計測しつつ実践してみたところ、なんと1時間で完成できたので、その手順を紹介します。 開発の流れ まずは開発の流れを説明します。 ツイッターアカウントの用意 まずツイッターのアカウントが必要になるので、まだ持っていなければ取得しましょう。サービス用に改めて取得してもいいですね。 サーバの用意 作成したウェブアプリを設置するサーバを準備します。PHP

    1時間でツイッターサービスを作ろう!
    yuiseki
    yuiseki 2010/07/23
  • 1