e-ZUKA Tech Night vol.50 -enPiT PBL最終成果発表会-
- yagiyama_san
- 837
- 4
- 0
- 0
Rubyのテスト。ユーザーがたくさんいる。バグがあるとヤバイ。結構見つかる。見つかりやすいバグは必ず見つかる。めったに再現しないバグも結構みつかる。長い間見つからないこともある。 #ezuka_tech_night
2020-01-23 20:22:02どうやってテストを書くか?Rubyインタープリタは、Cで書かれてるけどCでテスト書く?現実的にはRubyでRubyのテストを書く。単体テストっぽいけど、実は結合テスト。 #ezuka_tech_night
2020-01-23 20:23:06bootstraptest=Rubyのプログラム片と期待する出力の組。各プログラムを独立したRubyプロセスで実行し結果比較。 利点としてテストが異常終了しても他のテストを実行可能。欠点はプロセス起動が遅い。 #ezuka_tech_night
2020-01-23 20:25:14Unit-testフレームワークを使ったテスト。テストフレームワークの機能を使える。 #ezuka_tech_night
2020-01-23 20:25:49spec = 他の処理系(Rubinius)で作られたテストを使ってテストする。 #ezuka_tech_night
2020-01-23 20:26:40rubyci=複数の環境(Solaris、AIX?)でテストを実行。クラウドサービスで提供していない環境でのテスト。 #ezuka_tech_night
2020-01-23 20:27:42ci.rvm.jp= rubyciと一緒だけど結果が出るまでが拘束。cloneではなくpull、インクリメンタルビルド、並列ビルド、並行テスト。複数マシンでたくさん同時実行。push後催促2分くらいで失敗通知。#ezuka_tech_night
2020-01-23 20:28:52複数マシンでたくさん同時実行することでハイゼンバグの発見に繋がる。GCなんかで1000回に1回の再現する場合、1日1万回テストしたら10回見つけられる。あといろんなデバッグオプションでのバグ発見。 #ezuka_tech_night
2020-01-23 20:30:54bisect環境=git bisectすると二分探索でバグの混入を発見。Rubyの場合毎回ビルドするので遅い。先に全リビジョンをビルドしておいて拘束にbisectできる環境を用意。 #ezuka_tech_night
2020-01-23 20:32:07現在の課題。大量のテストログを解析する基盤がない。テストが足りない。テストがまだ遅い。CIで再現したバグのpostmortemデバッグができない。 #ezuka_tech_night
2020-01-23 20:32:55続いてLTコーナー。最初のLTはKeisuke Moriさんによる「Rubyと私とServerless」 #ezuka_tech_night
2020-01-23 20:36:50RubyとServerless = Jets。Ruby製のServerlessフレームワーク。 #ezuka_tech_night
2020-01-23 20:40:05AWSにはJAWS-UGというユーザーグループがあるけど、学生のUGであるJAWS-SGもあるよ。 #ezuka_tech_night
2020-01-23 20:41:39続いてのLTは、お馴染み山内さんの「Nerves はElixirでIoTなナウでヤングなクールなすごいやつ」#ezuka_tech_night
2020-01-23 20:42:24Elixirは父がErlangで母がRuby!Beautiful!!! #ezuka_tech_night
2020-01-23 20:43:51FreeBSDにおけるRuby。2.4, 2.5, 2.6の3種類が利用可能。2.7はWIP。 #ezuka_tech_night
2020-01-23 20:51:13機械語をやりたい。AVRマイコンのプログラミング。Aruduinoを書き込み機にする。ATTiny85、IOに6つもピンが使える。30個近いレジスタが使える。みんなも楽しくアセンブラプログラム学ぶと楽しい。 #ezuka_tech_night
2020-01-23 20:58:08最後のLTは田中先生の「RBoard(mruby/cマイコン)のご紹介」#ezuka_tech_night
2020-01-23 20:58:40ついに専用のmrubyマイコンが市販されることに!こまでブレッドボードにボード付けて使ってたけど、故障率が高かった。そこで専用のボードを作成。 #ezuka_tech_night
2020-01-23 21:00:40