Archive for the ‘Ruby’ Category

福岡Ruby会議01 その後の話

先週の土曜日、福岡Ruby会議01に参加しました。とても、とても刺激的な一日でした。

@Spring_MT さんがきれいにまとめてくださってます。

福岡Ruby会議01を開催 & トークしてきました! – CubicLouve

当日の話はそちらを見てもらったほうが良いなぁと思ったので個人的なその後の話を。

レールにのってて大丈夫か?

@kakutaniさんの話に出てきた札幌Ruby会議2012での@ursmさんの発表「Ruby on Rails: The Bad Parts」が気になったので動画を見ました。とても良かったです。

RailsやRailsっぽいWebフレームワークを扱っている人は見るべきだと思います。

ウチでもRubyでフィジカルコンピューティング

山崎さんのLT「Rubyでフィジカルコンピューティング」

最後のページにこうありましたね

「実験協力者募集中!」

てなわけで長崎代表として借りてきました BeagleBone!

先ほど山崎さんが作成されたディスクイメージで起動して設置しました!

いまのところ順調にログがとれているそうです。どんなデータがとれるか楽しみ!

Facebooktwitterlinkedintumblrmail

RBC、MobiRubyイベント無事終了(スライド付)

絶賛リフォーム中のランカードコム新オフィス予定地(窓がはいってなかったのは内密に願います)で開催した

【RBC Tech Saturday】MobiRubyでiOSアプリをつくろう
      ~スマホアプリ開発にmrubyがやってきた~

無事終了しました。

参加いただいた方々、サポートを頂いたみなさま、本当にありがとうございました。

スライドをslideshareに上げました。

 

オクトーバーフェストもたのしかったよ!(グラスを落として割ったのは内密に願います)

Facebooktwitterlinkedintumblrmail

MobiRubyのサンプル作りました(動画付)

新着情報、『9/22(土) Rubyビジネス・コモンズが「【RBC Tech Saturday】MobiRubyでiOSアプリをつくろう ~スマホアプリ開発にmrubyがやってきた~」を開催します』でお知らせしておりますとおり、明日、引越し前の弊社新オフィスでRBCのMobiRubyイベントを開催します。まだ参加枠あります。ぜひ!

さて、本題。このイベント用に簡単なサンプルを作成しました。

起動するとBGMを演奏、中央にキャラクターを表示。画面をタッチすると効果音をならしてタッチ先にキャラクターがアニメーションで移動します。

再生すると音がでます。

BGMと効果音はユウラボ8bitサウンド工房のものを使用させていただいています。

ソースコード(roundnyaabe.rb)を貼ります。
samegame用のext.rbを使わせてもらっているので頭でrequireしています。

require 'ext'

def CGPointMake(x, y)
    point = Cocoa::Struct::CGPoint.new
    point[:x], point[:y] = x.to_f, y.to_f
    return point
end

class Cocoa::MyViewController < Cocoa::UIViewController

    define C::Void, :viewDidLoad do
        #背景(黒)
        screen_rect = Cocoa::UIScreen._mainScreen._bounds
        background_view = Cocoa::UIView._alloc._initWithFrame(screen_rect)
        background_view._setBackgroundColor(Cocoa::UIColor._blackColor)
        self._view._addSubview(background_view)
    
        #にゃ〜ぶ登場
        @nyaabe_image_view = Cocoa::UIImageView._alloc._initWithFrame(CGRectMake(0, 0, 50, 50))
        @nyaabe_image_view._setImage(Cocoa::UIImage._imageNamed(_S("nyaabe_iphone.png")))
        point = Cocoa::Struct::CGPoint.new
        point[:x] = (screen_rect[:size][:width] / 2).to_f
        point[:y] = (screen_rect[:size][:height] / 2).to_f
        @nyaabe_image_view._setCenter(point)
        self._view._addSubview(@nyaabe_image_view)
    end

    def calcPosition(touches)
        touch = touches._anyObject
        location = touch._locationInView(self._view)
        x = location[:x]
        y = location[:y]
        return [x, y]
    end

    define C::Void, :touchesBegan, Cocoa::Object, :withEvent, Cocoa::Object do |touches, event|
        (@touchesBeganLock ||= Mutex.new).block do
            x, y = calcPosition(touches)
            C::call C::Void, "AudioServicesPlaySystemSound", $tap_se
            p ":touchesBegan x:#{x}, y:#{y}"
            nyaabe_move_to(x, y)
        end
    end

    def nyaabe_move_to(x, y)
        #アニメーション
        context = C::call(C::Pointer, "UIGraphicsGetCurrentContext")
        Cocoa::UIView._beginAnimations nil, :context, context
        Cocoa::UIView._setAnimationDuration C::Double(0.2)
        Cocoa::UIView._setAnimationCurve Cocoa::Const::UIViewAnimationCurveLinear
        
        point = CGPointMake(x, y)
        @nyaabe_image_view._setCenter(point)
        
        Cocoa::UIView._commitAnimations
    end

end

#BGM
bgm = AudioPlayer.new("sht_a05", "mp3")
bgm.loops = -1
bgm.volume = 0.25
bgm.play

