超絶楽しいカードゲームnimmtについて

この記事はよちよち.rb Advent Calendar18日目の記事です。前日の記事は5t111111さんの「よちよちバンドを夢見て」でした。僕は生憎ながら音楽にはそれほど詳しくないのですが、「トムをトムでトムするトムさんのトム、いつかトムしたいな!!」って思う素敵な記事でした!

さて、今日も昨日に引き続きRubyから離れた内容になります。
よちよち.rbをきっかけに知ったカードゲーム、「nimmt」についてです。

nimmtとは

「ニムト」と発音します。
ドイツ生まれのカードゲームで、正式名称は「6 Nimmt!」と言います。英語にすると「6 Not!」です。関西弁だと「6枚目はあかんで!!」といった感じでしょうか。
詳しくはwikipediaをご参照ください。

僕がこのゲームを知ったのはつい最近で、よちよち開発合宿で@to0526さんが持ってきてくださったのがきっかけでした。
合宿中、僕らはこのゲームのシンプルさと奥深さのすっかり虜になりまして、計20ゲーム近く遊んでいました。

あまりにもこのゲームに夢中になりましたので、開発合宿の帰りの踊り子でポチってしまったのですが、ひとつ誤算がありまして、カードゲームって、一緒にやる友達が必要なんですよね...。

僕は友達が少な...

いやいや違うんです!!!!!11
このカードゲームの楽しさを理解してくれる友達にまだあまり巡りあえていないだけなんです!!
というわけで、ぜひこの楽しいカードゲームを布教したいという思いで、筆を取った次第です。

遊び方

人数

説明書によると2〜10人でできるそうです。
でも、僕は2人でもやったことがありますが、なんだか味気ない感じがしました。
オススメは5人くらいかな。

カードについて

こんな感じのカードが1〜104まで1枚ずつあります。
書いてある動物はおわかりだと思いますが、牛です。

f:id:highwide:20141218013154j:plain

カードの置き方

104枚のカードからランダムに4枚、表向きで場に出します。 そして、各プレイヤーには10枚のカードを配ります。そうです。7並べみたいな感じです。 7並べはその数の隣の数字しか置けませんが、nimmtでは、以下のようにカードを置くことができます。

f:id:highwide:20141218021811p:plain

プレイの流れ

また、7並べでは時計回りなどでカードを順番に出していきますが、nimmtはカードの出し方がミソなのです。 このように「いっせーのせっ!」でみんなでカードを出します。

f:id:highwide:20141218013451j:plain

そして、出した数字が低い人から順番に、先ほどのカードの並べ方ルールにしたがって、カードを並べていきます。
みんなのカードを並べ終わると、こんな感じになります。

f:id:highwide:20141218013437j:plain

※一人で再現して撮影しています。

「6 Nimmt! (6枚目はあかんで!)」って?

このようにカードを並べていくと、1列のうち6枚目のカードを置く人が表れます。 しかし、このゲームの肝は、6枚目を置く人に ならない ということなのです。 6枚目を置くとどうなるのか...。
それは、これまでに置かれている1〜5枚目までのカードを自分の得点(手札とは別)として取らなくてはいけないのです!
得点は取ったカードに書かれている牛の数の合計です。

f:id:highwide:20141218023222p:plain

nimmtでは皆の手札がなくなったとき(=手札は10枚なので10ターン)に、得点が 低い 人が勝ちです。 つまり、最高得点は0点ということです。

その他の大事なルール

自分が出したカードが場のカードのどれよりも小さかった場合はどうなるかというと、自分で好きな行を選んで、取ることになります。
確実に得点が入ってしまうので損するかと思いきや、「まともに出すと6枚目になってしまいそうだから、1点で済ませておく!!」など、実は戦略の考えどころなのです。

というわけで...

ここまで文と写真で大まかなルールだけ説明してきましたが、わからなくても問題無いです!!
一度やればすぐ覚えますから!!!
※「じゃあ、このエントリの意味なくね」は禁句とする。

どうですか、皆さん?
ふいんきが伝わっただけでも、やってみたくなりませんか!?

