uzullaがブログ

uzullaがブログです。

PHPカンファレンス福岡2016でイエーイの件、そして遠方カンファレンス参加のススメ。

phpcon.fukuoka.jp

いってきましたPHPカンファレンス福岡2016!これで二度目の参加です。

当方の発表について

今回はLTでの発表でした、資料は以下となります。イエーイ!

speakerdeck.com

スライド内のお試し用Toolはこちら

github.com

実際Yayたのしいので皆さんやってみてはいかがでしょうか、他の言語をパクったりするのはパズル的な楽しさがあります。面白いマクロができたら是非おしえてください、自信作のプルリクおまちしておりますw

PHPカンファレンス福岡2016の感想

PHPカンファレンス福岡と、PHPコミュニティについてもの凄く良いエントリをmatsumotoryさんが書かれましたので、そこではない所を書こうと思います!(手抜きではない(ない))

hb.matsumoto-r.jp

あと、最近ではイベントまとめの定番となったTogetterも是非みてみましょう。

togetter.com

会場についての感想

会場は去年にひきつづきFFB(福岡ファッションビル)なんだ同じかと思うなかれ、同じ建物ではあれどメインホールは前回よりも断然広くなっていました!このグレードアップには驚きますし、同時に福岡の盛り上がりを感じられ、うれしさがありますよね。

しかもですよ、Fusicホール*1は半分しか利用されていなかったのです…これが何を意味するかわかるかね?

そう、この二倍になることが可能だと言う事だ!さらにいえば、去年のメインホールは今年は利用されていなかった…つまり、変身をあと2回も残している…!

規模だけが正義なんてことはないのですが、まだまだスケールする余地があるのは大変に重要な事ですね!来年はどうなることやら!(来年もきっとあるとしんじていますが、まだ発表されておりませんw)

トークの感想

個人的に(あくまで個人的に!!!!!!!)良いなーと思ったのが、「負債返却!レガシー!」的なトークが減り、これからの事についての内容が増えた(ように見える)事でしょうか。

これは夢と希望という感じがして、とても良いと思うのです。いや負債に打ち勝つのも十分前向きなんですけどね。

(去年「秘伝のたれ」のトークをした人間が言う台詞ではないですが、それは一端棚に上げます…)

そんな興味深いトークが多かったので、いらっしゃらなかった皆さんはとても残念…となる所ですが、今回のトークは本気っぽい機材で録画がされていました、これはきっと公開されるのでは?

もし公開されれば、私も自分以外のトラックを見返したいと思います。

なんだかんだでカンファレンスのトークを録画して公開というのは重要だと思いますからね。しかし、動画公開って実際にやるとなるとめっちゃたいへんなんですよねわかる。運営の皆さんの尽力を感じます

運営、スポンサー、登壇者、参加者の皆さま

とても楽しく勉強になり、私は良い出会いも多々あり、さらにPHPをやっていく上で背中を押されるようなイベントでした。

特に運営の皆さまの多大な努力によって達成できたのだとおもいます、大変有り難うございました。

次回、日程発表楽しみにしています。今度こそ速攻でホテルとります。

(最高の運営の皆さま) f:id:uzulla:20160527221125p:plain

わたしの飲み食い等の写真

合戦しました

地元のうずらさんに連れて行ってもらって、やたらとおいしいオムライス食べた

ビア

三次会終わった

胡麻鯖ひつまぶし膳、美味しさがすごい

ひつまぶしにしないで、刺身として食べて美味しい。

遠方カンファレンス参加のススメ

さて、本題です(?)

みなさん遠方カンファレンスに参加されていますか?遠方の定義にもよりますが、ここでは旅行くらいの距離で開催されるカンファレンスがそれだということにします。

私は東京(…の八王子)在住ですが、今年は北海道と福岡のPHPカンファレンスに参加しました。

私は珍しい存在ではなく、今回私が福岡で直接お話した範囲でも、北海道、関西、中国地方、関東方面からは東京や茨城、神奈川などの参加者がいらっしゃいました。津々浦々って感じですね。

で、どうですか?あなたは参加してますか?えっ?してない?そんな!

「遠方のカンファレンスにはお金も時間もかかるし、後で発表資料をみればいいや…」とおもっていませんか?それも勿論良いですが、やはりいかねばもったいない、なぜなら皆と会話ができないのです!

勿論、登壇者にコメントやmentionとばす事もできるでしょう、しかしそんなことでは情報量が少ないのです。

