サーバーサイド勉強会(2017年5月)

サーバーサイド勉強会(2017年5月)

東京スタジオのエンジニアの小山です。

この記事では、5月中に行われたサーバーサイド勉強会の内容を紹介したいと思います。
サーバーサイド勉強会の紹介や4月分の内容は前回の記事を見てください。
https://developer.aiming-inc.com/study/server_side_study_201704/

5/11 LT

月初のLTです。

今回は全体的に真面目な勉強ネタという感じではなく、ゆったりとしたものが多かったです。(公開できるスライドが少なくてすみません><)

記号でRuby

社内である日突然出された以下の問題の解説でした。

Ruby (2.3.x あるいは 2.4.x) で以下の条件の下に Hello という文字列を標準出力に出力するプログラム、
あるいはそのようなプログラムを出力するプログラムを書きなさい。

アルファベット、数字、スペース、\u007f 以上のコードポイントの文字を利用してはならない
つまり↓の文字のみを使ってよい
解答時に、レイアウトの都合でプログラムの意味が変わらない程度の改行の挿入は許可

!"#$%&'()*+,-./:;<=>?@[]^_`{|}~

(回答の例はこちらです。)

解説されている間はなんとか理解できている気がするのですが、魔術を説明されているようでとても難しかったです><
解説のスライドは公開できませんでしたが、ぜひ皆さん挑戦してみてください。ちなみに僕は解けませんでした!

5/18 code smellを検出するreekのチェック項目を読む

reekというコードスメルを検出するgemのチェック項目を読む回でした。

Reek is a tool that examines Ruby classes, modules and methods and reports any code smells it finds.

https://github.com/troessner/reek/blob/master/docs/Code-Smells.md
このページにチェック項目一覧があるので、上から順番に眺めていきました。

どれもチェック項目として納得いくものばかりですが、実際運用することを想定したときに、

  • 全部デフォルトだと厳しい
  • ケースバイケースなのでどこに基準を設定するのか難しい
  • 養成ギプスとしては良さそう

というのが全体的な感想でした。
あまりプログラムを書くことに慣れていない・Rubyに慣れていないという場合には設定するとメリットが大きそうです。そうでない場合には、Reekの設定のメンテコストや指摘箇所の対応コストが発生し、メリットよりもデメリットのほうが大きくなりそうという印象です。
ただ、こういうコードスメルがある事自体はちゃんと認識しておく必要があるので、たまに思い出したときに初心に返る気持ちで見直したいなと思いました。

5/25 react-rails の入門ハンズオン

@yhirano55によるreact-railsの入門ハンズオンでした。
@yhirano55がこのハンズオンのために用意した資料を見ながら進めました。react-rails gemに特化した内容ではなく、Reactに触れてみよう、ReactをRailsで使ってみよう、という内容のチュートリアルでした。
資料がとても良くできていて、1時間という短い時間でしたがとりあえず動かすことができて基礎も理解できました。恐る恐るレビューしていたReactのコードも今はちょっと読めるようになりました!
資料は口頭での解説がなくても十分できるようになっていると思いますので、興味ある方はぜひやってみてください。

おわりに

5月はGWがあったので3回分だけでした。
今月はReactのハンズオンが個人的にとても良かったです。Reactに関する情報は色んな所で見聞きしてはいましたが、実際に触ったことがなく、なんとなく怖いという印象を持っていました。ですが、今回実際触ってみると全然怖くないなって思いました!
情報を見聞きして満足するだけでなく、実際触ってみることが大事だなと改めて痛感した回でした。