Edited at

YAPC::Asia 2015 聴講メモ: 前夜祭版

More than 3 years have passed since last update.


全体的な感想

uzullaさんぐわっとしてた


19:00 PHP帝国の逆襲!(を願うPHPerが話す最近のPHPについてのクイックツアー PHP7対応版)


TL;DR

まとめるの無理っぽい。一発目からメモ地獄だった


PHP7


  • なんだかんだWeb界隈ではPHP有名!ゆるふわw


    • でも、まじめに書くとゆるふわじゃないよね



  • RC1リリース!


    • 倍ぐらい早くなった

    • C拡張が致命傷ww

    • 今までどおりmod_phpで使える



  • 非互換性


    • 非推奨関数の削除

    • C拡張が壊れるのが大きい


      • CがわからないPHPerは待つしかないw





  • Tyoe HintingあらためType Declaration


    • stringやintなどスカラ値が使える

    • メソッドの返り値が指定できたり




エラーのハンドリング


  • Fatalも例外で拾えるように


    • Errorクラスを親としたら例外が投げられる

    • パースエラーは無理

    • Notice, Warningは今までどおり



  • ExceptionとErrorは違う


    • どちらもThrowableを継承してる

    • Javaっぽさ




その他


  • ??演算子

  • <=>演算子

  • 予約語増えた


PSRとComposer

* コンポーネント化がすすむPHP

* PSR7
* リクエスト/レスポンスの扱いを仕様化
* サーブレットの知見がある人は実装しよう
* 知見ある人?(挙手なし)
* グローバル変数から脱却
* でも、生でグローバル触ったほうが早い
* SESSIONは含まれない
* グローバル変数は残る
* 現状は各WAFがばらばらに実装している


PHP界隈


  • 日本でPHPといえばメルカリ

  • SlackもPHPらしい

  • ぐわっとものを作るにはPHPが向いてる

  • GitHubではPHPが不動の4位


HHVM


  • PHP7に速度で並ばれた

  • Hackは日本で全然流行ってない感

  • 言語は進化している。バージョンも上がっている

  • Zendが本気を出したらPHP7が早くなった

  • HHVMとPHP7で単純に比較するのはちょっと違うかも

  • 本家PHPの強さ


    • IDEのサポートや主要ディストリビューションのサポート



  • HackにはAsync, Generic, Lambda式がある

  • GenericsはPHP7に実装されるか?


    • PHPは古臭い実装を好むけど、ウケる機能は実装されるかも




19:40 Perlワンライナー入門

スライド


TL;DR

テキストから正規表現で抽出したデータをとあるクラスに渡すのはPerlワンライナーの強み。ミニマルPerl読もう


メモ


  • Perlはテキストデータを相手に書捨てのスクリプトのが得意


    • ライバルもいないんじゃないか?ゆえに陳腐化もしにくい



  • 正規表現が強い

  • 特殊変数や構文がワンライナーをサポートしてくれる*

  • ワンライナーなのにCPANつかうとかもやりやすい

  • Webの仕事ってテキスト相手が多いですよね


ハンズオン形式

git clone https://github.com/sakamossan/yapc_perl_oneliner_beginner.git


grep代わりに

perl -nlE "/zombie/ and print" ios_app_names.tsv

aタグのhref要素を正規表現でキャプチャして表示する例


最近使ったワンライナー紹介コーナー


  • 早すぎるログをrandでフィルタリング

  • 特定のUserAgentだけ抽出

  • HTMLにどんなscriptが埋まっているか


質疑応答


  • ワンライナーのデバッグが大変。神通力に頼るほかないのか


    • そういうときは無理せずスクリプトにしちゃう



  • ワンライナーを使いたいときPerl以外の選択肢は?


    • awkやRubyでも書けなくはないけど、CPANを使える強みがある

    • awk覚えてhogehoge覚えて、、とか覚えなくて良くて、Perlが書ければ使えるというのが良い



  • ワンライナーを書くときにお気に入りのCPANモジュールは?


    • URL::EncodeとかSHA1とれるやつとか、XML::Simpleとか

    • history見たら発表の練習がいっぱいでてきた!




20:20 技術ブログを書くことについて語るときに僕の語ること


TL;DR

(語弊はあれど)マーケティング的な手法もありつつ、技術についてのアウトプットに対する考え方をとかをはてブ1000overの人から聞けてよかった


メモ


  • はてなブックマークを稼ぐ方法はみんな聞きたい

  • 技術ブログとはてなブックマーク


    • はてブで承認欲求満たされていく



  • はてなブックマークの稼ぎ方


    • 燃えそうな単語を主語にする

    • はてなブックマークはタイトルが9割!

    • 多くの人が興味を持つ語句を入れる


      • 週間・月間ランキングで傾向が読める

      • 一般的な言葉ではない場合は用途を限定してタイトルでイメージしやすくしている



    • 印象的な語句を先頭にいれる


      • 「Docker」ははてブ力がある

      • n個の方法、n台のサーバーなど数値を入れる



    • 投稿タイミング


      • 月曜の朝が伸びやすいという定説

      • 平日の朝が無難


        • 金曜はだいたいみんな飲みにいっているw

        • 翌朝見たらなんだこれ?ということもあるので朝読み返そう





    • 技術ブログの場合


      • はてブユーザーはリテラシー高めなので硬派な内容も好まれる


        • 基礎的な話をする時は古いものと思われないように「2015年」と入れた



      • アプリケーションエンジニアは「インフラ」という言葉に弱いw

      • 日本人は「アメリカ」、「英語」という単語に弱いw





  • 人間が面白いと思うのは、その人の考え方が伝わるものなのでは

  • ただ新しいツールを追うだけのIT芸人になってはいけないw

  • ググっただけの記事を書いてしまうことについて


    • 最初わからなかったことでも、時間をかけて勉強しているとわかってくることがある



  • アウトプット


    • 日々の業務を、どうすればアウトプットにつながって、かつ自分のモチベーションにつなげられるか?とかを考えてみる



  • 「理科系の作文技術」という本がある

  • 品質上げたかったら時間をかける必要がある


    • 時間をかけて作ったものでフィードバックをもらうために、タイトル付けや投稿時間などのテクニックも使う




質疑応答


  • なぜモチベーション高く書いた記事をいったん寝かせられるのか


    • 投稿するのにいい時間がわかっているから

    • 自分で締め切りをつくってみたりしている



  • はてブ以外に気にしている指標はあるか?


    • 特定の人にブクマされるとかは気にしてる



  • 件名しか読んでないっぽいコメントと全部読んでくれているコメントについて


    • 一生懸命書いて怒られることはあまりない。みんな優しい



  • あまりフィードバックが得られなかったころどうしていたか


    • 影響を受けたエンジニアに、とりあえずなんでも書いておくということを教えられた