PHP BLT #3 まとめ
PHP BLT #3 に参加してきたのでそのまとめを書きたいと思います。
場所は、六本木ヒルズの18F メルカリオフィス。 工事中ですが、とてもひろくてびっくり。ヒルズの無駄遣い感がすごいです。
あと、普通こういう勉強会は、良くても普通のビールなのに、地ビールが。贅沢。
発表は全部で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
[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] vim でPHP / @kajiken さん
エディタ論争第2段。vim の登場です。
<メモ>
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 では、エンジニア募集中です。
〜〜〜 (ここでご飯タイム) 〜〜〜
[LT.6] PHPの5年振り返り / @benzookapi さん
PHPを5年ぶりに触ってみた振り返りについて。
<メモ>
安心安全の決済会社で働いてます。 PHPを5年ぶりに触った振り返り。
きっかけ
副業OKなので、個人でも開発やってる。で、たまたま案件きた。
Yii、sencha
5年まえは、Zend、Cakephp、Symfony とかだった。 PHPのよいとこは、Sakuraで使えた。共有サーバーで使えるといったとこだった。
5年ぶりの感想。
なつかしい あいかわらず、フレームワーク一定しない。 おしゃれになっている > composer.json とか
まとめ: また5年後に会いたいね
ミートアップもやりますよ!
[LT.7] PHPで機械学習 / @shoma さん
PHPで機械学習(した結果を使う)話。Google Cloud Vision API。
<メモ>
サイボウズでJava え、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でくるくるする話。
<メモ>
□ 育ち: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 さん
<メモ>
(トイレ行ってて聞いてなかった…)
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してそうな人さがす ひとじち
config の bare をtrueに
リモートログイン許可させる 危険
けつろn git ならなんとかなる。
代替はいろいろある。 BitBucketつかいましょう。 GitBucketもおすすめ。clone。
[LT.16] イルでドープなフリースタイルをぶちかます / @yuto_kyoku さん
<スライド>
<メモ>
あんちぽ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 募集開始しました!
メルカリの皆様、会場提供と運営、ありがとうございました!