タグ

PHPに関するsotarokのブックマーク (536)

  • このPHP拡張がすごい!2017

    This document summarizes several PHP extensions categorized into areas like authentication, caching, databases, encryption and more. Each extension is briefly described with links to GitHub repositories or PECL pages showing the maintainer, latest release and initial release. The extensions range from 2013 to 2016 and provide features such as Kerberos authentication, local caching, Redis access, e

    このPHP拡張がすごい!2017
    sotarok
    sotarok 2016/12/13
  • PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記

    メルセンヌ・ツイスターと似て非なるアルゴリズムが実装されていたことが発覚して話題の PHP の mt_rand 関数の品質を統計的に検証しました.果たして,PHP の「壊れた」mt_rand は安心して使うことができるのでしょうか……? ちなみに,結論から言うと,PHP の壊れた mt_rand は,(少なくともこのテストの範囲では)家メルセンヌ・ツイスターと遜色ない品質を持っているようです.ただし,最後に PHP の乱数の別の懸念点についても紹介します. 壊れた mt_rand とは PHP の mt_rand は,ドキュメントによると,有名な乱数生成アルゴリズム「メルセンヌ・ツイスター」を利用して高品質の乱数を生成する関数です.ところが,どうやら一部では知られていたこととして,PHP の mt_rand の実装にはバグがあり,家メルセンヌ・ツイスターと挙動が一致していませんでした.

    PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記
    sotarok
    sotarok 2016/02/23
  • 光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング

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

    光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング
    sotarok
    sotarok 2016/02/01
    hiraku++ / Be Professional Day の取り組みについても触れられていますが、そんなこともやってます!
  • composerの遅さをまじめに考える #phpstudy

    「マージがなんとなく怖い」「リベースするなって怒られて怖い」「エラーが出て怖い」 Git 入門者にありがちな「Git 怖い」を解消するため、Git のお仕事(コミット、ブランチ、マージ、リベース)について解説します。 This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS serv

    composerの遅さをまじめに考える #phpstudy
    sotarok
    sotarok 2016/01/28
    光遅い
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

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

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    sotarok
    sotarok 2015/12/17
    本当に素晴らしいインタビューだった。
  • 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
    sotarok
    sotarok 2015/12/04
  • 「そんなself-updateで大丈夫か?」 Composer編 - CARTA TECH BLOG

    こんにちはこんにちは、 VOYAGE GROUPでBuild prayer*1として活動している@_nishigoriです。 pip, bundler, rebar 等 各プログラミング言語のビルドツールないしパッケージマネージャ等と呼ばれているツールを弊社でも利用していますが、 PHPでは依存管理ツールとしてComposerを利用しているプロジェクトがあります。 今回はComposer体のバージョニングについて紹介し、 利用する上での良い側面と悪い(と思われる)側面を紹介します。 はじめに Composerの入手 最新版 *2 Installer self-update リリースサイクル 効能 デメリット self-updateする日時によってrevisionが異なる(場合がある) ある日のself-updateで突然死 Tagging Versions Installer self-

    「そんなself-updateで大丈夫か?」 Composer編 - CARTA TECH BLOG
    sotarok
    sotarok 2015/11/09
  • PHPのJSON HashDosに関する注意喚起

    4年前にHashDos(Hash Collision Attack)に関する効率的な攻撃方法が28C3にて公開され、PHPを含む主要言語がこの攻撃の影響を受けるため対策を実施しました。しかし、PHP以外の言語が、ハッシュが衝突するデータを予測困難にする対策をとったのに対して、PHPは、GET/POST/COOKIE等の入力データの個数を制限するという対症療法を実施したため、PHPにはHashDosに対する攻撃経路がまだ残っているということは、一部の技術者には知られていました。例えば、以下の様なつぶやきにも見ることができます。 だって、 hashdos 脆弱性の時、 Python とかの言語が、外部入力をハッシュに入れるときに衝突を狙えないように対策したのに、phpだけPOST処理で対策したからね? json を受け取るような口もってるphpアプリのほとんどがhashdos残ってるんじゃない

  • PHP7の内部実装から学ぶ性能改善テクニック

    .NET Conf Tokyo 2019 にて登壇。 https://vsuc.connpass.com/event/146588/ C# 8.0 の新機能のうち、非同期ストリームと呼ばれるもの(await foreach, await と yield の混在)について説明します。 また、非同期ストリームの内部的な仕組みの説明と合わせて、ValueTask や IValueTaskSource など、Task がらみのパフォーマンス改善の歴史を振り返ります。

    PHP7の内部実装から学ぶ性能改善テクニック
    sotarok
    sotarok 2015/09/04
  • Logging with Monolog in Symfony2

    Monolog is a PSR-3-compatible logging library for PHP, with Symfony2 integration provided by the MonologBundle. This article aims to provide an overview and to serve as an entry point to logging with Monolog. The official points of reference for Monolog & Symfony2 are: The Symfony Cookbook entry about writing logs with MonologThe Monolog configuration referenceHow to change channel definitionsHow

    Logging with Monolog in Symfony2
    sotarok
    sotarok 2015/07/03
    monolog の architechture
  • PHP勉強会10年の歴史をふりかえる - hnwの日記

    PHP勉強会@東京が今月で10周年の節目ということで、大変めでたいですね。僕にとっては初めて参加・発表した社外勉強会だったこともあり、不思議な感慨があったりします。 そこで、ふと思いついてPHP勉強会の10年を表形式でまとめてみました。古参の人が懐古する以外の用途はほぼ無いと思いますが、現在の参加者の方や他の勉強会の運営をしている方の参考になる部分が1%くらいはあるかもしれません。 (企業名などは全て当時の名前です) 2005年 開催日 募集ページ 募集人数 会場提供 幹事 2005-06-18 (土) 第1回PHP勉強会 in Tokyo 24 株式会社HDE ELF 2005-07-23 (土) 第2回PHP勉強会 in Tokyo ? 株式会社HDE ELF 2005-08-28 (日) 第3回PHP勉強会 in Tokyo ? 株式会社ぷらっとホーム ELF 2005-09-18

    PHP勉強会10年の歴史をふりかえる - hnwの日記
    sotarok
    sotarok 2015/06/25
    感謝。
  • PHP による hello world 入門 | 東北ギーク

    知る者は言わず、言う者は知らず — 老子 世界で最も有名なプログラムの 1 つに、 hello world というものがあります。 <?php echo 'hello, world'; 出力先に対して「hello, world」という 12 字を書き込むだけの単純なプログラムで、プログラミング言語やライブラリの利用例を最小限の形で示すものです。 この記事ではメジャーな Web プログラミング言語の 1 つである PHP 処理系が、hello world をどのように実行するのかについて、簡単に解説します。 以下の 4 節で構成されています。 「PHP スクリプト実行の大体の流れ」は実行時の概略を箇条書きでまとめたものです。 「SAPI」では、PHP 処理系の起動のされ方についての基礎知識を解説します。 「Zend Engine とオペコード」は PHP 公式処理系の仮想マシンの命令と、PH

    PHP による hello world 入門 | 東北ギーク
    sotarok
    sotarok 2015/06/19
    資料ぱない
  • PHP7調査(11)??演算子の新設 - Qiita

    PHP7で2項演算子「??」が新設されます。左オペランドがnull以外の値であればその値を、そうでなければ右オペランドを返すようなものです。

    PHP7調査(11)??演算子の新設 - Qiita
    sotarok
    sotarok 2015/06/18
    JS の hoge(var || default) みたいなやーつPHPにほしいなーって話してたら ?? でいけるようになるって話だった。(見た目がキモい
  • Composerがパッケージのstabilityを解決するしくみ - オープンソースこねこね

    PHPとComposerで先日composer/composerのdev-masterに依存したプログラムを作っていたら、composer installのときに以下のようなエラーがでてインストールできない問題にぶちあたりました。 Your requirements could not be resolved to an installable set of packages. Problem 1 - kohkimakimoto/altax v3.0.6 requires composer/composer dev-master -> no matching package found. ... 解決方法はcomposer.jsonに"minimum-stability": "dev"と"prefer-stable": trueを指定するか、対象のパッケージに"composer/compo

    Composerがパッケージのstabilityを解決するしくみ - オープンソースこねこね
    sotarok
    sotarok 2015/06/18
  • 本当に PHP の DoS 脆弱性 (CVE-2015-4024) キツくない? - はちゅにっき

    hakaikosen.hateblo.jp 上記記事を「あら大変(棒読み)」とか思いながら読んでいたけれど、PHP の BTS の方を読んでみたら確かに原理から再現手順まで細かく記載されていて 「なんかこれまずそう」と思ったので、docker を使って検証してみることに。 PHP 入りの Docker コンテナは、Official のものを利用しました。registry.hub.docker.com 今回の脆弱性、POST しないページには関係ないのかな?と思ってましたが、よくよく見ると PHP さえ動くページであればなんでもいいらしい。 ということで以下のような PHP ファイルを用意し、ここにアクセス (攻撃) をします。 htdocs/index.php <!DOCTYPE html> <html> <head> <title>PHP Bugs #69364</title> </he

    本当に PHP の DoS 脆弱性 (CVE-2015-4024) キツくない? - はちゅにっき
    sotarok
    sotarok 2015/06/17
  • GitHub - gree/MagicSpice

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - gree/MagicSpice
    sotarok
    sotarok 2015/05/22
    センス良い
  • PHP7調査(23)致命的エラーが例外としてキャッチできるようになった - Qiita

    (2015/07/02追記:PHP 7.0.0alpha2に合わせて修正しました) PHPのエラーは、エラー文言を表示するだけの警告・注意と、その場で処理を終了してしまう致命的エラー(fatal error)の2種類に大別できます。 ところで、PHP5の致命的エラーには不便な点があります。それは、set_error_handler()やその他の方法でエラーハンドリングできず、必ず終了してしまう点です。これでは致命的エラーをユニットテストするのも不便ですし、ReactPHPのようにサーバ動作させるようなプログラムも安心して使えません。 PHP7では致命的エラーが例外として実現されるようになり、エラーハンドリングの自由度が格段に上がりました。この変更の概要を紹介します。 例外のクラス階層の変更 まず、PHP7で例外クラスの階層がどう変わるかを説明します。PHP5までの例外のクラス階層は次のよう

    PHP7調査(23)致命的エラーが例外としてキャッチできるようになった - Qiita
    sotarok
    sotarok 2015/04/23
    これはすごいことやで
  • Google TOTP Two-factor Authentication for PHP | Application Security

    At the beginning of the year Google released 2 Factor Authentication (2FA) for G-Mail providing an application for Android, IPhone and Blackberry called Google Authenticator to generate one time login tokens. This post will show how to implement Google 2FA to protect web applications from stolen credentials. Google Authenticator is based on RFC 4226 - a Time based One Time Password (TOTP) which is

    sotarok
    sotarok 2015/03/28
    2FA for php w/ Google Authenticator
  • 【導入決定!】PHP7で実装されるスカラー型宣言とは? | 東北ギーク

    * NaN でなく PHP_INT_MIN から PHP_INT_MAX までの範囲内の値に限る ** 数値形の文字列のみ。数値形の文字列に他の文字が続く場合も使えるが、 Notice が出る *** __toString メソッドを持つもののみ 弱い型検査モードで行われる暗黙の型変換は、PHP が従来他の構文(算術演算子や条件式、組み込み関数の呼び出しなど)で行ってきたのと同等のものです。 厳密モード 一方、厳密な型検査のモードを使う場合は、関数は宣言されたのと正確に一致する型のみを受け付けるようになります(int → float の拡大変換をのぞく)。 ファイルの先頭に declare(strict_types=1); と書くことで、そのファイル内での関数呼び出しの際に厳密モードでの型検査が行われるようになります*1。 以下のように使います。 <?php declare(strict_

    【導入決定!】PHP7で実装されるスカラー型宣言とは? | 東北ギーク
    sotarok
    sotarok 2015/03/25
    良いまとめ (割と嫌いじゃないんだけど、declare 宣言 なのはどうなのかと思ってる)
  • PHP 7のパフォーマンスが高い理由

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PHP 7のパフォーマンスが高い理由
    sotarok
    sotarok 2015/03/25