RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

大阪開発部のビアバッシュを開催しました ~技術ネタ~

MasaKuです。
ラクスでは月1回のペースで開発メンバーの交流会としてビアバッシュを開催しています。

ビアバッシュとはビールなどのアルコールを片手に(+軽食)フランクに技術内容について発表したり語り合う交流会です。
ラクスで行っているビアバッシュについては以下の記事が参考になるかと思いますので、よろしければご確認下さい。

tech-blog.rakus.co.jp tech-blog.rakus.co.jp

大阪開発部では毎月何らかのテーマを決めてビアバッシュを行っています。
今月、大阪の開発部で開催されたビアバッシュのテーマは「技術ネタ」です。
技術ネタといっても、硬い雰囲気は全くなく、業務に直接関係しないような内容について発表されている人がほとんどでした。
また、テーマに縛られないLT枠も毎回開催されており、こちらも毎回数名の方が発表しています。

簡単ではありますが、今月のビアバッシュの雰囲気をお伝えできればと思い、発表内容についてまとめさせていただきました。

f:id:MasaKu:20180617220021j:plain

ビアバッシュの様子。ちなみに、今回のケータリングは「サンドイッチ」でした。

テーマ枠(技術ネタ)

PHPのマジックメソッドについて

マジックメソッドとは、クラスに設定しておけば、明示的にメソッドを呼び出さなくても特定条件で自動的に発動するメソッドのことです。
__construct()は業務の中でもよく目にしますが、それ以外のマジックメソッドについては、PHPの学習初期に利用していた参考書に紹介されていたものを少し読んだくらいで、ほとんど知りませんでした。
マジックメソッドはフレームワークやライブラリの中で利用されていることが多いようで__call()__get()CakePHPでも利用されているようです。
発表は__callStatic()を中心とした内容でしたが、機能の説明だけでなく、どのように実装するかということを、書籍管理を例にして説明していただきました。
発表の時間内でライブコーディングするというテクニックも披露していただき、大変見ごたえのある発表でした。

これまでのPWAとこれからのPWAについて

Progressive Web Appsについては、Webアプリでありながら、ネイティブアプリのように振る舞うことができるもの、くらいの認識でした。
また、どこでもネットに繋がる現代において、オフライン環境でも利用できることのメリットはそこまで大きくないのではないかと考えていました。
しかし、データを端末にキャッシュすることで、アプリのレスポンスが早くなるという点もPWAの特徴であるということについてご指摘いただき、オンラインで通信する必要のある箇所を切り分けるという観点を見落としていました。
様々なフレームワークでPWAのテンプレートが利用できるようになってきている(React.js / Vue.js / Angular.js)ことから、PWAの開発が加速化することが期待されます。
Microsoftが今年中にPWAをWebアプリストアに追加することを発表したこともあり、今後のPWAのニュースにも注目しておかなければなりません。

www.itmedia.co.jp

Haskellの参照透過性について

Haskellの参照透過性のメリットについての発表内容でした。
なお、本発表は発表者とは異なる方が作成された資料を参照しながらの発表でした。(下記のslideshare
関数を実装する際に気をつけなければならないこととして、その関数がどのような値を受け取ってどのような値を返すのか、ということを明確に意識しておくことが挙げられます。
Haskellは静的型付き言語の中でも、制約が強いプログラミング言語に分類されるようです。
そのため、実装した関数が正しい型で設定されていない場合は、コンパイル時に失敗するが、裏を返せば、コンパイルで落ちなければ、関数の型が正しく設定できていることが保証されるということでもあります。
発表者の方は、Haskellのような強い静的型付き言語でプログラミングを行うことによって、PHPなどの制約の優しいプログラミング言語でプログラミングをする際にも型を意識する癖がついたとおっしゃっていました。
実装する際の心構えだけでなく、体に癖をつけておくことは大切だなと思いました。

Haskell Day2012 - 参照透過性とは何だったのか

LT枠(自由発表)

使い続けているツールについて

業務で使っているツールを2つ紹介してくださいました。

Wireshark
ネットワークに流れるパケット情報をリアルタイムで調査できるツールです。
Linuxのコマンドも利用できることに利便性を感じて、今でも利用されているようです。

knowledge.sakura.ad.jp

Vimium
ブラウザ操作をキーボードで行うためのツールです。
マウスを操作しなくてもブラウジングができることから、キーボードから手を離したくないような場合に便利で、体感的にはすごく楽とおっしゃっていました。
なお、以前のビアバッシュでこちらのツールと同様のcVimというGoogle Chrome拡張機能の発表をしている方もいらっしゃいました。
マウス無しでブラウジングすることの需要は一定存在するようですね。

Googleのデータセンターについて

Googleのサーバは、サーバを構成するビス1つからGoogleが自社で作成しているようです。
なんでも、利用している製品に脆弱性が発覚した際に攻撃されるリスクを回避するためなんだとか。
また、本発表で面白いと思ったのが、サーバの維持管理で一番コストがかかる箇所が、空調管理のための電力だそうです。
PUE(Power Usage Effectiveness)という、データセンターのエネルギー効率を表す一つの指標がありますが、GoogleではこのPUEが1.12~1.19程度らしいです。(業界標準は1.5程度)
以前耳にした話ですが、さくらインターネットでは北海道の冷涼な外気をサーバルーム内に取り込むことで、一般的な都市型データセンターと比較して約4割の消費電力を削減しているそうです。
サーバの維持管理のコストをいかに抑えるか、という話を聞くことで、Google検索を行う度にGoogleの電気が一部利用されているということをちゃんと意識できるようになりました。
提供されているサービスとはいえ、無駄なクエリ発行はできる限り抑えなければなりませんね。

www.sakura.ad.jp

Android Studio で作ったアプリについて

業務で行った内容の復習として取り組まれた、cURLで外部サーバにアクセスして情報を取得するAndroidアプリの開発について発表していただきました。
アプリの内容はWather HacksというWebサービスAPIを用いて、その日の天気情報を取得するといったものでした。
本アプリを開発する上での苦労話として、AndroidはOSのバージョンアップによって仕様が変わることから、参考にしている記事がどのバージョンのAndroidを対象とした記事なのかをしっかりと確認しなければ、うまく動作しなかった、ということを話されていました。
これは、自分が情報を収集する際のポイントとして、気をつけなければならないことでもあります。
しかし、新たに情報を発信する際も、環境依存となる情報は明確に提示しておくことで、記事の価値を高めることに繋がることを認識することができました。

tech-blog.rakus.co.jp

おわりに

いかがでしたでしょうか。
今月も様々なタイプの発表が聞くことができて、大変充実したビアバッシュになりました。
次回のテーマは「使用しているツール特集」ということで、次回も魅力あふれる発表が聞けるのではないかと今から楽しみです。

参考サイト

Copyright © RAKUS Co., Ltd. All rights reserved.