builderscon tokyo 2017 2日目 ~アウトラインメモ~

builderscon tokyo 2017の2日目のレポートです。

builderscon.io

1日目のレポートはこちら。

braitom.hatenablog.com


builderscon 2017 tokyo day2

3Dプリンタで作る1次元セル・オートマトン 階差機関 、アナログコンピュータ

speakerdeck.com

  • 階差機関と3Dプリンタ
  • デルタ型の3Dプリンタ使っている
    • 中国語の説明書見ながらつくった(中国語分からないから写真見ながら…)
  • 階差機関
  • 桁上がりの仕組み
    • 出っ張り見たいのがあってそれで分かるようになっている(0-9管理している)
    • 原理的には10進数以外でも実装できるはず?
  • 設計方針
  • 産業革命時代になぜ達成できなかったのか?
    • 精度が足りない
    • 人の問題、金の問題
  • 今の時代ならできるのでは?→そう3Dプリンタならね
  • CADソフト
    • OpenCADだといろいろツラくなってきたのでFusion 360
  • 3Dプリンタの苦手なこと
    • Z軸方向に長いとブレる
    • 摩擦がかかるパーツは苦手
  • 積層型3Dプリンタのつらいところ
    • 浮いているとことは苦手
      • サポート材で対応→しかしサポート材取り除くのつらい
      • 分割しちゃうという手も

所感

階差機関って何ぞや?状態でしたが、図を用いた説明がかなり分かりやすかったです。ぜひスライドで確認してみましょう。
3DプリンタのTipsもためになりました。昔、3Dプリンターでちょっと遊んでいたこともあるのでサポート材を取るのが面倒くさい問題は良く分りますw

階差機関の歯車の仕組みなんて絶対自分では調べない領域なのでとても楽しめました。歯車の仕組みすごい。産業革命すごい。 しかし、昔最先端だったものを現代の技術の力で個人が開発するって面白いですね。

今日から使えるCSS Grid

geckotang.github.io

  • CSS Grid
    • より複雑なレイアウトに対応するために登場
    • Flexboxもあるけどちょっと足りていない
  • グリッドレイアウトを作りやすい
    • CSS側にレイアウト情報を持つのでHTMLがシンプルに
    • Flexboxは縦、横どちらかの整列
    • CSS Gridは縦、横両方の整列ができる
  • ブラウザ対応状況
    • IE10+とEdge以外は対応している
      • IE10とIE11は古い仕様を参照している
        • 使えるけどできないことがある
        • polifillあるけどお勧めしない
      • Edgeは次のバージョンから新しい仕様に対応する
  • CSS GridとFlexboxの使い分け
    • CSS Gridが向いているもの
      • 大きい部分だとウエブサイトの大枠
      • 小さい部分だと縦横に揃える必要のあるリスト
    • Flexboxが向いているもの
  • 参考リンク

所感

CSS GridとFlexboxってどちらかだけを選んで使うものと思っていたのですがそんなことないのですね。同じ画面でも場所によってそれぞれのメリットを理解して適用させていくのが大事ということが理解できました。
使い分けでも紹介されていたように、パターンとしては大枠のレイアウトをCSS Gridで整えて、細かいところはパターンによってCSS GridかFlexboxを選んでいくって感じになるみたいです。
この辺は実際に自分のページレイアウトに当てはめていって試行錯誤しながら学んでいかないと感覚つかめないかなあと思いました。

polyglot になろう !!

speakerdeck.com

  • polyglotって?
  • polyglotだと何がうれしい?
    • ある言語の概念を他の言語に持ち込める
    • 他の言語の経験によってより理解が深まる
    • 2つ目以降の言語はより簡単に習得できる
      • 新しい言語は何かしらの言語の影響を受けている
    • 作れるものの幅が広がる
      • 言語ごとに得意分野がどうしてもある
  • polyglotになるには?
    • やる気と時間
    • 全く別の領域に手を出してみる

所感

感覚的に、確かに初めてのプログラミング言語を学ぶときは「あっ、これはあの言語でいうあの機能に該当するものだ」っていうことがありますよね。そういう感覚をうまく言語化してまとめてくれているなあと思いました。
複数言語を完璧に使いこなすのは難しいかもしれませんが、2つくらい覚えておけばその知識を活かして何とかできる気がします。

しかし、他の言語をやってみようって思うきっかけって何なのでしょうね?
全く別の領域に手を出してみる方法を推奨されていましたが、今の時代どの言語でも結構色んな領域に対応できちゃうのですよね。プロダクトレベルだと無謀だと思いますが個人開発レベルだとそれでもなんとかなってしまうので悩ましいところです。