気になるトピックについて、質問タイムや懇親会で直接質問したり、余談などを情報交換するチャンスなのですよ。これってバカにできないくらい重要な事だと思います…思いません?

(これの一つ前のエントリで、直接話したものの要領をえず、後日のエントリまでかいてしまった人間の言う事ではないが、それはここでは一端他所にさせてください…)

都会の方なら「別に遠方でなくても、近所でやるカンファレンスで十分」と思われるかもしれません。

でも、なんというか、遠方のカンファレンスでのコミュニケーションってって楽しいんですよ。もし行ったことがないなら是非ためしてみたほうがよいと思う。

単純に旅行としても楽しめるし、一粒で二度楽しいんですよ。

「なんだ?遊びか?カンファレンスは遊びじゃねえぞ!」という声がきこえてきますが、まあエンジニア人生を楽しくする一つですよ。

「質問するようなことなんてないし、コミュニケーションもとりたくない」と言う人もいるでしょうが、「自分に興味深いカンファレンスが旅行先で開かれる」という逆の発想をしてみてはいかがでしょうか(無理矢理過ぎる)

まあ、とにかく行こう!遠方カンファレンス!

カンファレンスの開催回数は有限時間においては有限です、いくなら今!

楽しむための事前準備

遠方カンファレンスをどう生かし、楽しむかは人それぞれではありますが、私は以下の事をおすすめしたい!

1,トークを応募する

とにかく応募すべきです、応募するとメリットが沢山あるのです。

遠方カンファレンス初心者の人は、おそらく知り合いは少ないし、コミュニケーションを開始することが大変にむずかしいのです。ネットで知っている人も、現場であうと最初は他人みたいな感じになります(まあ、ツイッターアイコンはリアル顔とは違うからな…)。 あなたのコミュ力がすごければどうにでもなりますが、案外そうはいかないのが世の常。

ではどうすればいいか。カンファレンスや勉強会でコミュニケーションする最高の方法は、発表をすることです!これは多くの人が認める所だと思います。ということでトークを応募しましょう!

「えっ、でも私はそんな発表なんて…」って思うかもしれませんが、まあ兎に角応募しよう!仮に落選したとしても、応募するだけでも変わるんだ、ホントだよ!

ちなみに、応募が通ると、大体の場合で参加費がタダになり、Tシャツがもらえて、懇親会が招待となります。(ちなみに、福岡はLTでもTシャツがもらえたのですごいとおもいました)

2,旅行としても楽しむ

これはご予算や日程にもよりますけど、前日の早めに入ったり、帰りの飛行機を遅くするなどしてみましょう。有給一個使う価値はありますって。

(私は有給というものをもらったことがないので適当なことを書いています)

偶然なのかしりませんが、多くの遠方カンファレンスの会場近辺には、美味しい食べ物や観光地があります。 良い機会なので、是非楽しむべきでしょう。また、ハッシュタグをちゃんとつけて、主張するのも良い。

そして、店などを地元の人に聞いてみるのはいいですね、「ここらへんでイケてる飯屋ありますか?」これは遠方の人とのよい会話の糸口です(たまに、その人も遠方から来てる人だったりするのですが、それはご愛敬)。

そして、なにげなく非公式な前夜祭等が開催されている事も多いのです、不思議ですね。 Twitterなどを必死に監視し、突撃するのもよいのではないでしょうか(しばしばやります)

あと、やっぱり飛行機にのってホテルに止まるのは非日常感あっていいですよね、単純に。

そう、旅行ですからね、強行軍はおすすめしません。当日は楽しいトークを聞く必要があるし、懇親会やその後まで、丸一日は体力が持つようにしなければならないからです…!

3,事前に知り合いをつくってしまう

これも個人的には重要だと思うテクニックです。遠方カンファレンス初心者の人にはあまり知り合いが居ない可能性があります。

(ちなみに、遠方カンファレンスに参加していくと、どんどんと遠方の知り合いができていき、そういう人とカンファレンスで会うようになりますのでいつかは解決します。私なんて、もはや遠方のほうがPHPerの知り合いが多い気がします、不思議ですね???)

遠方カンファレンスに参加する知り合いはいませんか?あるいは行きたがっていませんか?是非声をかけましょう!

「遠方はしらない人と会えるのがよい」等と言っておいて何ですが、その会場に知り合いが居るのは色々便利なのです。

知らぬ人とコミュニケーションするへんな緊張がなぜかぬけますし、友人が知り合った人をあなたに紹介してくれるかもしれません(もちろんあなたもすべきでしょう)。

事前に一人でも知り合いをつくっておくだけでも、人はなぜか非常に社交的になれるものです。

