PHP BLT #3 まとめ

f:id:taiji_inoue:20160302230847p:plain

PHP BLT #3 に参加してきたのでそのまとめを書きたいと思います。

場所は、六本木ヒルズの18F メルカリオフィス。 工事中ですが、とてもひろくてびっくり。ヒルズの無駄遣い感がすごいです。

f:id:taiji_inoue:20160302230333j:plain

あと、普通こういう勉強会は、良くても普通のビールなのに、地ビールが。贅沢。

f:id:taiji_inoue:20160302225221j:plain

発表は全部で18個。1人5分だけど、濃い内容が多くて、お得感高かった!

では、簡単なコメント付きでまいります。 (途中トイレいったりビール飲んだりしてたので、抜けてたら教えて下さい)

[LT.1] 糞コードの測り方 / @Hiraku さん

composer pluguin の prestissimoを作ってそのコード改善した話。

<以下メモ>

composer pluguin の prestissimoを作った。 Github star 1400くらい! ここ1ヶ月くらい、ソースコードきれいにしてた。

Screutinizerというサービス使うとコードに点数付けてくれる。 メソッド別の点数とか。最高10.0 緑になる。

CRAP (Change Risk Anti-Patterns) = クソ度

1〜無限大 30超えるとクソコードのお墨付き

1=循環的複雑度 2=テストカバレッジ

どうやって下げるか。

メソッド別に図られるのでメソッド分ける。 ユニットテスト書く

テスト書いて、分割していく。 ソースを短くしよう。

分割するだけだと、クソが広がるだけ。短くする。

phpunitでも出ている。

9.64まで上がってきた。 定量的に計測しよう。

[LT.2] なんとか Stormに負けないemacs / @tadsan さん

エディタ論争題1段。それ、emacsでできるよ!

<メモ>

php-mode

さいきんのは、php7にも対応している。更新してみて。

□ TRAMP

サーバー上のファイルをローカル感覚で編集できるやつ。

□ magit -ls files

emacsでうごく git

□ smartchr

キー連打すると入れ替わる array() と []

□ psysh

irbみたいなもの emacsからも動く!

[LT.3] Gameboy / 長谷川智希@とむぞう @tomzoh さん

ゲームボーイエミュレータPHPで実装したという話が話題になりましたが、 そのソースコードを読んでみた話です。CPUのレジスタの話とか出てきて超濃かった!

<スライド>

<メモ>

A PHP Terminal GameBoy Emulator

ソースはこちら https://github.com/gabrielrcouto/php-terminal-gameboy-emulator

ドクターマリオ がうごくらしい。 で、ソース読んでみた。

□ Keyborad.php

標準入力 よむだけ!読める

□ CPU

なんかわからんけどすごい。 プログラムカウンターが進みながらうごく。 レジスタに◯◯を乗っける

□ Opcode.php

みんな読んでみましょう。

[LT.4] vimPHP / @kajiken さん

エディタ論争第2段。vim の登場です。

f:id:taiji_inoue:20160302225227j:plain

<メモ>

phpよくわからないけど今ここに立ってる。

vim で書いて困ったこと。 おすすめ plugin

