タグ

PHPに関するcignoirのブックマーク (51)

  • PHPで作る面白コラージュ写真

    9月/10月社内Tech勉強会レポート – NodeJS/Privacy Sandbox API/3rdPartyCookie/NodeJS/PromiseAll/cascae/

    PHPで作る面白コラージュ写真
    cignoir
    cignoir 2011/09/29
  • yamashiro さんに質問してきたメモ 〜PHP & PHPUnit & Selenium & CI - cignoir.log

    id:Yamashiro0217(@yamashiro)に質問してきたメモ 2000行のPHP4スクリプトにどうテストを書いていくか 関数に切り出して部分的にテストを書いていく。 関数に切り出すときはテストがない状態で書いていく? ざっくりしたテストを最初に書く。既存のレガシーコードの改善を一気にやろうとするとへこむので段階的にやるか、新しく作る部分は綺麗な世界を守るとか、メトリクス分析ツールなどで実際に改善されていってるのを見ながらやると安心が得られる。複数の相手を相手にするには1対1に分断して戦うべし。 Stagehand_TestRunner がすごく便利そうだった ソースコードの変更を監視してテストを実行してくれるツール。phpconでのデモであったやつですね。 http://iteman.jp/blog/2009/10/php---stagehand-testrunner.htm

    yamashiro さんに質問してきたメモ 〜PHP & PHPUnit & Selenium & CI - cignoir.log
  • Sebastian Bergmann

    Sebastian Bergmann has created the industry-leading testing tool PHPUnit, which has played a vital role in professionalizing software development with PHP. Sebastian shares his comprehensive experience in publications and at conferences. As Co-Founder and Principal Consultant of The PHP Consulting Company (thePHP.cc), he helps his clients to develop software successfully. In his free time, Sebasti

  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
    cignoir
    cignoir 2011/08/24
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • 超便利なDebugkitを画面キャプチャ付きで解説 - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHPの便利すぎるプラグインであるDebugkitが色々と機能追加されてたので、今の最新版でどうなっているか画面キャプチャをベースに解説します。thechaw.comにある最新ソースだとid:yandodさんがリクエストしてた「Viewにセットした変数とかヘルパーとか全て表示できるように」というのが、Variablesパネルに加わりました(2009/5/29のコミットで)。 基的には、下記からZIPダウンロードしてください http://github.com/cakephp/debug_kit/downloads (現在の最新版はVersion 1.1) http://thechaw.com/debug_kit/versions 追記 上記のzipはリリース版です。最新の機能を使いたい場合は下記からファイル名の日付が最も新しいZipダウンロードしてください。 http://git

    超便利なDebugkitを画面キャプチャ付きで解説 - cakephperの日記(CakePHP, Laravel, PHP)
    cignoir
    cignoir 2011/08/02
  • PHP でパッケージプライベートを実現してみる - いけむランド

    他にも何とでもやりようはありそうだけど、とりあえず思いついた方法で実装してみた。 ちなみにここでパッケージプライベートというのは同じ名前空間からのみアクセスできるという意味で言っている。 参考にしたのは以下の記事である。 PHP 5.3 Class Friendship Support « Rommel Santor's Clog <?php namespace { class PackagePrivateImplementor { private $nameSpaceName; public function __construct($nameSpaceName) { $this->nameSpaceName = $nameSpaceName; } function __call($name, $arguments) { if (!method_exists($this, '_' . $

    PHP でパッケージプライベートを実現してみる - いけむランド
  • PHP の autoload を使ってみる|てくめも@ecoop.net

    PHP5 からは、オブジェクト指向言語らしくクラスのオートローディングが可能になりました。 具体的には、明示的に require_once “foo.php” としなくても、 function __autoload($class){ include_once $class . “.php”; } としておけば、 $foo = new foo; とした時に include_path から自動的に foo.php をインクルードしてくれる,というものです。 ただ、class_exists()はデフォルトで__autoload()を呼び出すらしいので __autoload() の実装は以下のような感じにするのがよさそうです。 function __autoload($class){ // 検索する拡張子一覧 $exts = array(“php”, “inc”, “class.inc”, “cl

    PHP の autoload を使ってみる|てくめも@ecoop.net
  • PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ

    PHP5.4 alpha1がリリースされた。このリリースでは、PHPのオブジェクト指向言語の新たな機能としてtraitと呼ばれる機能が追加された。PHP5.4におけるtraitとは、型に影響を与えずにクラスに適用できるメソッドとプロパティの集合である。 早速PHP5.4 alpha1をインストールし、traitを使ってシングルトンパターンを実装した。このコードでは、クラスの継承関係に影響を与えずにシングルトンパターンをモジュール化している。 <?php trait Singleton { protected function __construct() { } static function getInstance() { static $obj = null; return $obj ?: $obj = new static; } function __clone() { throw n

    PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ
  • PHP5.4とScalaのトレイト比較 - なんたらノート第三期ベータ

    PHP5.4にはトレイトという文法が導入されて、多重継承の便利さが享受できるようになるそうです。 いろいろ試してみることにしました。 トレイトといえば代表選手はScalaですね。Scalaでいうトレイトは、インターフェースの定義とメソッドの実装を同時にやってくれる便利な概念でした。単一継承のOOP言語では「〜は〜の一種」という制約が強すぎて、「ペンギンは鳥の飛行メソッドによって飛行できてしまう」という問題があります。でもちゃんと「ペンギンは飛べないが泳げる鳥」を綺麗に解決する必要はあって、その解答として、トレイトのあるScalaではこんな解が導けます。 abstract class Animal abstract class Bird extends Animal { def hasBeak = true // 鳥にはかならずクチバシがある def hasWings = true // 翼

    PHP5.4とScalaのトレイト比較 - なんたらノート第三期ベータ
  • PHP: PHP 5.2.x から PHP 5.3.x への移行 - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction

    cignoir
    cignoir 2011/07/03
  • PHPUnit 3.4 Japanese Manual

    Welcome to PHPUnit! PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.

    PHPUnit 3.4 Japanese Manual
  • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

    はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

    PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
  • PHPのインストール 初心者用PHP入門

    独習PHP 第3版 手を動かしながら学ぶPHP7。基構文から、クラス、DB連携、セキュリティ対策まで。解説、例題、練習問題の3ステップでよくわかる。基礎からオブジェクト指向まで学べる定番入門書。 PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE) 第2版では、最新のPHP(5.4/5.5)に対応したほか、レシピ全体の大幅な見直しを行い、データベースやテスト関連のレシピ拡充など、さらに内容充実・より便利になりました。サンプルプログラムのスマートフォン対応も行っています。実践で即役立つテクニックと開発ノウハウ、つまづきやすい・ハマりやすいポイントを徹底解説した「PHPユーザー必携の1冊」です。 PHPの絵 第2版 Webアプリ作りが楽しくなる新しい9つの扉 HPは、さまざまなWebアプリケーションが簡単に作れそうなので、興味のある人は多いのではないでしょうか。書は、イ

    cignoir
    cignoir 2011/06/15
  • PHP5の登場、PHP5とJavaのパフォーマンス比較

    以上のとおり、PHP5のデータベース接続処理はJavaと比較して2分の1以下の実行速度しかないという結果となりました。また、PHP5はPHP4と比較してもデータベース接続処理において10%近く実行速度を低下させています。 PHP5はPHP4と比較して10%〜15%実行速度を低下させていますが、この原因として考えられるのは、やはりオブジェクト指向機能の大幅な強化にあると筆者は考えています。 PHP5は、当初「Zend Engine version 2.0: Feature Overview and Design」(PDF:115KB)において目標としていたオブジェクト指向機能の強化と引き換えにパフォーマンスを犠牲にしたわけですが、この選択によってPHP5は再利用性や拡張性、堅牢なアーキテクチャの実現方法を手に入れました。 パフォーマンスの悪化は各種パッケージ製品(※1)、マシンのスペックアッ

  • もうバージョンアップで困らない – PROVE for PHP

    (Last Updated On: 2018年8月14日)昨年のPHPカンファレンスで紹介したPORVE for PHP 開発版の公開を始めました。PROVE for PHPはこんなテストが出来ます。 PHPをアップデートしてアプリに影響が無い事を検証する PHPアプリをアップデートしても以前と同じように動作する事を検証する 使い方もとても簡単です。 テストケースの作成はブラウザからアプリを利用するだけ ロードバランサを用いて実運用サーバからのテストケースも作成可能 テストの実行はプログラムを実行するだけ 違いが在った場所はプログラムの何処か確実&簡単に判明 http://www.provephp.com/ 現状 CUIとコマンドツールでの管理のみ GUI(Web、GTK)は順次整備予定 PROVEを利用すればPHPセキュリティパッチがリリースされた場合に、アプリケーションの動作チェック

    もうバージョンアップで困らない – PROVE for PHP
  • PHPのlist表現を使おう - id:anatooのブログ

    PHPにはlist表現というものがあるが、積極的に使われているのをあんまり見ない。 これはおそらくlistの以外な便利さが詳細まで知られていないからかと思う。 そこでこの記事ではPHPのlistの使い方を細かく説明していくことにする。 基的な使い方 list表現は代入式の左辺で使われ、右辺の配列の要素を一連の変数に代入する事が出来る。 そのlistのごく基的な使い方の例が以下。 <?php list($first, $second) = array(1, 2); 変数$firstに右辺の配列の0番目の要素が代入され、変数$secondに右辺の配列の1番目の要素が代入される。 listの外見は関数の呼び出しとほとんど変わらないので奇妙に見えるかもしれない。 上のコードは、以下とほぼ同じ意味を持つ。 <?php $arr = array(1,2); $first = $arr[0]; $s

    PHPのlist表現を使おう - id:anatooのブログ
  • 冷凝器进出水温差范围,爱爱三级激情_偷玩熟睡中的在线观看_欧美日韩乱妇高清免费

    冷凝器进出水温差范围,九一裸体影院播放,长腿白丝美女的呻吟视频,在线观看免费大黄女片,私人A片免费观看,正在播放初尝黑人巨,粉嫩小泬17p在线播放,诱人老色妇,无码人一区二,7775cf是什么意思,japanese丰满熟妇mature,完美影视大全app下载

  • Yahoo!広告 公式サイト - Yahoo! JAPAN マーケティングソリューション

    ウェブサイトを移転しました 2023年10月1日、ヤフーとLINEは合併し「LINEヤフー」となりました。 これに伴い、Yahoo!広告サイトはLINE for businessと統合し、 新しいウェブサイト「LINEヤフー for Business」へ生まれ変わりました。 https://www.lycbiz.com/jp/service/yahoo-ads/ 新しいドメインのページに移動する場合は、以下のボタンをクリックしてください。 新サイトへ移動する

    Yahoo!広告 公式サイト - Yahoo! JAPAN マーケティングソリューション
    cignoir
    cignoir 2011/03/30
  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常