知り合いがいなかったとしても、あなたの地元でもし勉強会などがひらかれていれば、まずそこにいってみましょう。もしかして遠方カンファレンスにいくような人がいるかもしれません。

*2

あと、phpusers-jaのSlackに参加するのもおすすめです。PHPカンファレンス某は大体チャンネルが存在します。

www.msng.info

slackin-phpusers-ja.herokuapp.com

まとめ

まとめますが、

  • 遠方カンファレンスにいこう!
  • 是非トークを応募してみよう!
  • 旅行としても楽しんでみよう!
  • 知り合いをつくっておこう!

ということです、皆さん是非。

次は7/16にPHPカンファレンス関西がありますよ!いきませんか?!

conference.kphpug.jp

トーク応募したことないし、知り合いもいないよ…」という方

本当の本題(?)です

トーク経験をしてみない?

たしかに一度もトーク応募したことがなければ不安かも…、一度体験してみてもいいですよね。

なんとPHPカンファレンス関西の前々週、7/2(土),3(日)にYAPC::Asia Hachioji 2016mid in Shinagawa(ヤパチーエイジアハチオウジ2016ミッドインシナガワ)というカンファレンスが品川のマイクロソフトジャパン様のセミナールームにて開催されます!

yapcasia8oji-2016mid.hachiojipm.org

このカンファレンスは、トークのお題に縛りがあまりありません、エンジニアが話したいような事なら大体OKです!勿論PHPだってOKです、なにせ主催がPHPerです。

参考までに、現在までに応募されているトークの一覧がこちらです。

github.com

様々な分野のトークが応募されています。インフラ、プログラミング、ボット、ブロックチェーン、テスト、チームワーク、3Dプリンタなどのトークが応募されています。

そして重要なのが、現在枠がうまりきっていないので応募すればまあ通るんじゃないかな!という所ですね!

「すでに40個くらい応募があるのに、何故枠がうまりきっていないのか…」と思うかもしれません。リスペクト&インスパイア&元ネタとなったYAPC::Asia Tokyoをトーク枠だけでもマネた規模にしましたので、「二日間3トラック」という構成になっており、枠は大量にあるのです!(汗)

会場もほどほど広い80〜人程度となっておりますので、ちょうど良い規模ではないでしょうか。

勿論LTの応募も受け付けしておりますので、20分とか40分とか怖い…という人も安心です。というか本トークも自由な時間を設定いただけます。

現状、初心者っぽい人(初心者向け、という意味でなく、登壇初心者的な意味)が少なくて、もっと初心者っぽい人もきてくれていいのにね?となっています。どうですか?

勿論「俺こそが手練れの登壇者だ!」という人も是非発表してください。

知り合いをつくってみない?

そして、知り合い作成ですよね。

私が知る限り、このヤパチーにはPHPの遠方カンファレンスにいくような人が5人以上きます!

(…どうかな…来てくれるって行ってたし…すくなくとも3人くらいはいる!)

是非とも、自分が発表しつつ、PHPの発表者の方とかと話してみて、結果として知り合いをつくってしまうという一挙両得なことをしでかしませんか?こんなオトクな機会はめったにありませんよマジで。

もう一度、トーク応募迫ってますよ!

ヤパチーのトーク応募期限は5/31!*3なんと一週間ないですよ!みなさんいますぐ応募だ!!

github.com

まとめ

ということで、長文となってしまいましたが、こちらからは以上です。

「品川か…」と思いますか?品川駅は、博多や広島からも電車一本、京都などからも電車一本です、羽田空港からもアクセスが良いですよ?ホテルは五反田(二駅となり)あたりにすれば結構あります。どうですか?

(なお、主催は自宅の八王子から1時間以上かかるので、ホテルをとりました)

ということで、三度ですが、ヤパチーへのトーク応募お待ちしております!品川で僕と握手!