WEB+DB PRESS 100号記念 特別企画

  • Vol.1~
    • vol.1はJSP徹底入門!
    • vol.2で宮川さん登場
    • vol.3から稲生さん参加
    • 4月の新人歓迎号と総集編が売り上げよくなる
    • この辺りはJavaの時代、特集1は全部Javaだった。使っている言語、これから使いたい言語ともにNo1だった
  • vol.25~
    • vol.27でAjax登場
    • vol.28でRails登場
    • vol.32で大幅リニューアル、連載増やした
    • vol.36、Seasar2によるスーパーアジャイルなWeb開発。この頃Seasar2全盛期
    • vol.43でAWS初登場
    • vol.46、最初で最後のPython特集
    • 時代がWindows中心からLinux
    • XMLが減ってきた(紙面数的にも嬉しい感じに)
  • vol.49~
    • vol.49、仮想化が一般的になってきた。VMware ESXi特集
    • vol.50、Git登場
    • vol.51でRails特集
    • vol.57、Android特集
    • vol.69、GitHub特集
  • vol.73~
    • vol.75、Infrastructure as a code流行ってきた
    • vol.79、Docker登場
    • この辺りは結構最近なので記憶が新しい
  • Q&A
    • 編集部ではどのように技術キャッチアップしてるの?
      • イベントやSNS
      • 著者に直接教えてもらう
      • 自分が知りたいことは記事や本を書いてもらうw
    • ライターの探し方は?
      • 毎号5人から10人くらい新しい人が書いている
      • 記事書いたことある人に頼めばOk
      • 著者経由で
      • 1懇親会1企画を目指していく
    • 「WEB + DB」とは
      • あまり意識していない
      • Webアプリケーション開発のためのプログラミング技術情報誌という中心だけを意識
      • 役に立つなら何でも載せる

所感

技術の歴史を振り返ることができた。 私がこの業界に入ったのは2007年なので自分が触れてきた技術の振り返りって意味もありとても楽しめました。
こう振り返ると、その時代の旬の技術についてはちゃんと情報追えてキャッチアップできてきているのかなーと思いました。
こういう感じで定期的にトレンドの流れを振り返るのは大事ですね。今後何をやればいいのかも見えてくる気がします。

The Evolution of PHP at Slack HQ

  • Slackの開発している
  • DAU
    • 北米、UK、日本の順。日本は結構多い
  • 有償利用者も増えている
  • 急成長しているが、この中生き延びないといけない
  • Enterprise Gridは84社が使っている
  • SlackのコアはPHP使っている
  • PHPはぶっちゃけお粗末な言語、しかし成功しているサービスはPHP使っている
  • PHPの良いところ
    • State
    • Concurrency
    • Programmer Workflow
      • アプリの変更時のフローのこと。PHPはサーバーリスタートいらない、reloadだけ
  • 2015年
    • PHP5 + functional-ish programming
    • OOPは使わない
    • SlackのファウンダーはFrickr作った人。Flickrがこの方法で成功したから同じ方法で
  • HHVM + Hack
    • Speedとパフォーマンス
  • Hack
    • 型チェック
    • Data Structure
  • HackはPHPの欠点をfixしてくれる
  • HHVMへの切り替え
    • Route5とCloudFront
    • Route53のWRRを設定。振り分ける重みを変える。少しずつ実施
    • パフォーマンス大幅に向上
      • レスポンスタイム、PHP : 116ms、HHVM : 62ms
    • 今は100%Hackに変換している

所感

あまり聞くことのできないSlackのサーバーサイド側の話を聞くことができて有意義でした。機能のElectronアプリの話といい本当に貴重な経験でした。

正直、PHP関連の動向はほとんど知りませんでしたが質疑応答等の内容も含めてPHPの現状が把握できた気がします。まさに「知らなかった、を聞く」状態でした。
今までPHP系の情報は全スルー状態でしたがHackは悪く無さそうに感じたのでちょっと意識して軽く情報には目を通していこうと思いました。

全体を通して

冗談抜きで今まで日本国内で参加したカンファレンスの中で一番良かったです。
いつもとは違うことを色々知ることができた、セッションが魅力的だったというのももちろんあるのですがなぜそう思ったのかを簡単にまとめると以下のような感じなのかなと。

  • コンセプトがはっきりと体現されている
    • 「知らなかった、を聞く」がまさに実現されている
    • 本当にいろいろな内容のセッション、つまり様々な分野が得意な人が集まる→つまりは文化が違う人が集まるということ
  • 運営が素晴らしい
    • 参加者への配慮(朝食の用意、アイコン付き参加賞の配布など)
    • 運営メンバーの担当範囲がしっかりしていて色々と運営がスムーズ
    • 変な内輪乗りもなく、かといってかしこまった感じでもなくちょうど良い和やかな感じ
    • 牧さんのアツい想いが伝わってくる

私自身、社内の技術イベントを主催しているのですが実はbuildersconの思想にかなり影響を受けています。前回は都合がつかず参加できなかったのですが今回参加してあらためて「こういうことを目指しているんだ!」というのを再認識できました。
次回は運営のお手伝い等もできればと心から思いました。

本当に最高のカンファレンスをありがとうございました!