• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
20130615 組込みの仕事場でRubyを使う
 

20130615 組込みの仕事場でRubyを使う

on

  • 642 views

第58回 Ruby/Rails勉強会@関西 でお話しした、ライトユーザなRubyistの日常のお話です。

第58回 Ruby/Rails勉強会@関西 でお話しした、ライトユーザなRubyistの日常のお話です。

Statistics

Views

Total Views
642
Views on SlideShare
519
Embed Views
123

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 123

http://shizuto.hateblo.jp 123

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    20130615 組込みの仕事場でRubyを使う 20130615 組込みの仕事場でRubyを使う Presentation Transcript

    • 組込みの仕事場でRubyを使うしずと (@shizuto_a)2013/6/15第58回Ruby/Rails勉強会@関西
    • 最初におことわり残念ながら組み込みRuby (Rite, mruby)の話ではありません
    • 最初におことわりRubyライトユーザな組込みプログラマがRubyを細々と使う、ライトユーザのライトユーザによるライトユーザのためのお話です
    • しずと (@shizuto_a)Rubyライトユーザ歴10年ぐらい仕事は組込みソフト(車載機器)言語好き(仏、亜、洪、etc)
    • 組込みソフトの仕事場
    • 組込みソフトの仕事場基本はC言語で開発する
    • 組込みソフトの仕事場基本はC言語で開発するソフトとしては古い技術で生きている
    • 組込みソフトの仕事場基本はC言語で開発するソフトとしては古い技術で生きているRubyistsにはつまらないライトなRubyistsが活躍できる!
    • Ruby勉強会@関西 参加者Rubyistの輪RubyistsPerl MongersPythonisti
    • 同僚(組込みソフト)Rubyistの輪RubyistsPerl MongersPythonisti
    • 同僚(組込みソフト)Rubyistの輪RubyistsPerl MongersPythonisti
    • 同僚(組込みソフト)Rubyistの輪RubyistsPerl MongersPythonistiできればRubyの輪を広げたい
    • 組み込み (車載)の環境1.品質(信頼性)重視2.製造コスト重視3.潤沢ではない環境4.慎重なプロセス管理
    • 1. 品質(信頼性)重視車なので不具合流出は事故に直結バグ一つが信用問題事故の前でもリコールすれば大損失
    • 2. 製造コスト重視製品は車の部品ソフトの値段よりハードの値段
    • 3. 潤沢ではない環境CPU : 20~80MHzRAM : 64KB~256KBほぼC言語(一部アセンブラ)
    • 4. 慎重なプロセス管理ウォーターフォール設計レビュー、ソースレビューC1カバレッジの単体検査検査、検査、検査品質とは「変えない」こと
    • なので「アジャイルでRuby使ってやろうぜ」と気楽には言えないスクリプト言語が好きな人もいるけど嫌いな人もいる
    • Why (not) Arabic Ruby?
    • Why not Ruby?Rubyistなら仕事でもRuby使いたいよね
    • Why Ruby?Enjoy Programmingしたいから。(C言語も楽しいけど)
    • Rubyを使うために何にRubyを使おうか?抵抗なく受け入れられるのは?できれば喜んでもらえるのは?
    • Where can we enjoy Ruby?
    • どこで使うか(夢)
    • どこで使うか(夢)Rubyで制御プログラムを書く
    • どこで使うか(夢)Rubyで制御プログラムを書くRubyでプログラムを書いてCに変換
    • どこで使うか(夢)Rubyで制御プログラムを書くRubyでプログラムを書いてCに変換Cで書いたものをRubyを使って検証
    • どこで使うか(夢)Rubyで制御プログラムを書くRubyでプログラムを書いてCに変換Cで書いたものをRubyを使って検証プロトタイプをRubyで作る
    • どこで使うか(夢)Rubyで制御プログラムを書くRubyでプログラムを書いてCに変換Cで書いたものをRubyを使って検証プロトタイプをRubyで作る夢は大事だけど、まだもう少し先
    • どこで使うか(現実)
    • どこで使うか(現実)電卓代わりにirb (pry)を使う
    • どこで使うか(現実)電卓代わりにirb (pry)を使う補助的なプチツールを作る
    • どこで使うか(現実)電卓代わりにirb (pry)を使う補助的なプチツールを作る設定ファイルやテーブルの生成を行う
    • どこで使うか(現実)電卓代わりにirb (pry)を使う補助的なプチツールを作る設定ファイルやテーブルの生成を行う作ったものを他人に使ってもらう
    • Rubyの立ち位置Rubyを主役級には(まだ)しにくい脇役、エキストラとして活躍しようRubyの輪を徐々に広げよう
    • おことわり
    • おことわりまだRubyの輪を広げられてはいません
    • Gems, Tools, OrangeJuices
    • irb / pry高性能電卓としても使えるインタラクティブ環境irbは標準添付、pryはgem install pry数値の確認などで使っています
    • 例題(irb / pry)(x / 1.8)を整数演算だけで精度良く計算するには?C言語で長くても3行以内浮動小数点と除算使用不可xの範囲は0∼65535等、制限あり
    • 正規表現テンプレートや静的コード検証、検査ツールのログ解析などテキスト処理ができると嬉しい場面は多い
    • 例題 (正規表現)Cソースの中から32文字以上の変数名をリストアップしよう
    • ocraスクリプトをWindowsアプリにするRubyistでない人に作ったものを使ってもらうための便利なアイテムRuby1.8系ではExerb
    • 例題 (ocra)作ったツールを ocra にかけてみよう引数なしで実行したときにrequireを全て通るなど、多少制限がある
    • eRubyテンプレートの中にRubyのコードを埋め込んで展開する <% rubycode %>設定ファイルやテーブルを生成するのに便利Rubyist以外も編集できるようにする
    • 例題 (eRuby)“変数1”, type=char, range=0...20“変数2”, type=long, range=-1000..1000Excelの変数詳細リストから上記のような設定ファイルを生成しよう
    • RSpec / Test::UnitTest::Unit は標準、RSpecは gem installrspec で。何を使うかは好みで。プチツールならテストケースを説明できれば納得してもらえることも多い
    • 例題 (RSpec / Test::Unit)ひがきさんの初心者レッスンに期待!「ツール作るのはいいけど、それで不具合出したりしないよね? どんなパターンで試したの?」に先に備えよう
    • 黒魔術は控えめにメタプログラミングは面白いけど使いどころは慎重に考えよう。DSLを作るのはいいかも。でも時間を取られすぎないように気をつけよう。
    • Key Points
    • まずは脇役に徹する主役(のルールや風土)を尊重する
    • まずは脇役に徹する主役(のルールや風土)を尊重するプロダクトの品質のことを常に考える(納得いく答えを用意しておく)
    • まずは脇役に徹する主役(のルールや風土)を尊重するプロダクトの品質のことを常に考える(納得いく答えを用意しておく)いつか主役になれる日が来るかも…
    • Rubyは強力な武器強力な武器を使うときには責任が伴う
    • Rubyは強力な武器強力な武器を使うときには責任が伴う先に組込ソフトでちゃんと信頼を得ておくのも大事です
    • Rubyは強力な武器強力な武器を使うときには責任が伴う先に組込ソフトでちゃんと信頼を得ておくのも大事です自分の置かれた環境に注意して使おう
    • Let’s Enjoy Programming!