ゲーム vs. Sinatra Masafumi Yokoyama Sinatra/Padrino 勉強会 2014/12/20 ゲーム vs. Sinatra Powered by Rabbit 2.1.4

Similar documents
(GitHub, Twitter) 由来 :m.yokoyama 発音例 :myokoyamaa ソフトウェア開発者将棋指し ( アマ三段 )

はじめに ハンズオンだと思う者にはハンズオンであり もくもく会だと思う者にはもくもく会である

WinXp-Rmenu

WinXp-Rmenu

3. クラスリンク ( 先生の IP アドレス >:< ポート >) を生徒と共有して生徒がブラウザーから接続できるようにします デフォルトのポート番号は 90 ですが これは [Vision 設定 ] から変更できます Netop Vision Student アプリケーションを使

Web AppBuilder for ArcGIS (Developer Edition) インストールガイド

Sinatra と MongoDB 今回は Sinatra で MongoDB の操作を体験してみます 進捗に合わせて ドライバから Ruby で使える便利な ORM の紹介をします

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

提案書

Studuinoソフトウェアのインストール

事務連絡 平成 28 年 4 月 25 日 障害福祉サービス事業所 障害児施設 各位 東京都国民健康保険団体連合会 介護福祉課障害福祉係 電子請求受付システムにおける Windows 10 への対応及び留意事項について 平素 本会の事業運営につきまして 格別のご高配を賜りお礼申し上げます さて 平成

Windowsユーザでも 手軽に作れるiPhoneアプリ

PowerPoint プレゼンテーション

7th CodeGear Developer Camp

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

IE用事前設定手順書

PowerPoint プレゼンテーション

Microsoft Word - Office365マニュアル_教職員向け.docx

Rhino6 for Windows ラボラトリーライセンスインストールガイド 株式会社アプリクラフト

20th Embarcadero Developer Camp

MP:eMeeting インストールマニュアル Version /06/30 株式会社デジタル ウント メア

1. ボイステクノに問い合わせ スマホで議事録 Pro のご利用に際して 専用のお問合せページ(Ctrl キーを押しながらクリック ) ページを開き 必要事項を入力し 送信してください 手動で URL を入力する場合は を

PALRO Gift Package 操作説明書

1. ボイステクノに問い合わせ スマホで議事録 Pro のご利用に際して 専用のお問合せページ(Ctrl キーを押しながらクリック ) ページを開き 必要事項を入力し 送信してください 手動で URL を入力する場合は を

情報連携用語彙データベースと連携するデータ設計 作成支援ツール群の試作及び試用並びに概念モデルの構築 ( 神戸市こども家庭局こども企画育成部 千葉市総務局情報経営部業務改革推進課 川口市企画財政部情報政策課 ) データ構造設計支援ツール設計書 2014 年 9 月 30 日 実施企業 : 株式会社ア

Qlik Sense のシステム要件

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

MotionBoard Ver. 5.6 パッチ適用手順書

1. インストール方法 STEP 1 ダウンロードしたファイルを任意の場所に解凍します Windows 標準の機能を用いて解凍する場合は ファイルを選択して 右クリックメニューから [ すべて展開 ] を選択し 表示されたメッセージに従って解凍します STEP 2 解凍されたフォルダにある Setu

Office365マニュアル_学生向け

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx

HARTING Node.js Environment for HAIIC MICA 日本語 HARTING Node.js Environment for HAIIC MICA HARTING IT Software Development Marienwerder Str. 3, E

