POStudy (プロダクトオーナー勉強会) LT @ Scrum Alliance Regional Gathering Tokyo 2013
Crystal勉強会#4 LT資料
-
Upload
taichiro-suzuki -
Category
Engineering
-
view
204 -
download
0
Transcript of Crystal勉強会#4 LT資料
Crystal にプルリクテロ
github/tbrand
自己紹介鈴木 太一郎
青葉というラーメンが大好きすぎて週一以上で通う
研究 C, CUDA業務 Ruby, Java, Swift趣味 Crystal, Ruby, Android
私情によりここは非公開とさせてくださいませ m(_ _)m
発表内容
「結構痛めの日本人がめっちゃプルリク出してくるよ」
プルリク 1Crystal を知った次の日に出したプルリクCrystal って Ruby との互換があるらしい=> Ruby にあって Crystal にないもの実装したらいいでは=> Array#nitems を実装 (crystal/pull/3501)=> そういうことじゃねぇと弾かれる
プルリク 2Crystal をいろいろ試していた時に気付いてプルリクURI.escape の挙動が Ruby と致命的に違う=> Ruby の方の挙動をする関数を追加 (crystal/pull/3515)=> 無視
プルリク 3Crystal で個人的に不便に感じたためプルリク`crystal build` がコードを指定しないと動かない=> プロジェクトのルートではコードを指定しなくても動けばいいのに=> `crystal init` で shard.yml 作るし=> 実装 (crystal/pull/3538)=> 「 shards で実装してくんない?」
プルリク 4プルリク 3 を shards に出す言われたように `shards build` を実装 (shards/pull/136)=> 紆余曲折=> マージ!
最近のプルリク• `crystal init` で作成される .gitignore に /bin/ を追加
• crystal/pull/3596• => マージ!
• crystal-mysql の MemoryIO を IO::Memory に• crystal-mysql/pull/13• => マージ!
まとめ• これからも痛い日本人代表でプルリクを出していきたいです。
完
宣伝
Topaz というライブラリを開発中github: tbrand/topazシンプルな DB ラッパー (crystal-mysql をサポート )
Version 0.0.2 をリリース!awesome-crystal にも追加していただきました
モデルの定義class SampleModel < Topaz::Model columns( {name: name, type: String}, {name: age, type: Int32}, {name: score, type: Float64} )end
テーブルの作成・削除SampleModel.create_table
データの作成・削除・検索・更新SampleModel#create,delete,update,selectSampleModel.where(“age = 25”).order(“score”).range(0, 10).select
モデルの関連付けhas, belongs など
dependencies: topaz: github: tbrand/topaz
インストール