タグ

PHPに関するtdakakのブックマーク (50)

  • PHPStan、phpstan-doctrine を 0.12 へと アップデートした - OTOBANK Engineering Blog

    今週は仕事のメインリポジトリの phpstanならびにphpstan-doctrineをやっと^0.12に上げたので気が強い— sasezaki (@sasezaki) March 27, 2020 はじめに 弊社のサーバーサイド でのメインプロジェクトでは、過去のブログエントリにもあるように、PHP ならびにORMとしてDoctrine を導入しています。 PHPStan で Doctrine Criteria で使ってるフィールドを検証できるようにした - OTOBANK Engineering Blog https://engineering.otobank.co.jp/entry/2019/02/25/143224 そして PHPStan をQAでの主な静的解析として利用しており、コードレビュー時の負担を減らすため機械が指摘できることは極力機械で行えるように随時設定の見直し・チェッ

    PHPStan、phpstan-doctrine を 0.12 へと アップデートした - OTOBANK Engineering Blog
    tdakak
    tdakak 2020/05/02
  • PHPで動くファミコンエミュレータを作った

    TL;DR PHPで動くファミコンエミュレータを作った php-terminal-nes-emulator画面描画は点字を使って文字出力コントローラは標準入力からfread() 経緯 2016年の2月にPHPで動くゲームボーイのエミュレータ、php-terminal-gameboy-emulator に衝撃を受けて、その実装の解説を勉強会やカンファレンスでトークしたりSoftware Design誌に書いたりしました。(*1) カンファレンスでのトークでは時間の都合もあって全体のごく一部しか話が出来ないのですが、Software Design誌では誌面をたっぷり頂いてCPU、メモリアクセス、画面表示とphp-terminal-gameboy-emulator のほぼ全域を解説出来たので満足し、その熱は落ち着いていました。 そんな中、9月に開催されたbuilderscon tokyo 201

    PHPで動くファミコンエミュレータを作った
  • PHPNW17

    時間が経ってしまいましたが、2017年の秋にイギリスのリーズとマンチェスターで登壇した事を記事にします。 トラブル発生 行きの飛行のトランジットの時間がギリギリで、乗客は間に合ったのですが荷物の載せ替えが間に合わずスーツケースが未着、翌日宅配便で届くということになってしまいました。 教訓)トランジットの短い便は、絶対に必要なものは手荷物にすべし。その日の着替え、プレゼンの時はPCは手持ちで! 番前日にスーツケースが届いたのですが開けるとなんとMacBookがありません!。盗難かと一瞬思いましたが「Mac を探す」アプリを起動すると9,294km離れたところで反応があるのが確認できました。つまり日の家に単に忘れてただけ!😵… iCloudに助けられました。友人の奥さんにMacbook Airを借りて急場をしのぐことにします。 Confirmed. My Macbook is 9294k

    tdakak
    tdakak 2018/03/19
  • なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い

    twitter上でnot foundの場合は適当なパラメータつけたURLにしてください。 https://www.slideshare.net/sasezaki/php-qa2019-200006092?p PHPカンファレンス2019のスライドです https://fortee.jp/phpcon-2019/proposal/01abf927-eb46-4708-95a1-ae05b9ac2bcf

    なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
    tdakak
    tdakak 2017/05/28
  • PHPに関するHTTPOXY脆弱性の問題と対応方法 - Code Day's Night

    外部から簡単にHTTP_PROXYという環境変数がセットでき、サーバ間通信や外部サイトと連携している場合に影響があるかもしれない脆弱性です。(HTTPoxy. CVE-2016-5385) PHPの場合はphp-fpm, mod_php, Guzzle4以上やいくつかのライブラリで影響あります。 対応方法は簡単です。 Apache側で対応する場合は、mod_headerを使える状況であれば、confファイルに下記の1行を追加。 RequestHeader unset Proxy FastCGIの場合は下記の1行を追加。 fastcgi_param HTTP_PROXY ""; Guzzleは6.2.1で対応されたようです。 Release 6.2.1 release · guzzle/guzzle · GitHub コミットログを見ると、CLIの時のみ、getenv('HTTP_PROXY

    PHPに関するHTTPOXY脆弱性の問題と対応方法 - Code Day's Night
  • Composerを速くするために必要だったもの // Speaker Deck

    PHPカンファレンス関西2016の基調講演です。

    Composerを速くするために必要だったもの // Speaker Deck
  • 光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング

    はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。

    光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング
  • Packagist.JP

    PHPのライブラリリポジトリであるhttps://packagist.orgのミラーサイトです。packagist.orgの代わりにこちらを参照することで、composer updateの応答速度が速くなります。特にフランスから遠い、アジア圏では顕著な効果が得られます。 有効にするには以下のコマンドを打ち込んでください。 enable $ composer config -g repos.packagist composer https://packagist.jp disable $ composer config -g --unset repos.packagist なお、このサイトではcomposer自体やpackagist.orgにあるパッケージ情報ページ、検索機能などはミラーしておりません。それぞれ家サイトをご利用ください。 仕組み composer updateを実行すると、

    tdakak
    tdakak 2015/12/22
    /packagistのミラーサイト
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    tdakak
    tdakak 2015/12/16
    めっちゃよい
  • PHP7.0.0

    2011年 今から4年前の2011年12月17日(土)に東京で「PHP Apocalypse」なるイベントが開催されました。 http://labs.gree.jp/blog/2011/12/4367/ タイトルが示すようにちょっと変わったイベントでした。 冒頭のセッションで「PHPに未来を感じるか?」という問いがあり、周りを見回すと参加者で手をあげてるのはなんと自分一人。 その時のエントリーがあります。 PHP: Dis Is It. http://koriym.github.io/2011/12/php-dis-is-it/ PHPはカリスマがいない。特定のイデオロギーを持たず、変化に躊躇がない。 漸進的な進化を継続可能でそれを実践するものには未来がある。そう考えたのです。 よく問題とされることは単に詳細の話で深刻なものではないとも考えました。 そして4年が経ちました。 サーバーサイド

    PHP7.0.0
    tdakak
    tdakak 2015/12/04
    とてもよい。私もあの時手を挙げられなかった一人だけど、koriymさんのお話がものすごい衝撃的だったのをよく覚えている。
  • PHP7で変わること ——言語仕様とエンジンの改善ポイント

    PHP Conference 2017 での発表資料です。 PHP 7.1 から OPcache 内部の最適化器にデータフロー解析が実装され、より効率的なバイトコードが生成されるようになりました。過去と現在の OPcache の最適化器の処理について簡単に紹介したものです。

    PHP7で変わること ——言語仕様とエンジンの改善ポイント
  • 他の言語利用者の芽を来にしているのか、PHPをメインに使ってるのにPHPをバカにしている人たちがいますよね。Mなんでしょうか?徳丸さんは胸を張ってPHPが好きと言えますか? | ask.fmhttps://ask.fm/tokumaru

    徳丸はPHPが好きか? ですが、元はそんなこと意識してなかったんです。日PHPコミッターの一人にコイズミモリヨシ( @moriyoshit )という男がいますが、たまたま彼と昼が一緒になる機会があって、その席で彼からぼそっと言われたんです。『徳丸さん、PHP好きでしょ』…あぁ、それまでPHPが好きかどうかなんて、考えたこともなかったのです。自分はPHPが好きか? 考えているうちに、あっ、自分はPHPが好きなのかも…と思い始めました。おそらくモリヨシが私に呪いをかけたんだと思いますね(笑い) 同業者からは、徳丸はなぜあんなにPHPを追いかけ回すんだろと思われていると思います。「徳丸さんはPHPを安全に使う方法を示した罪深い方」と書かれたこともあります(揶揄なのか、批判なのか、まさか褒めているのか、なんなのかよくわかりませんがw)。 かつては、PHP界隈の一人から、面と向かって「徳丸さん

    他の言語利用者の芽を来にしているのか、PHPをメインに使ってるのにPHPをバカにしている人たちがいますよね。Mなんでしょうか?徳丸さんは胸を張ってPHPが好きと言えますか? | ask.fmhttps://ask.fm/tokumaru
    tdakak
    tdakak 2014/10/20
  • 安全なPHPアプリケーションの作り方2014

    神戸ITフェスティバル講演 http://kobe-it-fes.org/kif2014/seminar/entry-197.html

    安全なPHPアプリケーションの作り方2014
  • PHPコアから読み解くPHP5.5

    HHVM Hack BPStudy#81 original file : http://yone098.github.io/hhvm-hack/#/

    PHPコアから読み解くPHP5.5
    tdakak
    tdakak 2014/10/11
  • PHPにおけるI/O多重化とyield

    PHPカンファレンス2014にて発表した内容です。 https://joind.in/talk/view/12038

    PHPにおけるI/O多重化とyield
  • PHP 5.0.0が10周年を迎えました - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 10年前の昨日、2004年7月13日、PHP 5.0.0が世界に向けて公開されました。Zend Engine 2を搭載し、実質的に生まれ変わったPHPです。 Zend Engine 2自体はPHP 4.3.0のいくつかのアルファ版から(試験的にですが)すでに公開されていました。一般的なユーザーにとって目立つ大きな違いは、オブジェクトの参照渡しがデフォルトになったことと、新しいオブジェクトモデルのサポートです。細かいことはさておき。 実は、PHP 4以前のPHPは基的に手続き型言語で、クラスやオブジェクトをサポートしてはいましたが、いずれも後付けの機能だったのです。その歴史は現在でもデフォルト機能セットの多くに――最近追加されたパスワードハッシュAPIなどの新機能にさえ――見てとることができます。 それでも、いざ格的な(「マシになっただ

    PHP 5.0.0が10周年を迎えました - Engine Yard Blog
    tdakak
    tdakak 2014/07/28
    "他の言語ほどクールでも流行りを押さえてもいませんが(現実を直視しましょう、そうだったことは一度もありません)、それでも私たちの多くは「仕事を成し遂げる技術」としてPHPを好んで使います。"
  • WEBアプリケーションフレームワーク(主にPHP)のルーティング処理について (never まとめ) - Feelin' Kinda Strange

    とくにまとめられてないメモ書きです。とくに主張とか結論はないです。(あ、Hello Worldベンチマーク?プギャーm9(^Д^) は言わずもがなです ) 前提:主にPHPではURLとアクションのマッピングについて上から順に以下のような変遷をたどってると思います(そうじゃないって突っ込みはいっぱいあるでしょうが) オールドスクール /foo/module.php?key=var 命名規則型 /controller/action/ => class Acontroller { function action(){ $parameter = func_get_args(); }} 宣言型 $router->add('/controller/action/{:param}', $actionName) ・命名規則型がやっかいな一例はこういう所です <?php class PostControll

    WEBアプリケーションフレームワーク(主にPHP)のルーティング処理について (never まとめ) - Feelin' Kinda Strange
    tdakak
    tdakak 2014/07/08
  • 基調講演「全てを結ぶ力」

    PHPカンファレンス関西で基調講演の機会をいただく事ができました。私のタイトルは「全てを結ぶ力」というもので、結ぶ(ハイパーリンク)という原則を持つWWWとそれに関わる技術や私たち開発者の話しをしました。 国内外含めてカンファレンスに登壇するのはこれが二度目です。最初のカンファレンスは世界レベルのエンジニア達をインスパイアさせたいという 夢を持ち、最上級のカテゴリで応募しました。二回目の今回は基調講演として聴衆者を限定しないで多くの人々に話がしたいと思いました。 2014/06/28 10:30 AM 大阪産業創造館 最小のネットーワーク 最大のネットワーク 最初のウェブサイト 最初のPHP 最初のアプリケーションサーバー 最初のつぶやき 決意 インターネットの原則 ソフトウエアの背後にいる人々 私たち開発者 メディアシフト エピローグ 情報という宇宙でWebサイトという星を1つ作る。それ

    基調講演「全てを結ぶ力」
  • PHPで素数を数えて落ち着いてみた - hnwの日記

    2,3,5,7,11,13,...と素数を順に列挙することで落ち着く人が世の中にはいるようです(参考:「素数を数えて落ち着くんだ…」)。とはいえ人力では素数を100個列挙するのさえつらいので、プログラミング言語に頼った方が落ち着けるはずです。PHPには、そんな状況で使えそうな関数が存在します。 gmp_nextprime ― 次の素数を見つける PHP: gmp_nextprime - Manual よし、この関数さえあれば落ち着けるぞ、と思いきや、マニュアルにはこんな記述もあります。 注意: この関数は素数を識別するのに確率的アルゴリズムを使用します。 誤って合成数を取得してしまうことは、まずありません。 PHP: gmp_nextprime - Manual えっ?「まずありません」ってことは少しくらいはあるんでしょうか。逆に不安で落ち着かなくなってしまいそうです。 稿ではこの関数に

    PHPで素数を数えて落ち着いてみた - hnwの日記
    tdakak
    tdakak 2014/04/24
  • WEB+DB PRESS連載「巨人の肩からPHP」最終回

    2014年2月22日に発売となるWEB+DB PRESS vol.79をもちまして、11回にわたり連載した『巨人の肩からPHP - 先人たちに学ぶモダンプログラミング』が最終回となりました。 WEB+DB PRESS Vol.79|技術評論社最終回はSymfonyに新しく追加された式言語エンジンであるExpressionLanguageコンポーネントについて、基礎的な解説とフレームワークにどのようにインテグレーションされているのかを解説しています。インテグレーションの仕方を見ることで、拡張性の高いアーキテクチャーとはどういったものなのかも垣間見えるのではないかと思います。是非お手にとっていただけると幸いです。 式言語 | Symfony2日語ドキュメント連載を終えてこのように書くと気を悪くされる読者の方もいらっしゃるかもしれませんが、巨人の肩からPHPというテーマ、これは私自身にとっても

    WEB+DB PRESS連載「巨人の肩からPHP」最終回
    tdakak
    tdakak 2014/02/20
    お疲れ様でした!