*1:一番大きいホールは、Fusicさん(http://fusic.co.jp/)によってネーミングライツされていた

*2:なお、一緒の飛行機や一緒のホテルに泊まる必要まではないです

*3:LTはもうちょっとあります

PHPカンファレンス福岡2016でのPSR-7についてのトークで私が質問した件

http://psr7.net/sasezaki/phpconfuk2016/psr7.net

こちらにつきまして、Tweetだと長くなってしまうのでこちらで。

質問したかったこと

昨今、なんらかのセッション機構はウェブアプリケーション実装には必須だと思っておりますが、それはPSR-7では(目指す物からすれば当然ながら)用意されていません。

セッション機構の実装は簡単なものから複雑なものまで色々あり、適切なセッション機構を選択あるいは実装するのは難しいので、なにも考えずにそれなりに使えて相互運用性のあるPHPの$_SESSIONは非常に助けられてきましたし、今後もできればデファクトなセッション機構をつかいたいとおもっています。

私が見た限りでは、PSR-7を採用するウェブアプリケーションフレームワークでは独自実装する所、ミドルウェアとして用意する所、あるいは今後も$_SESSIONをつかう所もあるようでした。

PSR-7時代においては、セッション周りはどのような方向に向かうとおもわれますか?トレンドや感想でもかまいません。

…みたいなのが以上が当日質問したかった事です

当日は緊張してしまい、支離滅裂ですいませんでした…。

いや、このエントリでも通じるか怪しい、察して頂いてすみません。

ただ、その後もう少し立ち話をさせていただき、私が「ReactPHPみたいなもの」のためにPSR-7をみていることと、PSR-7のMiddlewareでつくられたSessionの例を頂いたので、今はある程度納得している(別に当面は$_SESSIONでもいいじゃないか、PHPだもの)状態です。ありがとうございました。

以下は余談

今に到るまでPHP$_*変数で簡単に入力が扱えるのが非常に気に入っている反面、グローバル変数漬けであり、他の言語なら簡単にできるモック的な動作や、サブリクエストみたいなものの実装が面倒でした。(たとえばE2Eっぽいテストではしばしばサーバーをたてて実際にhttp requestをとばしたりするのが面倒)

勿論、多くのウェブアプリケーションフレームワークではHTTP Messageは実装されているので、それらの上ではそれらをつかえばよいです。しかし、私は大きなフルスタックウェブアプリケーションフレームワークがあまり好きではない。

そんな中、PSR-7が流行れば私の不満は減るかな?とおもっていたのです。

実際につかってみたところ、統一的なセッション機構のインターフェースがないと私の不満は全部は解消されないな〜と当時感じました。(幻想であっても)セッション情報の相互運用ができてほしいのです。

そのような感想をもちつつ、先日のPHPカンファレンス北海道2016に向けて、PSR-7のオレオレFWをつくりつつ、ミドルウェアでセッション機構をちょっと書いてみたりしました(コミットしてないですが)。

そのときに感じたのは「attributesの自由さ」です。

PSR-7においてはミドルウェア間あるいはミドルウェアとアプリ間の値のやりとりにはattributesを使う事になると思いますが、これがなんでも入れられる箱になっていて、ネームスペース概念が特にない。

まあHttp headerだってネームスペース的な概念はないので、「あたらなければどうということはない」とも言えるのですが…ここに好き勝手に入れていく事に自信がもてなかった。

「有名な頭の良い人が、attributesにセッションいれるならこうやっていれてるぜ(いれようぜ!)!」というのがでてくれば、私の不満、あるいは不安は解消されて解決するのかもしれない…とはうっすら思っています。*1

以上です、精進します。

更に余談

みんな(特に海外の人)セッションのデータをCookieにいれるのに抵抗ないの?https時代だからいいやって感じなの?

*1:私がベストプラクティスやガイドラインをしらないだけの可能性も高い

PHPでかかれたSlackのCLIクライアントためしたり

SlackのAPIを叩くコードをさがしていたら、PHPでかかれたSlackのCLIクライアントをみつけたので何となく試した。結論からいえばたのしいけれど日本語等は通らず残念。

f:id:uzulla:20160514211033p:plain

github.com

手順

ncurses 拡張が必要なので、OSXで作るのは面倒だった。新しくVMを立ち上げるのも面倒なので、Dockerでphp:5-apache素手で立ち上げて、裏からbashをexecして試す事にした。

$ docker run php:5-apache

# another shell
$ docker exec -ti XXXXXXX bash

# in docker process
$ apt-get update
$ apt-get install php5-dev libncursesw5-dev php-pear
$ /usr/bin/pecl install ncurses
$ vi /etc/php5/cli/php.ini # add extension=ncurses.so
$ apt-get install git
$ git clone https://github.com/TidalLabs/Slacker.git
$ vi ~/.slack_token # xoxp-...
$ export TERM=vt100
$ /usr/bin/php slacker.php

最近Dockerに触る機会があるので手になじませないといけない、ということでどうでもいい事にも(Docker的でなくとも)Dockerを触っているが、こういうズレた使い方をして「ドンドン捨てられて便利!」とか思うのは大変に老人的な感じがする。