Shougo/* neobundle.vim neocomplete|deop.vim

dein.vim に乗り換えたら爆速になるらしい。

ujihisa/neko-look vim-quickrun ref.vim ドキュメント見るためのツール

vim-smartchr

text-object系 plugin 最高

vim-php.com というコミュニティもあるよ http://vim-php.com/

[LT.5] ドキュメント読もう / @fivestr (OGAWA Katsuhiro) さん

<スライド>

<メモ>

Ancar CTO やっています。最近、Racing Driver になりました(!?)

PHP 7.0 で何が新しくなったか。 今後どんな機能が追加されるか。それをどうやって知るか。

PHP7 - Error

use Entity{Article, Author, Comment};

新しいコーディング規約の制定

manual/ja/migration70.php

PHP5.6から7への移行

m-takagiさんありがとう 神

今後の機能

/rfc をよく見てる

採択には rfc の 2/3 の投票が必要 拒否されたものもある。

ruby の attr accessor みたいなのとか、アノテーションとか。

Ancar では、エンジニア募集中です。

〜〜〜 (ここでご飯タイム) 〜〜〜

f:id:taiji_inoue:20160302225230j:plain

[LT.6] PHPの5年振り返り / @benzookapi さん

PHPを5年ぶりに触ってみた振り返りについて。

<メモ>

安心安全の決済会社で働いてます。 PHPを5年ぶりに触った振り返り。

きっかけ

副業OKなので、個人でも開発やってる。で、たまたま案件きた。

Yii、sencha

5年まえは、Zend、CakephpSymfony とかだった。 PHPのよいとこは、Sakuraで使えた。共有サーバーで使えるといったとこだった。

5年ぶりの感想。

なつかしい あいかわらず、フレームワーク一定しない。 おしゃれになっている > composer.json とか

まとめ: また5年後に会いたいね

ミートアップもやりますよ!

[LT.7] PHP機械学習 / @shoma さん

PHP機械学習(した結果を使う)話。Google Cloud Vision API

f:id:taiji_inoue:20160302225236j:plain

<メモ>

サイボウズJava え、PHPは? このインベントのために書いた

松本城彦根城もわかる nginx 実践入門 もわかる。

PHP機械学習の成果をつかう

Google Cloud Vision API Face 3/1から課金開始

Google_Client というやっかいなライブラリ デジタルフォントはすばらしい 類似の色々より良い。

デモうごかないのは、すべてネットワークのせい。 デモは、Google App Engine とDietcubeでうごいてる。

[LT.8] PHPで掲示板を作ってみた / @TOMITA___twi (富田)さん

なんと17歳の方の登場です!!

<メモ>

17さい。

掲示板を作りたかった。 参考にした。

DB接続

127.0.0.1 ループバック IPアドレス 192.168.33.10

セキュリティ対策

GET/POST の違いがわからない。

GET = URLにでてくるやつ POST = 匿名むけ、セキュリティ高い(!?)

よくわからない11

まとめ なにかを作るのは大変 hoge はだめ、絶対

<みんなの声>

掲示板、みんな作った!!そこからだよね。 若いってすばらしい。

[9] yieldでくるくる / うずら ‏@uzulla さん

yieldでくるくるする話。

f:id:taiji_inoue:20160302225253j:plain

<メモ>

cli ツールの成長

□ 育ち:1 エラーハンドル

□ 育ち:2 パラメータ

yield でくるくる作る

□ 育ち:3

終了時に画面掃除したい。

リセットスクリーン ^C で終了対策

□ 育ち:4

やっっっっぱりフォーク pcntl_fork 責任持ってこどもころす

ワーカー

ジョブをとりだして実行

□ 育ち: 5

後は懇親会LTで

[LT.10] テスト事始め / @rittyan さん

<スライド>

<メモ>

最近は、Electron + React をES6で開発してた。

古いシステムにテストを入れ始めている circle ci + phpunit

Github -> circle ci -> slack に通知

書くテストも簡単なものから。はじめた。 既存のコードにテスト入れる時から。 分割

1つの関数につめこみすぎ

つらくなったら逃げる。 コツコツと。

[LT.11] PECLを数えてみた / @y__uti さん

<スライド>

<メモ>

スーツ来てますがエンジニアです。 peclのサイトクローリングしてみた。

モジュール数:350

Database > PHP > Networking > Tools and Utilities > text > System

モジュール数の推移 リニアに増えている 最近でも追加されている

月ごとのリリース数

レポジトリ svn.php.net 145 github.com 110 git.php.net 41 :

最新のはgithub.com 使われている

ソースコード行数 1000-1万行がおおい。

ストファイル phpt 行数 126は 0!!

[LT.12] Botkit つかってみた / @sotarok さん

f:id:taiji_inoue:20160302225302j:plain

<メモ>

(トイレ行ってて聞いてなかった…)

Hubot vs botkit

Hubot での Slack はアダプター Botkitは専用ツール。気持よくかける

18:00くらいに、LT出るの決めて、npm install botkit からはじめた。

作ったのは、じゃんけんボット。 「かわいい!!」との女子の歓声に対し、「仕込みかよ」とのヤジが飛ぶ。

デモ、ちゃんと動いた。

botkit つかってみましょう。

[LT.13] ジェネレータを使ってメモリ節約 / @tanishiking さん

<スライド>

<メモ>

風俗サイトをphpで運用するバイトしてる!?

配列をメモリに展開

イテレータ range関数実装してみた。

メモリせつやくできた。 いろいろたいへん rewind current valid ..

Itrator interface 5つも実装したくない

function mygenerator() {
  yield
  yield

}

簡単に実装できた。

速度確認 Iteratorよりはやい。

[LT.14] ページスクリプトから始めるアーキテクチャフリーク生活 / @osamu2001 (Osamu OKANO) さん

<スライド>

<メモ>

Laravel を勉強したかたならご存知 mlaphp

レガシー ー>モダン

Aura Project リーダー テスト導入まえ 導入  テスト書く  phpunit入門

レガシーコード改善ガイド リファクタリング

テスト導入後 テーブル

PoEAA と pmjones 日本語キンドル版でた 両方買え

翔泳社

leanpub.com/

2014年4月 30万行の巨大なコード

8月 80%のカバレージ

まとめ

mlaphp すばらしい pmjoinesさんのあふれるアーキテクチャ

[LT. 15] Githubが落ちた朝は / @rela1470 さん

<スライド>

<メモ>

ゲーム会社で消費者庁と戦っている。

よしがんばろう どん。ゆにこーん

1.有給とる 2.バックアップつかう ORATAa

3. バックアップしてなかった場合 手元にバックアップあるじゃん 最近 fetchしてそうな人さがす ひとじち

git daemon → windowsのばあいこっち ssh でがんばる

config の bare をtrueに

リモートログイン許可させる 危険

けつろn git ならなんとかなる。

代替はいろいろある。 BitBucketつかいましょう。 GitBucketもおすすめ。clone。

[LT.16] イルでドープなフリースタイルをぶちかます / @yuto_kyoku さん

<スライド>

<メモ>

GMOペパボ

あんちぽCTO さいきんヒップホップにはまっている

研修:正しいアプリケーションを学んだ 業務:PHP?なるほど

研修とちがう ジャングルでコピペ

たのしくない。伸びない。

闇堕ちした メンター、フォローアップ

PHP筋トレした。

0から何か作ってみる 実践的なサバイバル手法をまなんだ。

2ヶ月後結果にコミット

PHP大好き!」(みなさんから、不安の声が上がる)

[LT. 17] Symfony Demo / @kseta19 勢田圭剛(Seta Keigou)さん

Symfony の学び方について。

<スライド>

<メモ>

どうやって学んでいくか Symfony demo がいい

Best Practice 。いいとこだけとったら良いよ。

どうふうに学ぶ?読んだり書いたり?

でもプロダクトから学ぶとはかどるよ。 2.8.2でうごく。あたらしめ

Symfony Installer or giit clone && install

コメントも充実。 ドキュメントのどこ読めとかリンクつき。超親切。

動くデモのコードを見る。→ ドキュメントへのリンク! すばらしい。 Best practice が学べる

[LT. 18] Smartyと確定申告つらい話 / @DQNEO

1. 確定申告つらい

メルカリは、副業推奨!

確定申告 国税庁のサイトにお世話になる

いつからいつまでにすればよいか 3/15まで。

2. Smartyをつらくなくするやつ作った

Smartyつかてますか? {$foo} つらい。 JavaScript つらい。{literal}で囲うやつ

ということで作った。smarty-delimiter-converterというツール https://github.com/DQNEO/smarty-delimiter-converter/

一発でリテラルを変換 {{ }} に {literal} からおさらば

フランス人のお客様 フランス語でPHPは、ぺーあしぺ

3. PHPの値とは何か

PHPのソースは、https://github.com/php/php-src にある。

いちばんだいじなのは? echo? Zend/ 以下にコアのコードがある。

だいじなのは、Zval。

~~~ 終了 ~~~

最後に @cocoiti さん

次回のPHP BLT 募集開始しました!

PHP BLT #4 - connpass

メルカリの皆様、会場提供と運営、ありがとうございました!