もし今すぐにでも一人でいいからやってみたいと思われた方にはこんなのもあります。

odaillyjp/nimmt

これはなんと、よちよち開発合宿の帰りの踊り子で、nimmtをポチっている僕をよそに、Rubyでnimmtを実装した@odaillyjpのリポジトリです!!!
まさにRubyistの鑑ですね。

そんなわけで、ぜひご興味持たれた方は何らかの手段で僕までご連絡いただいて、nimmtやりましょう!!


よちよち.rb Advent Calendar、明日はumekumiさんの「 デザインにまつわる何かかな。」です。
Yomeeruにおいても大変素敵なデザインをつけてくださったumekumiさんのデザイン論、楽しみにしていますー!!

bonbon_0605さんの結婚式にかこつけて、有志でRailsアプリ作った

よちよち.rb Advent Calendar13日目の記事です。昨日は@ta1kt0meさんの「2014年反省会」でした。 いつもよちよちのmeetupなどで@ta1kt0meさんの勉強熱心なところに刺激をいただいているので、そのリズムが今年から生まれたというのはびっくりでした!

さて、僕のエントリでは、その@ta1kt0meさんらと一緒に行った「@bonbon0605さんの結婚式にかこつけてRailsアプリ作った」話をさせてもらいます。

経緯

10月のよちよち.beer(*1)二次会、ビール好きの@yuki3738さんが「IPAがうまい」と連れてきてくれた渋谷のバーで、いい感じにほろ酔いの僕たちは、しょうもないことばかり話していました。

正直に言って、いい感じにほろ酔い過ぎたし、いい感じにしょうもない話ばかりしていたので、 なぜそんな話になったか全然覚えてない のですが、「新婚の@bonbon0605さん!!!Kajaeru(*2)の投票者の中に、自分の嫁(*3)がいたらどうしますかwww」みたいな話をしたような気がします。
Kajaeruは@ta1kt0meさんが「冠者を選る」というステキネーミングセンスでつけたアプリなのですが、それにならい「嫁を(選|得)る」みたいな二番煎じもいいところなネーミングセンスで、「じゃぁ、Yomeeruですねwwww」みたいに盛り上がったように思っています。

すいません。素面で、酔っぱらってたときのこと書くのってつらいっすね...。これ、何がおもしろかったんでしょう...。
とにかく、このときは飲み会の1ネタに過ぎない、ジョークでしかなかったのです。

着手

11月のよちよち合宿(*4)で、各自どんな作業をするかという話になったとき、ふと僕は先のよちよち.beerでのジョークを思い出したのです。また、@bonbon0605さんが12月に結婚式を挙げられるとおっしゃっていたことも思い出しました。
そして、こう思いました。

「飲み会のジョークでしかなかったYomeeruを、よちよち.rbからのお祝いアプリという体で作ったら、美談じゃね?(ゲス顔)」

そこで、よちよち合宿で「Yomeeru」を作ることとしたのです。
この僕の企てには、冒頭書いた@ta1kt0meさんに加えて、@yucao24hoursさん、@to0526さん、@umekumiさんも乗ってくれました。

また、せっかくなら@bonbon0605さんには秘密にしたいということで、厳戒な情報統制を敷くことになりました。Twitterを使って、@yucao24hoursさんが「合宿で各自が何をやっていたか」ということをつぶやいてくれていたのですが、僕はこの通り。

※ちょっと前から作ってたSinatraの占いアプリを利用したカモフラージュ

どうやって開発したか

  • ソース管理
    よちよち.rbでは普段、GitHubyochiyochirb organizationを使うことが多いのですが、当然ここで開発しては@bonbon0605さんへもnotificationが飛ぶことになるので、別にorganizationを作ることとしました。
    その名も happy-bonbon0605
    お金出し合って、プライベートリポジトリにするという案も考えたのですが、結局別のorganizationであればバレないだろうと判断しました。
  • タスク管理: Trello
  • CI: Travis CI
  • サーバー: Heroku
    PRベースのチーム開発をしていたので、masterにmergeされた契機でHerokuにデプロイされるようTravis CIの設定を入れました。
  • コミュニケーション(チャット): idobata
    「Yomeeru」ルームを@yucao24hoursさんに作っていただきました。
    GitHub, Trello, Travis CI, Herokuとすべての情報がidobataに通知されるのでいい感じでした。
  • @bonbon0605さんへのネタばらしツール: 電報