#効果音初期化
soundPath = Cocoa::NSBundle._mainBundle._pathForResource _S("se_byuin"), :ofType, _S("mp3")
soundURL = Cocoa::NSURL._fileURLWithPath soundPath
$tap_se = C::Int(0)
C::call C::Void, "AudioServicesCreateSystemSoundID", soundURL, $tap_se.to_pointer

screen_rect = Cocoa::UIScreen._mainScreen._bounds
$window = Cocoa::UIWindow._alloc._initWithFrame screen_rect
$viewController = Cocoa::MyViewController._alloc._init

$window._addSubview $viewController._view

$window._makeKeyAndVisible

今日は福岡で開催されるmrubyのセミナーに参加するのでこれから福岡に移動です。
mrubyのことがわかったらMobiRubyのことがもっとわかるはず。たのしみ!

Facebooktwitterlinkedintumblrmail

「夏だ!Rubyだ!RBC Nightだ!!Rubyで作ったスマホアプリってどうなの??」な話

muraveです。Rubyビジネス・コモンズ(RBC)というコミュニティのスタッフもしています。

「夏だ!Rubyだ!RBC Nightだ!!Rubyで作ったスマホアプリってどうなの??」というイベントが6/22(金)の夕方から開催されました。RBCでは毎月土曜日に1日、または半日規模の勉強会を開催してきたのですが「もっとフランクにいろいろやっていこう」ということになりました。このイベントはその1回目です。

長崎から福岡での金曜日夕方のイベントへの参加はちょっとキビシイですが以前からリクエストしていたRhodesでのスマホアプリ開発ネタとなれば行くしかありません。

イベントでは実際にRohdesで開発された新感覚スマホ式カードラリー『る〜ら』について技術とビジネスのお話を聞くことができました。技術寄りのお話をしていただいた古川さんのスライドはslideshareで公開されています。

http://www.slideshare.net/purukyawa/rubyrbc-nightruby

苦労はされてますが「機能制限は必ずある」のだから「制限を理解して提案、設計」してちゃんとチューニングすれば「決して遅くない!!」とのこと。

最近だと機能優先で進めてから速度のチューニングをすることが多いですが、回線や端末の速度に制限があるスマホのような環境では最初から速度のことを考えつつ進めたほうがいいのかもしれないな、と思いました。

ビジネス寄りのお話では実際のユーザー数のお話、さらに懇親会では投下資金のお話などもでてエキサイティングでしたが、ココら辺は参加者特権ということ秘密。

次はRubyでスマホアプリの第2弾、ネイティブiPhoneアプリが開発できるRubyMotionについてのイベントを7/20に開催予定です。

あと、9月は私が担当でイベントをやる予定です。長崎で
まだ何をするか決めてませんがそのときはよろしくお願いします。

ところで、RBCのオフィシャルサイト、古いページがのこってしまっていてややこしいんですがfacebookのページがそうなんです。

http://www.facebook.com/rubybizcommons

最新情報については上記URLからお願いします。

Facebooktwitterlinkedintumblrmail

イケテルEngineYard勉強会に参加してきました。

RBCによる主催イベント「イケテルEngine Yard勉強会」に参加してきました。
メインイベントは米EngineYard社のCEOであるJohn Dillon氏によるトーク。

開催時刻から、John氏が来られるまでの間はビジネス勉強会。お題は「ソフトウェア会社を作る。ただしエンジニアコミュニティとどう付き合って会社を育てていくか。」というもの。4班に別れて会社名、業務内容、エンジニアコミュニティとの付き合い方を議論し、模造紙に書きだしていき、最後に各班発表となりました。

で、なんでこういう内容だったかと言うと、Engine Yard社そのものがコミュニティとともに発展してきた会社からなのだと。で後半のJohn氏のトークが始まったのであります。抜粋すると

  • 製品を作って、それと半分近くのコストを掛けて営業マンセールス、マーケティングを行うといった従来のセールス手法は変わっていく。
  • Engine Yard社は売上の20%(間違ってたらごめんなさい)をコミュニティに投資している。
  • コミュニティへの投資、そしてそのコミュニティが製品・サービスを利用してくれる。
  • 当然オープンソースにもコミットしている(パッチの公開など)
  • 顧客にサービスを使ってもらうように営業するのではなく、サービスを使う手助けをする。

 

全てを弊社に適応できるものではないかもしれませんが、ききいってしまう内容でした。

サンブリッジのアレン氏の話は、ズバッと要約すると「シリコンバレーいけ」というものでした。日本でやってることなんて世界の誰も見てない。残念ながらそうなんですよね。

勉強会後は、交流会の場まで用意してもらいました、感謝です。John氏に「普段どんな時間の使い方をしているのか」という質問投げかけるべく、チャンスを狙ってましたが、なんせ人気者ですので最後の最後で捕まえて質問投げた瞬間、ジ・エンドとなってしまいましたが、おかげで円陣の際にはJohn氏の隣をゲットするというある意味幸運さを発揮しました。まあ少しでも話せて良かったです。

スタッフの皆様本当にお疲れさまでした。

なんかすごくまとまってない文章ですが、お許しくださいませ。

Facebooktwitterlinkedintumblrmail