mtsmfm blog

オフラインリアルタイムどう書く E19 の問題 - カード当てゲーム

オフラインリアルタイムどう書く E19 の問題です。

1からNまでのカードが2枚ずつある。 このカードは、奇数と偶数で裏に書いてある模様が違う。 これをシャッフルし、裏向きにして左から小さい順に2行に並べる。

並んでいるカードを当てよう。

図

入力

xxoxo,oooxo のような形式。 o は奇数、x は偶数、, は行の区切り。

つまり、この場合、1 ~ 5 までのカードが2枚ずつあり、

xxoxo

oooxo

のように並んでいるということ。

出力

2,2,3...

Read more

RubyKaigi 2017 で Language Serverの話をします

RubyKaigi 2017 で Language Server の話をします。 http://rubykaigi.org/2017/presentations/mtsmfm.html

この発表を通じて、Language Server というもの、その考え方を知ってもらい、 「あのエディタならこの便利プラグインがあるがこのエディタにはない」という状況が発生しないようにすることで、開発者が Ruby をさらにキメやすくなるといいなぁと思っています。 また、Ruby の静的解析について僕自身...

Read more

Docker 版 pow もどきの Yaichi を作った

複数のアプリが連携しているような Web アプリを開発する場合、アプリ A が localhost:3000 で、B が localhost:3001 で… というような構成にして手元では開発することがあるだろう。

現に Quipper では生徒向け、先生向け、管理者向け、問題作成者向け etc といったようにアプリがいくつもあって、ポート何番で動いているのかよくわからなくなる。 前々から Docker 版 pow みたいなのが欲しいなー (pow 使ったことないけど) と思っていたので...

Read more

オフラインリアルタイムどう書く E14 の問題 - サイコロできるかな

オフラインリアルタイムどう書く E14 の問題です。

追記: 当日発表中に自分で気づいて懺悔しましたが、ある場合のテストケースが足りずに出題者の回答が特定の状況で誤検出していました。 @Nabetani さんありがとうございます。

問題の概要

でたらめにサイコロの目を印刷した紙がある。 サイコロを作ることができるか答えよ。

入力

5262,4631,2644 のような形式。 数字はサイコロの目。, は行の区切り。 この値の場合上の図のようになる。

出力

true もし...

Read more

転職しました

5月末で永和システムマネジメント を退職し、Quipper に入社してました。

前職は新卒で入社し、学生時代コード書ける方とか思ってたけれど微塵もできないことを突きつけていただいたり、 プログラマとしてのありかた、仕事のやり方など非常に多くのことを学ばせていただきました。

仕事だけでなくコミュニティ面でも多くの刺激を得ることができ、西日暮里.rb とか OSS とかもこの会社にいなければしなかっただろうなぁと思います。

中でも一番影響を受けたのは @tkywtnb さんの「まずは自分...

Read more

SQL マスキングツール Vanir を作った

本番データと同様の分量、分布のデータが欲しいことはよくあるが、 個人情報を含むとそのままコピってくるわけにもいかない。

そこで *** みたいにマスキングする必要があるが、なんかそれっぽいのが見つからなかったのでえいやで作った。

https://github.com/mtsmfm/vanir

名前は某見通す悪魔から。

マスクしたいテーブル名とカラム名の yaml に Go のテンプレート書けばおっけー。

ハッシュ化できるようにしたのは、メアドなどの個人情報を外部キーに使っているよ...

Read more

オフラインリアルタイムどう書く E12 の問題 - 積むけど消えない

オフラインリアルタイムどう書く E12 の問題です。

問題の概要

5 種類のテトロミノを積んでいく。高さを求めよ。

テトロミノ

入力

3S0T2O3I のような形式。

数字は右にいくつずらしてから落とすか、文字 (I、 L、 O、 S、 T) はテトロミノの形。

出力

8 のような形式。高さ。

補足

実装ができた方は Qiitaの記事 のコメント欄からリンクを張っていただくと見つけやすくて助かります。

サンプルデータ

# 入力 期待 状況へのリンク
0 1O3L0I0T 5 状況
1 0I 4 状況
2 0I0I
Read more

西日暮里.rb 2年のふりかえり

この記事は IT勉強会/コミュニティ運営 Advent Calendar 2016 の20日目の記事です。

19日目は @ara_ta3 さんの 大体新卒(?)コミュニティDarkでやってるtips集 でした。

どうもこんばんは、@mtsmfm です。 Ruby と麻雀が好きです。 西日暮里.rb のオーガナイザーをしています。

西日暮里.rb は、主に最終月曜日に行われている地域.rb です。 西日暮里や神田や五反田などで、もくもく会をしたり LT 大会をしたりしています。 最近で...

Read more

オフラインリアルタイムどう書く E10 の問題 - 塗って繋ぐ

オフラインリアルタイムどう書く E10 の問題です。

問題の概要

黒い正方形それぞれを9等分して5箇所を白く塗る操作を X、4箇所を白く塗る操作を O とする。 操作を繰り返した結果、白の領域が繋がった部分がいくつになったか求めよ。

X

操作X

O

操作X

XO

操作X

ルール

入力

XOX のような形式。

各々操作の種類の名前。

出力

21 のような形式。

白の繋がっている部分の数。

補足

実装ができた方は Qiitaの記事 のコメント欄からリンクを張っていただくと見つ...

Read more