f:id:highwide:20141213115914p:plain

完成

こんなアプリになりました。

https://yomeeru.herokuapp.com
(よちよち.rbのメンバーの方であればログインして、皆のメッセージを見ることができます)

  1. GitHubアカウントでログインする
  2. @bonbon0605さんのアカウントだと投票画面に遷移する
  3. 候補者の中から奥様を選ぶまで根気強く投票し続けると、奥様へのメッセージ画面へと遷移する
  4. 十分な長さのメッセージを入力すると、よちよち.rbからのお祝いの言葉が見られる

※ 画面イメージ

f:id:highwide:20141213124948p:plain

f:id:highwide:20141213124955p:plain

結果






f:id:highwide:20141213121317j:plain

結婚式の日を、いつの間にか勘違いしていた

ええと、今の今、気が付きました。電報の画像アップロードしたときです。
開発中、結婚式は今日(12/13)だと思ってたので、つい先程までデバッグしていたのですよ。
でも、実際は昨日(12/12)でした...。そして、電報は正しい日付で送っているという...。
昨日、電報を見た@bonbon0605さん、まだバグっててログインできないyomeeruを見てしまったのでは!?と思い、慌ててFBでメッセージを送ったところ、式のためご自宅を離れていることもあり、アプリはまだ見ていないご様子でした。
(もしかしたらバグってたから黙っていてくれたのかも)

というわけで、ご自宅に帰られてから、ご確認いただけるそうです。
そのとき、少しでもよちよち.rbからのお祝いの気持ちが伝われば嬉しいです!

謝辞

というわけで、技術的な話は全然していないのですが長くなりましたので、この記事はこれくらいにしようかと思います。 最後に、思いつき先行の僕の発案に付き合ってくだった皆様に感謝を。

Kajaeruにつづいて、No1 Contributionを達成された@ta1kt0meさん、
本当の本当に素敵なデザインをつけてくださった@umekumiさん、
application.ymlによるstagingとproductionの柔軟な運用を実現してくださった@yucao24hoursさん、
うまくログインできないというバグをスッと取り除いてくださった、@to0526さん、
Yomeeruに載せるメッセージを提供してくださったよちよち.rbの皆さん、
本当にありがとうございました!!

そして...
@bonbon0605さん、ご結婚おめでとうございます!!!!!!


以上です。読んでいただきまして、ありがとうございました。
明日はよちよち.rbの宴会部長こと@altarf8さんの「 yochiyochi.beerとは (仮)」です!楽しみ!

脚注

  1. よちよち.beer: だいたい月イチくらいのペースでやっているよちよち.rbの人たちによる飲み会。詳しくは明日のよちよち.rb Advent Calendarを参考にするといいかも?
  2. Kajaeru: Ruby Kaja(コミュニティから一名「有名ではないけど、優れた活動をしている Rubyist 」を選出する企画)を選出するために、よちよち.rbメンバーで作ったRailsアプリ
  3. ちなみに@bonbon0605さんの奥様はよちよち.rbのメンバーではありません
  4. よちよち合宿: 11月に行われた伊東での開発合宿。各自好きなテーマに臨む2泊3日でした。

編集履歴

12/15 8:08 タイトルを修正しました。

ムラッ気のことを「モチベーション駆動」とか言えばそれっぽいんじゃないかな

さて、前回のエントリでブログ再開を誓ったわけですが、どうしてブログをまた書こうかなぁと思ったのか書いていこうと思います。

よちよち.rbに参加するようになった

はい、これに尽きます。

