2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.…
![PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016](https://cdn-ak-scissors.b.st-hatena.com/image/square/106ea9314196040dc6b7deeb3d934f2fbc7a04ba/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F68b40ca9983a48dc9efec540ab98f88d%2Fslide_0.jpg%3F8124293)
PHPカンファレンス福岡2016の発表資料です。 この話は何回しても楽しいので再放送希望の方、お声がけください!
はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日本で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日本から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。
コーディング規約って面倒だよね ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪ ------------------- ↓ 余談はここから ↓------------------- コーディング規約に遵守することほど無駄で生産性のないことはないというのが筆者の考え。 守らないって意味じゃなくて頑張ることじゃないって意味。 そう、自動でコーディング規約に沿ったコードに調整してくれればいいわけだが、 意外にこれが難しかったりする。 PHP4のころからPHP_Beautifier、phpCodeBeautifierなどの整形ツールは存在した。 しかしこれはいわばオレオレコーディング規約で、 規約を順守するという話とは似て非なるもの。 PHP_CodeSnifferという規約を守っているか調べてくれるツールも昔からあった。 しかし、調べてくれるだけで調整は手動。 これが果てしなく面倒くさい。 そこで
PHPUnitの設定 続いて、PHPUnitからAspectMockを使うための設定をします。まず、backupGlobalsを必ずfalseにします。 phpunit.xml <phpunit bootstrap="bootstrap.php" backupGlobals="false"> そして、tearDown()メソッドで登録したテストダブルを削除するようにします。 TestCase <?php use AspectMock\Test as test; abstract class TestCase extends \PHPUnit_Framework_TestCase { protected function tearDown() { test::clean(); // 登録したテストダブルを削除 } } AspectMockの使い方 それでは、AspectMockの使い方を見て
2017/03/30 追記 新しいバージョン (v2.0) の記事を書きましたのでこちらもご覧ください fivestar.hatenablog.com この記事は PHP Advent Calendar 2014 の8日目の記事です。 コーディング規約が守れない方とお悩みの方も、チームメンバーがなかなか守ってくれないとお悩みの方も、 PHP CS Fixer があればもう安心。PHP CS Fixer が PHP コードをコーディング規約に沿って整えてくれるので、秩序ある PHP ライフが約束されるでしょう。 そんなこんなで PHP Advent Calendar 2014 の 8 日目ですね。みなさんこんにちは、 fivestar こと小川です。いつのまにかクロコスがなくなって Y の人になっちゃいましたね。 昨今は PSR (PHP Standard Recommendation) の
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ヤフー株式会社の有地です。 9/27(土)の昼から6時間にもわたり、さまざまな視点から「レガシーコード」について知識を深めるための勉強会を開催いたしました。 「そもそも正しい仕様を知っている人がいない」 「システムのブラックボックス化が留まるところを知らない」 こんな不条理なレガシーコード(テストコードが無いコード)と日々戦うエンジニアも多いことと思います。 今あるレガシーコードをどうやって保守・改善していけばよいのかという課題に本気で取り組んでいる、または取り組みたいと考えている大勢の方々に参加していただきました。 <開催趣旨・目的> テストコードが無いプロダクションコードをレガシーコードと定義し、テストコードによって保護され、
使える言語の幅を広げたいと思ってPHP カンファレンス 2014に参加してきました。徳丸さんの「安全な PHP アプリケーションの作り方 2014」は改めて自分のセキュリティの知識を確かめるのに大変有意義だったのですが、何より感動したのが Facebook の Paul Tarjan による「HHVM + Hack == PHP++」のセッションでした。 すごく簡単に僕が理解した限りで HHVM/Hack を紹介すると、HHVM とは PHP の処理系の一つの実装です。その特徴は JIT コンパイルにより超高速になっていることに加え、圧倒的な魅力は PHP の Extension(C 拡張ライブラリ)の多くが実装されていて PHP のメジャーなフレームワークが問題なく動作するということです。つまりもう実践で戦えるということ。そして、Hack というのは HHVM が処理できるもう一つの言語
HHVM - PHP++ PAUL TARJAN HHVM OPEN SOURCE SARA GOLEMON HHVM OPEN SOURCE What is HHVM? HHVM is not a source transformer That was HPHPc, it’s dead. ▪ Runs your PHP pages live, just like PHP ▪ Uses standard FastCGI transport ! ! ▪ Runs anywhere (on 64-bit x86 linux) ▪ Drop-in replacement for PHP (mostly) Webserver (apache, nginx, etc…) cart.php home.php login.php index.php PHP A P C Database (mys
1. 自動テスト2. PHPUnit の目標3. PHPUnit のインストールRequirementsPHP Archive (PHAR)PHPUnit の PHAR リリースの検証Composerオプションのパッケージアップグレード4. PHPUnit 用のテストの書き方テストの依存性データプロバイダ例外のテストPHP のエラーのテスト出力内容のテストアサーションassertArrayHasKey()assertClassHasAttribute()assertClassHasStaticAttribute()assertContains()assertContainsOnly()assertContainsOnlyInstancesOf()assertCount()assertEmpty()assertEqualXMLStructure()assertEquals()assertFa
PHPの関数やコード例の動作確認をどのように行っていますか? 最も基本的な方法は変数や関数の戻り値を逐次、echoで出力する方法でしょう。 しかしこの方法では何度もコード編集と実行を繰り返す必要があり非効率です。デバッガやIDEの使用も解決策の1つですが、大げさすぎたりパフォーマンスの問題がある時もあります。 一方でRubyの世界を見てみるとirbやpryを使ってコンソール上でリアルタイムにコードを試す姿が一般的です。 今回はPHPで対話的なデバッグやコード実行を行えるPshSHを紹介します。 PsySH 従来の手法 php -a PHPには標準で対話シェルモードがPHP5.1以降から搭載されています。 しかしこの機能を利用するには--with-readline付きでPHPがコンパイルされている必要があります。 readlineが利用できない場合はインタラクティブシェルの変わりにインタラク
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
HackHack is an object-oriented programming language for building reliable websites at epic scale Hack reconciles the fast development cycle of a dynamically typed language with the discipline provided by static typing, while adding many features commonly found in other modern programming languages. Hack provides instantaneous type checking by incrementally checking your files as you edit them. It
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く