私のハッシュタグ活用術とビズリーチ勉強会に参加した話 #biz_kt
今日、ビズリーチさんの社内勉強会でKotlinについて発表してきました。 @takezoenさんからオファーをいただいたときは驚きましたが、とても楽しく発表させていただきました。
講演、執筆の依頼は、いつでもお待ちしていますので お気軽にお声かけください!
本日の資料はこちらです。
ハッシュタグ活用術
今日の勉強会で「ハッシュタグ #biz_kt でツイートしてね!」と言ったところ、「こんなの初めての試みだ」という声をいくつか聞きました。 私は発表するときに、よくハッシュタグの案内をすることにしています(@yusuke師匠の教え)。 ハッシュタグがあることで、より盛り上がったり、勉強会に参加していない人にも伝わったりと、いろいろいいことがあります。 ハッシュタグに関して、私が工夫していることを列挙します。
- 発表するときにハッシュタグを案内する
- 質問は、基本のハッシュタグと #q を一緒に、的な
- 発表後(あるいは発表中)にハッシュタグから質問を拾って回答
- 自分の発表の反省材料にする
- ブログ記事のタイトルにハッシュタグを含める(botやツイートボタンで共有されたときに広まりやすい)
- 発表スライドのタイトルにハッシュタグを含める
ハッシュタグ付きのツイートが多ければ、その勉強会は大成功と言えると思います。 みなさんもぜひハッシュタグを活用してみてください!
京都のKotlin勉強会で発表してきたよ〜 #kotlin_kansai
昨日、「Kotlin 1.0リリース記念勉強会 in 京都」に参加してきました!
経緯
Kotlin 1.0のリリースを記念して、関西でKotlin勉強会を開催するから登壇してほしいと @backpaper0さんからオファーをいただきました。 Kotlinコミュニティには協力したいし、関西の方々と会いたいし、そもそもKotlin好きだし、二つ返事でお受けしました。
参加者が40人以上という、わりと大きな会で、Kotlinを触ったことのない方も多く参加されると思い、 エバンジェリストの私には、Kotlinの導入部分や全体的な話を期待されているのかと思っていました。 しかし、@backpaper0さんに「初心者向けではなくて、初歩的でもない内容がいい!」と言っていただいたので、 意気揚揚とネタを練りました(発表資料は下に貼ってます)。
旅費の工面
私の所属しているエムスリー株式会社に、交通費・宿泊費を出してもらいました。 弊社でKotlinを開発に使用していることと、ゲストスピーカーとして参加するということで、快諾してくれました。
We're hiringです。 あなたとエムスリー いますぐジョイン
勉強会
会場提供は、株式会社はてな様です。 キレイなオフィス&無料自販機サイコー!
勉強会は大盛況でした。 セッション数は8個で、バラエティに富んだ内容でした。 また、参加者の皆様のノリもよく、登壇者としては非常に話しやすいムードでした。
私は「攻める!ラムダ式禁止おじさん」というタイトルで、 Kotlinでラムダ式を使わずに頑張る方法について発表しました。 スライドはこちらです。
カリー化について(35ページ)、ご指摘をいただいたので、誤解のないように説明します。
この関数invoke
は「カリー化を行う関数」ではありません。
スライドにも書いてますが「カリー化してるっぽく見せるための関数」です。
単なる部分適用に他ならないのですが、2引数関数の拡張関数としているのがミソです。
拡張関数ではなかったらinvoke(::minus, 5)
のような呼び出しになり、「全然カリー化じゃないよね」となりますが、
拡張関数なので(::minus)(5)
と書けて、「カリー化っぽい!」となるわけです(ならない?)。
2引数関数のカリー化を行う関数は、次のように書けます。
fun <A, B, R> ((A, B) -> R).curried(): (A) -> (B) -> R = { a: A -> { b: B -> this(a, b) } }
スライドにあるような3.let((::minus)(5))
は、3.let((::minus).curried()(5))
と書けます。
最後は、Kotlinポーズ(@yusukeさん考案)で締めました。
こっとりーん! #kotlin_kansai #jkug pic.twitter.com/4J0NeoqxTi
— 山本裕介 Yusuke Yamamoto (@yusuke) April 2, 2016
懇親会(というか飲み会)
関西のエンジニアの憩いの場(?)である、和知さんで懇親会をしました。 @daiksyさんにおすすめビールを教えていただき、@s_kozakeさんとジャンジャン飲みました。 お料理も、いろんな種類のビールも美味しかったです。
乾杯の様子。
🍻 #kotlin_kansai pic.twitter.com/pnMcyoMwSK
— 山本裕介 Yusuke Yamamoto (@yusuke) April 2, 2016
京都観光
勉強会の翌日(今日)は、京都を観光しました。 中学の修学旅行以来だったので、すごく楽しかったです。 桜がキレイだった!
清水寺からスタートして、近辺を散策しました。 なんか抹茶をタダで飲めたのラッキーでした。
— たろう (@ngsw_taro) 2016年4月3日
おわりに
運営スタッフの皆様、会場提供のはてな様、登壇者・参加者の皆様、ありがとうございました! すごく楽しかったです!(関西には良い思い出しかないッ!) 次回もできれば参加したいです!
(Special Thanks: @yusukeさん、@s_kozakeさん、@tan_go238さん。 懇親会やその後に、特にお世話になりました。ありがとうございました!)
Kotlin Birthday Party を開催したよ〜 #jkug
はい、本日、2月26日に開催しました!
めっちゃくちゃ楽しかったです!!!!!
#jkug Kotlin! Happy birthday🎉✨😆✨🎊 pic.twitter.com/QxGh97nn97
— たろう (@ngsw_taro) 2016年2月26日
#jkug 🎂 pic.twitter.com/DXIYhT6anq
— 山本裕介 Yusuke Yamamoto (@yusuke) 2016年2月26日
Developers in Japan celebrating Kotlin 1.0. Kotlin is Big in Japan. Even more the Alpha.... https://t.co/azME3CcQ40
— Hadi Hariri (@hhariri) 2016年2月26日
私が発表したスライドです。 Kotlin1.0のリリースまでの歴史を振り返りました。 やはり、Kotlinは発表当初から"pragmatic"を一貫しているのが素晴らしいと思いました。
KotlinでJUnitするためのライブラリつくったよ〜
作りました。
なぜか?
RobolectricでKotlinしたかったんですが、JUnit(というかhamcrest)が使いづらくて。。
と言っても、1つだけ。
assertThat(actual, `is`(expected))
この`is`
、すっごくイケてないw
is
ってKotlinでは予約語なので、`
で括ってやる必要があるのです。
で、作りました。
その名もknit(ニット)。
かわいいし、字面が Kotlin + JUnit な感じを出しているので気に入っています。
このknitによって、先ほどのコードは次のように記述できます。
actual.should be expected
わぁ、かわいい。
他にもいくつかの便利なAPIを用意しています。
よかったら、コードを読んでみてください。あと☆ください。かわいいアイコンもつくって欲しい。