1月にBlog放置し始めたものの、自分の中では「あー、なんか、やらなきゃなーー」という気持ちが沈殿していたのですが5月くらいに「よし、やるかー!」くらいに思うようになります。
僕はムラッ気なので、そんな風にモチベーションに波があるのですが、このときはBlog放置している後ろめたさもあって、「今度はモチベーション維持できる環境を作ろう!」と思いました。
そこで思いついたのが、Rubyは勉強会などのコミュニティが盛んと聞いていたので、そこに参加しようということです。(定期的に勉強会に参加していれば、ペースメーカーになるんじゃないかなぁと思った)

どうやってよちよち.rbを見つけたか

普通に「Ruby 勉強会」でググりました。

ただ、最初は、Rubyのコミュニティって「地域名+".rb"」になっているイメージが強かったので、やっぱり自分の住んでいる地域に".rb"がついているコミュニティに参加すべきなのかなって思ってしまいました。(僕は千葉県市川市在住)

  • Ichikawa.rb
    => ないみたいだなぁ。

  • Chiba.rb
    => あまり活動してらっしゃらないのかな?どちらにせよ、千葉駅付近だと通うのが地味にめんどいなぁ。

うーん、千葉だとないのかなぁ。というわけで、東京を選択肢に。

  • Shibya.rb
  • Tokyu.rb
    => 縁もゆかりもない場所だし参加資格ないんだろうなぁ...。

  • Asakusa.rb

  • Ginza.rb
    => うーん、東東京だったら、参加してもギリギリ許されるのかなぁ。

なんて考えてたら、「よちよち.rb」というものを発見。
この名前なら、千葉県市川市在住の、勉強会すら初めてのRuby初心者でも、気兼ねなく参加していい...はず。
と思って、恐る恐るDoorkeeperの「申し込む」ボタンを押した次第です。

※あとから、地域ごとのコミュニティって厳密に参加資格を定めてるわけじゃない、とか、「◯◯.rbは神々が集うコミュニティだからハードル高かったかもよ」とか、いろいろ知りましたw

よちよち.rbって?何やってるの?

ゆかおさん( @yucao24hours )が主催されている初心者限定のRuby on RailsGitHubについての勉強会です。
詳しくはこちらのGitHubリポジトリに=> https://github.com/yochiyochirb/meetups

2014年9月末の現在、こんな感じで活動しています。

  • 月曜 20:00〜22:00 meetup(実際に集まることをそう言うらしい)
    Rails TutorialというRuby on RailsのWeb上のチュートリアルの読書会をしたり、月に一度復習会やもくもく会をやったり
  • 木曜: 22:00〜23:00 オンライン読書会(チャットしながらみんなで同じ本を読む)
    「Webを支える技術」
  • 日曜: 8:00〜9:00 オンライン読書会
    「Rails3 レシピブック」
  • その他:

僕はmeetup、日曜の読書会、突発的なイベントをできるだけ参加するようにしています。(木曜は残業になってしまうことが多い)
なんかサークルみたいですが、どんどん新しい人もいらっしゃるのでサークルとはちょっと違う感じもあり、楽しいです。

以下、5月末〜9月まで参加してみての感想を書きます。

感想① 実は皆さん全員が「よちよち」しているわけではない

ただ、皆さん本当に初心者に優しいので、全然わかんなくても「は?」みたいになることがありませんでした。
僕はGitの操作に慣れず、Rails Tutorialの文章と関係ないところでつまってしまうことがあったのですが、めちゃくちゃ丁寧にグチャグチャになったBranchを戻すことに付き合っていただくなどして、感動しました。

ちなみに、そのとき教えていただいたのがこんなgit logコマンドのオプション
(すっごくきれいにGitのCommit logが見られる)

git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all

また、意識高い人やRubyが本当に好きな人が多いので、「参加した最初はよちよちだったけど、どんどん力をつけていった」という人も多いみたいです。
なかにはそのままRubyを使う会社に転職した方も...。

もちろん、僕のように勉強会に参加したことがない方や、プログラミング経験のない方もいらっしゃるのですが、「わかるようになってきた人がアドバイスして、わからない人がわかるようになっていく」というサイクルがすごいのかなぁと思っています。

感想② リアルで集まる勉強会で学べることってとても多い

