Ruby勉強会@宇都宮 -2019/04-
参加者は4人。むらさわさんが2年ぶりに復活した。
はじめにここ最近の勉強会の話や先月の勉強会の内容をここのブログをみながら、ふりかえりしてから始めた。
今月の勉強会では、お仕事でPHPや、JavaScriptを使っている人がいたので、他の言語との違いを説明してもらいながら、扱い方や間違えやすそうな箇所について話し合えたのはよかった。
Rubyターン
4章と5章の途中までを行いました。
”数値と演算子”について
- 区切りのアンダーバーはしらなかった。ぎょうみぃなところでは大きな数字を使うこともあるだろうから、こういうの便利なのかな?
- 8進数はなにに使ってたのかな?って話になった。
- "to_s(2)"メソッドで2進数表示
- 算術演算子はRubyに馴染みがない人にはほんとにびっくりする
- 宇宙演算子
- Integerでよく使われるメソッドの偶数、奇数は表などを塗り分けるのに使うかも?
- next/prevメソッドとsuccメソッドについて
- Floatのあれこれ
- 言語ごとのroundメソッドについて
- 銀行丸め
”文字列”について
- 破壊メソッドについて
- %メソッドがわかりにくい
Railsターン
今月もおやすみ
次回
5/11の予定です
文字列の続き、”日本語と文字コード”から
とちぎラズパイ同好会53回目
今回は4人。ちょっと少なめだったけど、ひさしぶりに高井さんがきて、電気の勉強もそのあとの実験もだいぶもりあがりました。あと、勉強会のあとに中内さんと高田さんとで宇都宮観光と夕飯を食べにいきました。だいぶ、濃い1日だった。
ポジペ
- 今年のMaker Faire Tokyoの話
- 品質保証
- 50歳
- 幼稚園児とViscuit
勉強ターン
- 論理式とカルノー図
- すごくわかりやすい説明だった
- 高校の数学でやった”集合と論理”がやっと繋がった感じ
- ド・モルガンの法則
- グレイコード(隣り合うビットがひとつずつしか変わらない)
- 特許
- スイッチ設計
- 部品数と論理式
- 基本的にはソフトウェアでカバーしている
みじかい説明だったけど、とてもわかりやすかった。長男が高校で数学に詰まったら、電子回路やろうと思った。
実験ターン
- 通知のあれこれ
通知系の実験会をしたい · Issue #42 · TochigiRaspberryPICircle/kit · GitHub
- まずは、ラズパイからスマホへの通知
- IFTTTの使い方
- インストールから設定まで
- Webhooksについて
僕と高田さんは意外は聞いたことあるけど、実際にはやったことがなかったので概念的なのを説明しながら、IFTTTの設定をして、ラズパイ上でPythonのプログラムを書いて、それぞれのスマホの通知がくるのを実験しました。これでまたやれることの幅がすこしでもひろがるとよいなぁっと思う。
次回
- 平成最後の勉強会
- 4/27
- 通知の実験の続きをやる予定
朝会のあとは
数人で集まって朝会で気になったことを話す。時間によるけど、5〜10分くらい。いろんな目的があったような気がしたけど、たしかはじめはチームにきて日が浅い人のためのものだったような気がする。朝会でつっこみが出せるようになったり、朝会を聴き流さないようにするための訓練っぽい感じもする。
チームに来て日の浅いメンバーにとっては、朝会の情報は情報が多すぎてわからないことだらけなので、こういう時間で朝会の会話を考える機会にもなるし、朝会での会話の内容を周りがどういう風に捉えてたとかを聞ける。そんな時間。ただ、朝会が終わってから10時になるまでの短い時間なので開催されたり、されなかったり。
やっていることは、朝会で気になったことをひとりずつパスをして意見を言う、それだけ。その日の朝会の印象を言葉にしてるような感じもする。
ちなみに僕が来た時にはなかった。ここに来た当初は朝会中はマインドマップにわからない言葉をならべて、どういうやりとりだったかをメモをしてたけど、みんなにいじられてたなぁ。
Ruby勉強会@宇都宮 -2019/03-
参加者は3人。今日はこじんまりだったが、新しい人がきた。
ポジペ
- RubyKaigi、RegionalRubyKaigiのこと
- Cloud9とTechAcademy
Ruby
はじめての人がいたので、1章から軽く復習をして、3章をおこなった。実行環境などを確認しながら、すすめた。いまどきなのか、オンライン環境なのにはびっくりした。すでに一人で勉強をしているのでそんなに戸惑うことなく参加してたように思う。たんたんと変数についてを学んだ。擬似変数のところは面白かった。クラスを意識させるように説明しているのはとてもいいなぁっと。あと、はじめに気になりそうなことだけを説明してくれているので、とても進めやすいです。”かんたんRuby”とてもいい感じだ。
Rails
今月もお休み。
新しい参加者と
オンラインの学習サイトのこととか、どうしてプログラミングに興味があったのかとか、これからのことなどをいろいろ聞いてしまった。先週の別の勉強会できた小学生とはまた違う角度での現実的な意見がきてて、とても考えさせられた。
次回
4/6の予定です。
とちぎラズパイ同好会52回目
すがぬまさんが風邪でおやすみ、たかいさんはCoderDojo古河でおやすみといつもよりメンバーがすくなかったけど、新しく若い人(小学5年生)がきました!お母さんの同席してもらって、一緒に勉強会しました。今回もなかなか、よい勉強会になりました。
場所提供
- 株式会社アルフォ様に貸してもらいました
- はじめにみんなで会社の概要の説明をききました
- はじめての人がいたので、みんなきちんと自己紹介
- はじめて来たワカモノもちゃんと自己紹介してくれた、えらい!
- ”正栄デンシ”ユーザー
- ロケ
- デブサミ
- マイクロソフトでのイベント
- 栃木で開催予定の教育イベント
勉強ターン
- 7segLED
- アソードコモン、カソードコモンがある
- 7個だから7セグ
- 数字とアルファベットが表現できる
- ピンをひとつずつ制御するのはちょっと面倒くさそう
- とてもわかりやすく、みじかかった
休憩中に
- はじめてきたワカモノが自作した電子工作を紹介してくれた
- ダイソーで売ってる電池で動くデスクスタンドをUSBから電源を取れるようにしたもの
- はんだづけも上手にできてた。USBと電池を切り替えるスイッチを作ってた
- USBケーブルの中に入っているデータ通信用のケーブルを見分ける話や、電圧を図るときに苦労したことなどを説明してくれた。
- おとなはみんな感心してた。とてもいい刺激をもらったように思う。
今後のやってみたいこと
- 先月からの続き。
- 電源ON/OFF問題。レグザ以外は電源OFFにする状態のボタンが隠し機能でついているらしい。どうやったら、いま電源がついているかをしれるかについてアイデアも含めて話した。
- 音声認識。Juliusを使ったけど、うまくいかなかったので、IBMなどのCloudサービスを使ってためせないか?の話
- IFTTTを使った、ラズパイとの連携。次回はここ試すかも。
実験ターン
- なかうちさんが7segを持っていたのでためしてみることに
- プログラムでかくと、アノードコモンとカソードコモンの違いに気づく
- 20年ぶりにC言語でLEDを付けるコードかいている人がいた
- ワカモノとペアプロ。初めてのプログラミングだったそうなので、意外と説明することがたくさんあることに気づく。プログラムがうまく動いたので、感動して動画を撮ってた。
ふりかえり
- 今回、参加してくれたワカモノの自由な発想がとてもよかった。お互いにとてもよい体験ができた。
- アノードコモンの時の、ラズパイとの端子の接続方法について
ひさしぶりに新しい人がきてくれたのもあるけど、電子工作好きというのもあって、みんなだいぶ楽しんでいたように思う。僕もペアプロできて面白かったなぁー♪
次回は3/31を予定しています。
朝会について
前書きが済んだ?ので、朝会についてかいてみる。
毎朝 9時15分から10時00分までが朝会。だいたい9時50分に終わる。たまに10時ギリギリに終わったり、さらっと短く9時40分ごろに終わることもある。そういうのは異常値として、その日の活動に影響したりもする。全員にとって大事な時間。
朝会はいつも同じ会議室。チームメンバー全員が入るには結構、狭い。しかも、冬は寒く、夏はカビ臭い・・・咳おじさんが朝会のすこし前に空調をつけたり、脱臭剤を用意したりはしているが・・・ちょっぴり?きびしい環境で朝会をしている。
9時ごろに司会の自分は会議室に入って、プロジェクタをつける。ストーリーを眺めてたり、準備運動していると、徐々に会議室にみんなが集まってくる。メンバーはそれぞれ座ったり壁に寄りかかったり。はじめてみた時のこの光景はいまも印象に残っていて、すっごく全員がテンションが低くそうにみえて、大丈夫か?って思った。自分は朝会へのイメージがだいぶ偏っていたみたい。欧米的なイメージが強かったのかもしれない。あんまり関係ないけど、チームメンバーにはそれぞれ場所にお気に入りがあるのか、だいたい決まった位置にいる。あれ?なんなんだろうw
プロジェクタにストーリーの書かれたWiki(RWiki)を表示しながら、進んでいく。表示されるストーリーは今週のイテレーションにあるもので、順番にひとつずつ表示される。ストーリーのタイトルを司会が読みあげて、主に担当している人にパスをする。パスされた人がそのストーリーでできた今日の状態や次の設計について話す。朝会は設計をしていて、報告や連絡を目的にしていない。なので、ひとつひとつストーリーがとても細かく、具体的に話す。報告、連絡会だと思っていたのもあって、こんなに内容をつっこんで話すのかーって、だいぶ衝撃を受けた。
毎日毎日、そのストーリーや周辺について設計するので、詳細な内容や状況が勝手に頭に染み付いてくる。その場の全員が自分ごとになって、参加するので、昨日は問題ないように進んでいたものを、今日は考えを改めたり、やり直すこともある。
朝会の間は、携帯・スマホをいじるのはなし、あとノートPC持ってくるのもなし(司会だけがノートPC持参)、プロジェクターだけに集中。話が長引くと2次会ーって、司会が話を切ることもある。
最近、750イテレーション超えをしたチームの朝会はだいたいこんな感じ。
朝会の燃料、ストーリー
自分たちのチームは『ストーリー』という単位で仕事をしている。ストーリーがなんなのかわからないと朝会のことかいても意味わかんないかもしれないので、先にストーリーについて書きます。よくあるバグ管理のチケットや、タスクとは全く違うものですよ。
ストーリーとはXP(Extreme Programmmig)でてくる"User Stories"から生まれたものだそう。一般的な?アジャイル界隈では計画ゲームとかに使ったりするのかな?原文だとなんだか小難しい...
- http://www.extremeprogramming.org/rules/userstories.html
- http://www.extremeprogramming.org/rules/planninggame.html
自分たちでは、ユーザーが動かしてわかる事象の一つを1つのストーリーにしている。なんとか機能とか、なんとか処理とか大雑把なやつではない。あるストーリーが始めるときには、次のことがだいたいきまって始まる。
- ユーザーはなぜ?どういう目的で「それ」をするのか
- ユーザーは「それ」をするとどんなことができるか
- その次にユーザーはどんなことをするのか
いくつもストーリーが反復しながら進化していくことで大きな機能(処理)が完成する。ストーリーが1つできあがると、それまでにできた関連するストーリーを再評価する機会にもなる。ここまでストーリーができたから、次はこういう風に動作するのがよいかもとか、あの動作はこういう風に動作した方がいいかもとか、ひとつひとつのストーリーが大きなストーリーの1部になっていく感じ。わかりにくいですよね?
バグもストーリーとして扱っているのでそれで説明すると、ある機能がなにかのバグで動かなくなったとすると、”ある動作ができない”というストーリーが作成される。なのでゴールは”ある動作ができること”になる。
手順とか実現方法についてちょっとだけ書く。
RWiki( https://github.com/rwiki/rwiki )というRubyでできたWikiの『ストーリーカード』という機能をつかって実現している。ストーリーのページを作るとイテレーションごとに並べくれるもの。(他にもいろいろあるんだけど、それはまたの機会に)ひとつのストーリーには以下のようなことが書かれている。
- タイトル(文字通り、ゴールが書かれる)
- 種類(Story or Bug or Task)
- イテレーション(反復開発しているのでそのイテーレーション)
- ディスクリプション(概要が書かれる)
- サイン(主に担当する人)
- バージョン(複数バージョンあるので)
- 見積もり・実績(どのくらいかかりそうとか、いまはあんまり機能していない)
- 開発者の開発日記、メモ(想起のためもの)
- テスト(このストーリーを確認するためのテストケース)
だいたいのテンプレートはこんなところ。細かいところを書き始めるとキリがないので今回はここまで。手前味噌だけど、ちょっと前にこういうの書いてた。
https://speakerdeck.com/vestige/story