(Microsoft Word - Compiere3.0Windows\203C\203\223\203X\203g\201[\203\213\203K\203C\203h.doc)

Microsoft Word - 【掲載用】True Keyマニュアル_1.0版_ r2.docx

Microsoft PowerPoint - Skype for business の概要.pptx

Windows10の新機能

3Dカメラアプリ

環境確認方法 (Windows の場合 ) OS 動作環境日本語版 Windows 7, 8, 8.1, 10 であること 確認方法 Windows キーを押しながら R キーを押します または [ スタート ] メニューから [ ファイル名を指定して実行 ] ( または [ プログラムとファイルの

MAC の Horizon Auton インストール方法 Page 1 of 25

CLIPオリジナルミニペンタブレット(XP-5560AVS)ユーザーガイド

2. ccmybox を利用するには ccmybox の利用には Web ブラウザが必要ですが パソコンの Web ブラウザだけでなく スマートフォンなどのモバイル機器の Web ブラウザからも接続が可能です また Web ブラウザを利用した接続方法以外に 専用接続ツールがメーカーより提供されていま

How-to-Use-Mac.pages

My Cloud ホーム2.0 ユーザーズマニュアル

つくば市 様

TeamViewer 9 会議 目次 概要... 1 インスタント会議を主催する... 2 手順... 2 トラブル... 3 ミーティング日程の設定... 4 スケジュール作成... 4 会議のスタート ( マイ会議 )... 5 会議に参加する... 6 Web ブラウザーで会議に参加する...

Maple 12 Windows版シングルユーザ/ネットワークライセンス

Microsoft Word - Python利用環境構築ガイド_ docx

IME( 日本語入力システム ) の確認 変更方法 / プロパティ確認の手順 ************************************************************************************ ドキュメント目次 IME( 日本語入力システム )


Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

1. インストール方法 STEP 1 ダウンロードしたファイルを任意の場所に解凍します Windows 標準の機能を用いて解凍する場合は ファイルを選択して 右クリックメニューから [ すべて展開 ] を選択し 表示されたメッセージに従って解凍します STEP 2 解凍されたフォルダにある Setu

Qlik Sense のシステム要件

Visual Studio with Cordova クロスプラットフォーム開発の全貌

ミガロ.製品 最新情報

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

CodeGear Developer Camp

[給与]給与奉行LANPACK for WindowsNTのサーバーセットアップのエラー

<90568A838E E7193FC8E AE8DEC8AC28BAB82CC92C789C182C68F9C8A4F82C982C282A282C A8926D82E782B9816A5F8A6D92E894C52E786477>

PowerPoint Presentation

使える

SureFile for 達人プラスインストールマニュアル V1.7 本マニュアルでは アイスペシャル C-Ⅱ C-Ⅲ 専用画像振り分けソフト SureFile for 達人プラスについて 下記に示した項目を説明しています SureFie( 標準版 ) のアンインストール インストール 起動 設定の

PowerPoint プレゼンテーション

Microsoft Word - index.html

Acrobat Reader DCのインストール・操作方法―Windows 10/8.1/7

1. はじめに (1) 本書は 厚生年金基金ネットサービス を既にご利用されている基金様に向けて ウェブブラウザを Internet Explorer( 以下 IE)11 にアップグレードする手順をご案内するものです (2) 項目 2 から 5 までの全手順を実施願います ( 所要時間 : 約 30

CubePDF ユーザーズマニュアル

2 / /08/07 16:53 図 2 スマートフォンの影響を きく受けたデスクトップ環境 2012 年 3 29 にリリースされた Ubuntu LTS ベータ 2 のデスクトップ画 です このようなデスクトップ環境は スマートフォンやタブレットで成功している機能などを取

KDDI TeleOffice Ver3.0 へのバージョンアップについて 実施日 1. サーバーのバージョンアップ 2014 年 12 月 6 日 ( 土 )20:00 ~ 2014 年 12 月 7 日 ( 日 )06:00 上記時間帯において すべての機能がご利用いただけなくなります 2. ア

目次 研究目的 背景システム開発について実験および評価結論

Microsoft Word - インストールマニュアルSBS XP SP1第1版 doc

Action Cableで簡易チャットを作ってみた Kazuhiro NISHIYAMA 第 87 回 Ruby 関西勉強会 2019/07/13 株式会社 Ruby 開発 Powered by Rabbit 2.2.1

header

目的 概要 全体像 概念図 用語の定義 用語 説明 用語 説明 用語 説明 用語 説明 参考資料

Microsoft Word JA_revH.doc

Maple 12 Windows版シングルユーザ/ネットワークライセンス

ご利用方法 Yahoo! Japan ID をお持ちのお客様 最終更新日 :2017/06/06 1 / 19

セキュアブラウザについて セキュアブラウザは デスクネッツを自宅や外出先などから安全に利用するためのツール ( アプリ ) です セキュアブラウザというアプリを使用してデスクネッツを利用します 通常のブラウザアクセスと同じようにデスクネッツをご利用頂けます 端末の紛失 盗難による情報漏えいを防ぐため

SimLab Plugins for SketchUp 評価版インストールおよびアクティベート方法 注意事項 評価版をお使い頂くには 評価用ライセンスでのアクティベートが必要です 評価用ライセンスファイルの取得を行い 手動でアクティベートする必要があります 各 SimLab プラグインは 評価用とし

自宅でJava言語の開発環境を作る方法

OpenVPN接続マニュアル

Mobile Access簡易設定ガイド

SHOBI_Portal_Manual

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

インストール要領書

Release Notes

Bluetooth MIDI 接続ガイド

セキュアブラウザについて セキュアブラウザは デスクネッツを自宅や外出先などから安全に利用するためのツール ( アプリ ) です セキュアブラウザというアプリを使用してデスクネッツを利用します 通常のブラウザアクセスと同じようにデスクネッツをご利用頂けます 端末の紛失 盗難による情報漏えいを防ぐため

課題情報シート テーマ名 : 動画中継ラジコンカーの製作 担当指導員名 : 土山博剛実施年度 : 25 年度施設名 : 四国職業能力開発大学校課程名 : 専門課程訓練科名 : 電子情報技術科課題の区分 : 総合制作実習課題学生数 : 1 時間 : 12 単位 (216h) 課題制作 開発のポイント

US-2x2/US-4x4_RN-J_RevB

PowerPoint プレゼンテーション

TunesGo (Win 版 ) ガイド Chapter1: 製品のインストール 1-1 製品のダウンロード 1-2 製品のインストール 1-3 製品の登録 Chapter2: データの転送 2-1 ios デバイスを PC に接続する 2-2 デバイスのメディアを itunes に転送 2-3 デ

ADempiere (3.5)

補足資料

Microsoft Word - Windows10 活用(1版)

Win8ドットNET有効化

ICカード

利用者

25th Developer Camp

Transcription:

ゲーム vs. Sinatra Masafumi Yokoyama Sinatra/Padrino 勉強会 2014/12/20

自己紹介 @myokoym Sinatra 札幌将棋アマ三段ヌルゲーマー

札幌の将棋事情 北海道将棋会館 札幌市中央区南 4 西 9 北海道将棋連盟のブログ http://doshoren.blog.fc2.com/ 札幌将棋情報のブログ http://blogs.yahoo.co.jp/sapporoshogijoho

Ruby Kaja 2013

よろしくお願いします m( )m

話すこと 第一部 2013 年から 2014 年にかけての Sinatra 札幌での活動について 第二部 表題の件

第一部

2013/11/24 年表 ( 序盤 ) 最初の勉強会 Sinatraと見せかけてRabbitの話 2014/02/08 札幌市中央区 Ruby 会議 01 RubyでGUIする話

札幌市中央区 Ruby 会議 01

2014/05/10 年表 ( 中盤 ) 二回目の勉強会 Sinatra と見せかけて Gosu( ゲーム用ライブラリ ) の話 2014/06/14 OSC 2014 Hokkaido Sinatra の帽子を使ったゲームを展示

OSC OSC 2014 2014 Hokkaido Hokkaido ゲーム vs. Sinatra Powered by Rabbit 2.1.4

2014/08/17 年表 ( 終盤 ) SinatraSapporoSuturday#01 ArduinoでLEDをチカチカして納涼 2014/10/11 2014/11/16 SinatraSapporoSaturday#02 SinatraSapporoSunday#03 Padrinoを使い始めた

ちょっと wait events.count event event.sinatra メイン? end

#=> 0

理由 何かと組み合わせて使っていた

何か 1. Rabbit http://slide.rabbit-shocker.org/authors/myokoym/ sinatrasapporo01/ 2. Gosu http://slide.rabbit-shocker.org/authors/myokoym/ sinatrasapporo02/

何か 1. Rabbit http://slide.rabbit-shocker.org/authors/myokoym/ sinatrasapporo01/ 2. Gosu http://slide.rabbit-shocker.org/authors/myokoym/ sinatrasapporo02/

Rabbit Rubyist 用プレゼンツール http://rabbit-shocker.org/

Lavie さん

Rabbit 文章はテキストで記述 RD Wiki Markdown など 装飾 ( テーマ ) は Ruby で記述 RubyGems で簡単に追加 バージョン管理しやすい

Ruby-GNOME2 http://ruby-gnome2.sourceforge.jp/ja/

Ruby-GNOME2 Ruby-GNOME2 は GNOME で使用される GTK+ などの主要なライブラリの Ruby バインディング集です http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ ruby-list/49734

Ruby-GNOME2 GTK+ はマルチプラットフォーム対応の GUI ツールキットなので マルチプラットフォーム対応の GUI アプリケーションを Ruby で書くことができます http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ ruby-list/49734

バージョンについて Ruby/GTK2 Ruby/GTK3

Ruby/GTK2 GTK+ 2 の Ruby バインディング gem install gtk2 旧バージョン GTK+ 2 の開発はほぼ終了 採用実績が多く 安定性は高い Rabbit( プレゼンツール ) mikutter(twitter クライアント )

Ruby/GTK3 GTK+ 3 の Ruby バインディング gem install gtk3 新バージョン GTK+ 3 に対応 GObject Introspection 新機能 (CSS 対応の強化など ) 新ウィジェット

迷ったら Twitter やメーリングリストなどでご相談ください 日本語 ML あります ruby-gnome2-devel-ja

何か 1. Rabbit http://slide.rabbit-shocker.org/authors/myokoym/ sinatrasapporo01/ 2. Gosu http://slide.rabbit-shocker.org/authors/myokoym/ sinatrasapporo02/

Gosu Gosu is a 2D game development library for the Ruby and C++ programming languages, available for Mac OS X, Windows, and Linux. http://www.libgosu.org/

Gosu 2Dゲーム開発ライブラリ RubyとC++ 向けマルチプラットフォーム OS X Windows Linux Raspbian ios(c++) Android(WIP)

Gosu 0.8.6 現時点での最新リリース版 gem install gosu SDL2ベース Ruby 2.1 対応 RubyInstaller for Windows も

SDL https://www.libsdl.org/

SDL Simple DirectMedia Layer マルチメディアライブラリ主にゲーム用途 C 言語で記述マルチプラットフォーム

SDL2 zlib License MIT より緩い ios Android 対応などなど

第一部まとめ

Sinatra 最高

第二部

テーマ vs.

vs.(versus) 前置詞 1. ( 訴訟 競技などで ) 対, に対する 2. と対比して 比較して

対比させてみる

粒度を合わせる GUI アプリケーション Ruby/GTK2 GTK+ ゲーム Gosu SDL Web アプリケーション Sinatra Rack

ポイント 動作環境 画面構成 更新方法

ポイント 動作環境 画面構成 更新方法

動作環境 GTK+ SDL Rack デスクトップ ( ネイティブ ) アプリ デスクトップ ( ネイティブ ) アプリ Webサーバー Web ブラウザー

構図 ネイティブアプリ vs. Web アプリ

ネイティブアプリ 動作速度が速い デバイスの機能を活かせる push 通知など

Web アプリ リリース インストールが楽他のサービスと連携しやすい 使われる技術が限られる HTTP JavaScript

適材適所

ポイント 動作環境 画面構成 更新方法

画面構成 GUIアプリ ゲーム系 Webアプリ (OSと紐付いた ) パーツを組み合わせる 一から形を決めて描画する ( ブラウザの ) パーツを組み合わせる

誰もがデザイナー (,, Д )

ポイント 動作環境 画面構成 更新方法

更新方法 GTK+ SDL Rack イベント駆 動 フレームレート イベント HTTP JavaScrip t

更新方法 イベント駆動 フレームレート HTTP

更新方法 イベント駆動 フレームレート HTTP

イベント駆動 起動すると共にイベントを待機し 起こったイベントにしたがって処理を行う

イベント駆動 イベントを待機 イベントハンドラ イベント マウス キーボードなど

イベントハンドラ ( コールバック関数 ) イベントが起こったときの処理を記述 クリックやアクティブ化など

Ruby/GTK2 のイベントハンドラ window.signal_connect("destroy") do # ウィンドウが閉じられた時の処理 end button.signal_connect("clicked") do # ボタンがクリックされた時の処理 end

イベント駆動 CPU に優しい ( 当社比 )

更新方法 イベント駆動 フレームレート HTTP

フレームレート 1 秒間に一定回数の処理を行う 1 秒間に 60 回の場合 60fps frame per second

1 フレームの主な処理 状態の更新 イベントや時間経過による 画面への描画

Gosu class Game < Gosu::Window def update # 1 秒間に約 60 回呼ばれる end def draw # update とセットで呼ばれる end end Game.new(640, 480, false).show

ゲーム系 自由度が高い 常に CPU 使ってる感ある

更新方法 イベント駆動 フレームレート HTTP

HTTP 何を どう したいか リクエスト - レスポンス型

何を URL http://< ホスト名 >/[ パス ]...

どう メソッド GET POST...

Sinatra get "/" do # http://host.name/ の処理 end post "/new" # フォーム等の /new の処理 end

リクエスト - レスポンス型 いわゆるクラサバ サーバーがレスポンスを返したら一区切り 基本的に状態を保存しない セッションや DB などを使えば可能

JavaScript プログラミング言語 何でもできる マルチメディアな使い方も

結論 やっぱり 適材適所

おわりに Sinatra 楽しいょ! ゲームや GUI も楽しいょ! 組み合わせても ゲームのデータやハイスコアを Web で管理するとか コミュニティでチーム開発?