たとえば、こんなこと

  • GitHubを職場で使っている方のPull Requestの出し方やCommitメッセージの書き方
  • よく使われるgem/ライブラリなど(pryやbetter_errorsなど)
  • Rubyコミュニティの中の人について (こういう人がいる/これを書いているのはあの人 など)

あとは、勉強会のメインテーマであるRails/GitHub以外の話でもいろいろ学びました。

※このへんのことはバラして、後ほどのBlogネタにしていこう。

感想③ モチベーションのペースメーカーになる

初心者にもわかるように、Rails Tutorialの読書会をやっているので、ペースは必然的にのんびりになるので、meetupだけでRailsが書けるようになるかというと、もしかしたら少し難しいのかなと思います。
このへんは会社での技術研修との違いだと思うのですが、その分、モチベーションのペースメーカーにしたいという僕にとってはこんなに素晴らしい勉強会はないのでは!と思っています。

「毎週やっている勉強会なんて少ない。ましてや、一週間にオンラインでの活動も含めると複数回の活動なんてすごい!」というニュアンスで「よちよち.rbはマッチョ」と冗談交じりに言われていることを後から知ったのですが、本当に毎週モチベーションが高い方たちにお会いできるってのはすごく大きいです。

だからこそ、よちよちで学んだことを自分で活かす機会を作ろうとアプリを作ってみたり、読書をしてみたり、Blogを書いてみたりと、いろいろ触発されている次第です。


そんなわけで、ここ最近のことをアウトプットしようといろいろ書き連ねてみました。 ちょっとエモすぎ、長すぎになりましたが、言いたかったのは、今さら自分のムラッ気は治らないだろうけど、「モチベーションが高いときに、モチベーションを維持しやすい環境に身を置いておく」ことが大事なのかなぁということです。
僕は幸運にもそういうコミュニティに出会うことができました。

ついでに、「ムラッ気」だとネガティブな言い方ぽいので、「モチベーション駆動」とか言い換えて、最大限ポジティブっぽい言い方を提案しておきます。

最後になりましたが、よちよち.rbの皆様、とりわけ主催のゆかおさんには、心より感謝です。
これからもよろしくお願いします。

三日坊主にもなれなかった僕の最近

どーん!!!!!

f:id:highwide:20140921114340p:plain

(このBlogの 前回 のエントリ)
こ の 有 り 様 だ よ !!

意識の高い(笑)エントリを2つほど書いて三日坊主にもなれなかった僕ですが、5月くらいから少しずつRubyの勉強を再開していて、Blog書くネタもたまってきたので、n度目の再開を誓う次第です。

最近のやったこと

  • よちよち.rbというコミュニティに参加するようになりました。
    • 毎週月曜日、meetup(Rails Tutorialの読書会)に参加しています。(可能な限り)
    • 毎週日曜日の朝からRails3 レシピブックのオンライン読書会に参加しています。

      Rails3レシピブック 190の技

      Rails3レシピブック 190の技

    • よちよち.rbからRuby Kajaを選ぶアプリ「Kajaeru」にコントリビュートしました。

    • RubyHirobaに参加して、今、このBlogを書いています。
  • Fesdy」というフェスの予習サイトを、Rails4+Herokuで、会社の同期、後輩と作りました。

このへんの話を少しずつ、Blogに投下していきたいなと思います!

あんまり頑張り過ぎるとまた続かないので、今日はこのへんで。

何か始めたいなと思った僕がRubyを始めてみた最初のエントリー

こんにちは。highwideです。

さて、前回のエントリーで「何か始めたい」と書いたのですが、Webサービスを作ってみたいなぁという目標に向けて、勉強の対象としたのがRubyでした。

◆なぜRubyを選んだのか(あるいは僕のRubyへの印象)
  • Javaは入社時研修でやったけど、なんだか重厚長大なイメージ (もっとLiteでいいのだ)
  • JavaScriptは少しだけかじったけど、もっとつぶしの利く言語をやりたいと思った(node.jsなどがあることは知っているけど、サーバサイドとしてもっとポピュラーで、スクリプトとしても使える方がよかった)
  • PerlPythonに比べて日本語ソースが多いイメージ
  • 特にRuby on Rails、Mojolicious(Perl)、Django(Python)を比較すると、Railsが一番情報多いイメージ

