mtsmfm blog

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

オフラインリアルタイムどう書く E06 の問題 - 目指せホゲモンマスター

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

問題の概要

ホゲモンリーグを勝ち抜いて、ホゲモンマスターになろう!

ルール

プレイヤー同士でホゲモンを戦わせ、総当たり戦を行う。

  1. プレイヤーは手持ちの中で登録した順に 1 匹づつホゲモンを繰り出し、常に 1 対 1 で戦う
  2. ホゲモンには体力があり、 0 以下になるともう行動することはできない

戦闘について

  1. 戦闘はターン制で、1 ターンに 1 回攻撃できる
  2. レベルが高い方が先に攻撃する
    • レベルが低い方は、体力が残っ...
Read more

OSS Gate でメンター参加してました

OSS Gateワークショップ2016-07-30に初参加してメンターしてました。

OSS Gate は「OSSの開発に参加する」を実際に体験するワークショップです。 詳細は公式ドキュメント参照のこと。

Tokyo RubyKaigi 11 での宣伝を見て来た人が多かったからか、 OSS の題材として Ruby や Rails を選ぶ人が多かった印象でした。 一方で僕が担当になったビギナーの方は Trac や Perl を選んだので、僕がメンターと言いながらどっちも経験がないのが不安で...

Read more

オフラインリアルタイムどう書く E04 の問題 - ドキドキ登山

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

問題

次の図は山を上から見たところである。

頂上 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8入力 2512:C

A ~ H が登山者、1 ~ 8 は方角、実線が登山道である。

A ~ H のうち登頂できた人を求めたい。

ルール

登山には次のルールがある:

  1. 登山道を麓から頂上に向かって登る
  2. 登る際に、横方向の登山道があればそちらを通る

ただし、一部の登山道は頂上から...

Read more

ESM オフラインリアルタイムどう書くを開催しました

オフラインリアルタイムどう書く という、 @Nabetani さん主催のイベントを模したものを ESM の社内イベントとして行いました。

問題はこちら

開催の経緯

オフラインリアルタイムどう書くは @Nabetani さんが当日出題した問題を 1 時間で解いて、解けたり解けなかったりした結果を互いに発表する、というイベントです。 過去に何回か参加し、なかなかにおもしろいのでこういうのを社内でも次は出題者としてやってみたいなぁと思っていました。

一方、ESM では 60 min とい...

Read more

新年あけました

あけましておめでとうございます。

去年はすごい Haskell 読むだけで満足しちゃった感じある。 lazy 的な部分が Ruby でも発想として出てくるようになったのが収穫かも。

今年は JS かなぁ。仕事でも騙し騙し使ってる感じがしている。

あとは GitHub にもうちょっと草を生やしたい。 テストを直すとか、分かりやすいところから手をつけようとしている。

なんか compass のテストが落ちているのが気になって PR 出してみた。 compass#1912

listen...

Read more