mochizblog

2012-01-20 11:37:59 +0900

QNYP(合同会社キュニップ)をスタートさせました。

@junyaさんに声かけてもらって、QNYP(合同会社キュニップ)を2012年1月11日にスタートさせました。
コーポレートサイトは http://about.qnyp.com/ です。
どんな会社なのか興味のある方はぜひこちらを御覧ください。

qnyp logo

まだオフィスもないスモールスタートですが、Github, heroku, Campfire, Trello, Rails, CoffeeScript など、「これで開発できたら幸せになれるのに」を目一杯盛り込んで開発しています。37signalsgithubみたいなイケてる会社になれたら、それはとっても嬉しいなって。

設立時に、LLCの先輩であるフィヨルドさん、つくる社さん、モバリーンさんに色々教えていただきました。本当にありがとうございます。もっとLLC仲間が増えるといいのに。

IMG_2490

大好きなアニメキャラとアニソンに包まれて仕事をする幸せ…

2012-01-16 00:09:39 +0900

Titanium MobileのCommonJSサンプルをCoffeeScript化してgithubにアップしました

coffeescript-logo

こんにちは、CoffeeScript楽しいですね。あさくらです。
CoffeeScriptでのコーディングが気持ちよくて、最近はTitanium Mobileもこっちで書くようにしています。

requireしよう

Titanium WeekでCommonJS関連情報が発表されました。「Ti.includeは非推奨になるので、require使ってね」的な話があったので、みなさんrequire使うようにしましょう。

CommonJSサンプルアプリをCoffeeScript化

せっかくなので、公開されているTodo, RSS, MappingサンプルアプリをCoffeeScript化してみました。どんなふうに変わるのか興味ある人に見てもらえたら、それはとっても嬉しいなって。

元コード

※CoffeeScriptのコードは、@akahigeさんのブログを参考に、coffeeディレクトリに配置しています。

参考URL

ブログ作成にあたり、下記の記事を参考にさせて頂きました。いつもありがとうございます

2011-12-08 00:38:37 +0900

jQuery Mobileで背景画像を設定する

今日も小ネタでお茶を濁す感じで

jquery mobileのサイト全体に背景画像を設定するのは簡単です。 .us-pageにbackgroundを設定するだけ。

# @your.css
.ui-page {
    background: transparent url(background.gif);
}

HTMLに組み込んでみましょう

<!DOCTYPE html>
<html>
<head>
    <title>Twitter</title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>
    <style type="text/css">
    .ui-page {
        background: transparent url(ooo_full_combo.png);
    }
    </style>
</head>
<body> 
<div data-role="page" id="page1">
    <div data-role="header">
        <h1>OOO Full Combo</h1>
    </div><!-- /header -->
    <div data-role="content">
    </div><!-- /content -->
</div><!-- /page -->
</body>
</html>

ooo_full_combo

やったーかっこいい背景にできたよー
おわり。

参考URL

2011-12-07 02:25:01 +0900

Active Record の特別な列名に気をつけよう

RailsによるアジャイルWebアプリケーション開発 第4版をパラパラめくっていて、
以前Rails3でのシステムリプレース的なことをやった時に、既存の列名にtypeがあったために結構な時間ハマったことを思い出したので、備忘録的に。

Active Record の特別な列名

下記のようなものがあります、created_onとか知らなかったわー

created_at, created_on, updated_at, updated_on
lock_version
type
id
xxx_id
xxx_count

それぞれの解説

  • created_at, created_on, updated_at, updated_on
    • 行の作成または最後の更新により、タイムスタンプで自動的に更新される。
      もとになるデータベースの列は、 日付、日時、あるいは文字列を受け入れるものでなければならない。
      慣習的に、日付列には接尾辞_onを、時刻を含む列には接尾辞_atを使う。
  • lock_version
    • Railsが行番号バージョンを追跡し、テーブルにlock_versionが含まれている場合は楽観的ロックを実行する。
  • type
    • Active Recordはサブクラス化できる。その場合、全てのサブクラスの全ての属性が同じテーブルに保持される。
      type属性は、行の型を把握するために使用する列の命名に使われる。
  • id
    • テーブルの主キー列にデフォルトで付けられる名前
  • xxx_id
    • xxxの複数形の名前を持つテーブルへの外部キー参照に対するデフォルトの名前。
  • xxx_count
    • 子テーブルxxxのカウンタキャッシュを保持する。

なるほどー

参考資料

2011-12-05 23:55:00 +0900

Titanium Mobileのディレクトリ構成を考えてみる

app.jsにもりっとコードを書いてしまうとだいぶカオスなことになるので、ディレクトリ構成やコーディング規約を検討中です。
Tweetaniumを参考に、下記のようなディレクトリ構成を試してみています。

app.js                   # エントリーポイント、[application_name].jsのincludeとtabGroupのオープンを担当
[application_name]/
  [application_name].js  # エントリーポイント、共通メソッドの定義やエントリーポイントのincludeを担当
  config/config.js       # リモートURLなど、アプリ固有の設定を保存
  model/
    model.js             # エントリーポイント、各modelをincludeを担当
    User.js              # モデルごとにファイルを準備
    ...
  ui/
    ui.js                # エントリーポイント、各uiをincludeを担当
    ApplicationWindow.js # tab, tabGroupを作成
    UserView.js          # windowごとにファイルを準備
    ...

ui/以下のファイルでは、以下のような順序でコードを記述します。

  1. 部品の作成(createView)
  2. 部品の組立(win.add)
  3. 関数の定義(function())
  4. イベントリスナーの定義(addEventListner())

まだまだ模索中ですが、大分コードの見通しが良くなった気がします。

参考URL