というわけで、Ruby


こんな風に勉強していきます↓↓

1.ドットインストールでRuby/Ruby on Railsの講座をひと通り見る

  Rubyhttp://dotinstall.com/lessons/basic_ruby
  Ruby on Railshttp://dotinstall.com/lessons/basic_rails_v2

⇛正直に言います。ひと通り見たのはずいぶん前です。。
Railsは105日前、Rubyに至っては276日前って…。こうやって、かじってはすぐ挫折を繰り返していたけれども、今、またリスタートをしようとしているというわけなので、気にせずにやっていきたいと思います。エッセンスは忘れていない…はず。

2.はてブホッテントリに釣られてみる(イマココ!)

⇛これです。「僕が考えた最速・最小投資でRubyを学ぶ方法またはステマ乙

積極的にステマに釣られてみました。自分への投資と思って500円チャリーン。
画面左にiBooks、画面右にiTerm2って感じでやると捗ります。

f:id:highwide:20140102152153p:plain

今は、Rubyオブジェクト指向(?)の考え方に少し戸惑っています。
yield?proc?lambda?難しい…。
…自分の整理のために、次回エントリーでまとめたいと思っていますが、できるかな?

「ブロックを渡す」というのはなんとなくわかってきたのですが。

3.SinatraRailsを使って、簡単なWebアプリケーションを作ってみたい

⇛大きく出ました。(どーん)
とは言っても、きちんと勉強していけばそんなに難しいはず。ドットインストールの講座の通りやっていくだけで、あれよあれよという間にlocalhostにWebアプリケーションができたわけだし。問題はインフラどうするか、とか、そもそも「どんなものを作るの?」とか、そんなところでしょうか。

4.「たのしいRuby」をひと通りやってみる(予定)

⇛晴れてWebアプリを作ることができても、まだまだ応用力がついていないんだろうなぁと思っています。各所でオススメされているこの本で、知識の定着と、いろんな書き方を学びたいなと思っています。

オライリーの「初めてのRuby」も各所でオススメされて気になるのですが、難しそうだなぁというのと、少し古いのでためらっています。

初めてのRuby

初めてのRuby

5.未定!

⇛まぁ、やってくうちに目標などが変わるだろうし、柔軟にやりたいなと思います。

_____


2014/9/21 追記:
あまりにも気に入らない表現があったので、一部修正しました。

瞬間風速的に意識が高くなっては飽きる僕がリスタートしようとする記録

こんにちは。
highwideと言います。

SEをやっています。
このブログでは、「何か作りたい」と思って入った会社(SIer)で、思うように「作ること」に携われない鬱憤を晴らしたいなと思っています。
ITによる「何か作ること」への挑戦ができればいいのですが。

今の僕の経歴やスキルなどを簡単に書きます。

 ・文学部卒業
 ・SIer新卒入社3年目
 ・仕事は「調整」という名の、電話とメールとExcelの「課題管理表」
  (コーディングすることは0)
 ・Javaを入社1年目研修で教わってそれっきり
 ・基本情報と応用情報に加えて、昨秋セキュリティスペシャリストを取りました!
  (ギリギリだったけど嬉しかった)
 ・英語は全然できない(TOEIC600点以下)
 ・「スタートアップ」というほどでないけれど、Webサービスを作ってみたい
 ・↑じゃあ今やれよと思って、技術書買ったり、
  ドットインストール見たりするけど、それっきり…
________

このままじゃアカンという危機感もあって、体系的に技術を学んでいきたいなと思った次第です。
そして、せっかくなら、つまづいたところやなるほどと思ったことなどを記録しておこうと。
マイペースで飽き性!という言い訳をあらかじめ用意しておくのですが、少しずつ書いていければいいなと思います。
#このブログも、何度、「意識の高い()1エントリーのみ書いてはそれっきり」ってことを繰り返したか…。

よろしくお願いします。