タグ

PHPに関するhrfmsdのブックマーク (103)

  • 40分濃縮 PHP classの教室

    PHPカンファレンス関西2012で使用したスライドです。完全な内容は下北沢で開催した際のスライドと動画を御覧ください。Read less

    40分濃縮 PHP classの教室
  • PHPでの画像処理が楽々かつコードも綺麗に書けるPHP5.3用以降用ライブラリ「Imagine」:phpspot開発日誌

    Welcome to Imagine’s documentation! ? Imagine, image manipulations reloaded PHPでの画像処理が楽々かつコードも綺麗に書けるPHP5.3用以降用ライブラリ「Imagine」 クラスはネームスペースで分けられて作られており、PHP5.3以降で利用可能。 サムネイル作成や切り取り、図形描画などのよく使われる処理をオブジェクト指向できれいに、あとで見ても分かりやすい状態でコードが書けます。 コード例は次のような感じで、メソッドチェーンを利用して直感的なコードが実現できているのがわかります。 こうしたものでネームスペースを使ったものって無かったので、ネームスペースちゃんとやりたい方にはよさそうですね。 関連エントリ 画像の縮小やトリミングに便利なPHPクラスライブラリ「Zebra_Image」 TwitterやFacebo

  • 画像の縮小やトリミングに便利なPHPクラスライブラリ「Zebra_Image」:phpspot開発日誌

    Zebra_Image, a lightweight image manipulation library written in PHP 画像の縮小やトリミングに便利なPHPクラスライブラリ「Zebra_Image」 転送量や速度の観点からPHPの画像を縮小したり、またはサイズをそろえてきれいに並べるなど扱いやすくする際にもリサイズを行いますがそういった処理を簡単に行えるようになるクラスライブラリのご紹介です。 元の画像 背景を指定しておき、200x200ピクセルなど指定したサイズにまるめるメソッド。 元画像は一切、切り取られることなく縮小され、指定の画像サイズにできます 指定幅サイズに単に縮小 200x200ピクセルなどを指定した場合、指定ピクセルいっぱいに広がるようにサイズ調整して切り抜く方法 GDで1から書くと結構めんどくさかったりするのでこうしたもので簡単にやっちゃいましょう 関連

  • crocos.jp

    This domain may be for sale!

    crocos.jp
  • curl_multiでHTTP並行リクエストを行うサンプル

    curl_multiはselectシステムコールを使って同時に複数のHTTPリクエストを行うことができます。マルチスレッドやらマルチプロセスを使っているわけではなく、原理はnode.jsなんかと近いI/O多重化で、一度に一つのことしかしていません。 PHPcurlはlibcurlAPIをほぼ踏襲しており、ちょっと取っつきにくいです。クラスでラッピングして、curl_close()などはデストラクタで呼ばれるように自動化すると、もう少しすっきりすると思います。 <?php /** * curl_multiでHTTP複数リクエストを並列実行するテンプレ * */ //タイムアウト時間を決めておく $TIMEOUT = 10; //10秒 /* * 1) 準備 * - curl_multiハンドラを用意 * - 各リクエストに対応するcurlハンドラを用意 * リクエスト分だけ必要 * *

    curl_multiでHTTP並行リクエストを行うサンプル
  • DNS浸透を温かく見守るコマンドラインツール - Qiita

    サーバ移転とかしたときに、どのへんまでDNS情報が更新されてるか知りたい時に使います。 2012-04-04 追記: コメントにてgeekpageさんがこのツールの問題を指摘しています。コメントを参照の上、各自の修正するなりして状況に対応してくださいm(_ _)m ご指摘くださったgeekpageさんありがとうございます! #!/usr/bin/env php <?php //$monitor = new DNSPenetrationMonitor(ドメイン, 新しいIP); $monitor = new DNSPenetrationMonitor('suin.asia', '59.106.173.151'); $monitor->monitor(); class DNSPenetrationMonitor { protected static $providers = array( '2

    DNS浸透を温かく見守るコマンドラインツール - Qiita
    hrfmsd
    hrfmsd 2012/04/05
  • The Grumpy Programmer's Guide To Building Testable PHP Applications

    You want to test your code but you don't know how You've done the research and picked a testing framework that you're going to use to start wrapping your PHP code in automated tests. Test-centric coding practices will never be easier than they are today, and you are eager to get going. There's only one problem: what does testable code look like? You want to know what testable code looks like The b

    The Grumpy Programmer's Guide To Building Testable PHP Applications
  • エラーハンドラと例外ハンドラによるエラー処理 (PHP Advent Calendar jp 2011 Day 11) | k-holyのwebメモ

    @calpo22さんの記事 PyrusでプロジェクトローカルなPEARライブラリインストール : PHP Advent Calendar jp 2011 Day 10 – くろまほうさいきょうでんせつ にき続き、PHP Advent Calendar jp 2011 11日目の記事です。 皆さん、エラー処理ちゃんとやってますか? 今時は、設定を書いておけばフレームワークがよしなにやってくれるよ、という方が多いかもしれません。 PHP4時代を戦い抜いた人は、皆自分なりのエラー処理関数を書いてset_error_handler()とtrigger_error()を駆使した経験があると思います。 私も当時は、サブルーチンを呼ぶたびに戻り値をチェックして return FALSE をリレーしていき、レスポンス出力の段階でFALSEが返されていればエラー画面をinclude、といった処理をしてい

  • 例外を使う - Do You PHP はてブロ

    via. http://d.hatena.ne.jp/uratch/20100303/1267587165、2010-03-18 - ます’s Diary - どうでもいい事100選 前のエントリにも続きますが、Javaっぽく書くのであれば、例外を使うのもそうかもしれません。 一番のメリットが、ロジックの中にCライク(?)な"戻り値が0だったら〜、そうじゃなかったら〜"みたいな処理を書かなくて済むのと、例外をcatchする箇所を絞って、エラー処理をまとめて書ける事じゃないかと思います。 たとえば、"DBに繋いでデータを取得するコード"を考えてみます。例外を使わない場合は次のようなコード。 <?php $conn = oci_connect("scott", "tiger", $db); if ($conn === false) { // エラー処理 } $stmt = oci_parse(

    例外を使う - Do You PHP はてブロ
  • 5分で分かる名前空間とオートロード

    4. 名前空間を宣言する namespace宣言は必ずコードの先頭に記述すること。 (コメント、改行、スペースは宣言の前に書いてもよい) 名前空間は「」(バックスラッシュ)区切りで階層を構成できる。 <?php namespace HolyExample; //名前空間 ”HolyExample” を宣言 ちなみに、誤っていわゆるBOM付UTF-8でファイルを保存したところ、 こんなエラーで怒られてしまいました。 Fatal error: Namespace declaration statement has to be the very first statement in the script ※BOM付きUTF-8には気をつけて! 5. 名前空間でのクラス定義 名前空間で定義されるクラス/関数/定数は、先頭に名前空間を 付加したものとして解釈される。 namespace HolyEx

    5分で分かる名前空間とオートロード
  • PHPでTwitter APIのOAuthを使う方法まとめ

    この記事以降 Twitter API の仕様が変わっており、このままでは正しく機能しない場合があると思います。近いうちに今のやり方を書くので、それまで参考程度にご覧ください。 Twitter API の OAuth でひととおりやってみた。 忘れないようにメモ。 大雑把な流れ Twitter にアプリケーションを登録する。 Consumer Key と Consumer secret を取得する。 リクエストトークンを取得する。 認証用 URL を取得する。 ユーザーから承認を受ける(bot の場合は自分でやる)。 アクセストークンを取得する。 API にアクセスする。 以下、やった作業の手順です。 事前準備 HTTP_OAuth を使えるようにする OAuth の通信部分そのものは PEAR の HTTP_OAuth を使うことにしたので これをインストールする。 一番めんどくさい部分を

    PHPでTwitter APIのOAuthを使う方法まとめ
  • 味のりとこんにゃくゼリーのエンジニアブログ: phpを高速化する60の方法

    2012年3月15日木曜日 phpを高速化する60の方法 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo ‘文’,'字’; (カンマ区切り)の方が、’文’.'字’ (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09. スクリプト開始時間は time() でなく $_SERVER['REQUEST_TIME

  • 最近 PHP のセットアップ時にいつもやってる設定 | バシャログ。

    レーザー治療までしたのにくしゃみ出まくってるんですけど、いったい何なんですか。どうもこんにちは nakamura です。 PHP-5.3.x 系もだいぶ浸透してきた今日この頃ですが、今日はここ最近新規にウェブサーバを立てる際にいつもデフォルトでやっている PHP 周りの設定をまとめてみました(よくよく考えたら PHP-5.3.x 系とかあんまり関係ないけど)。環境は CentOS 5 or 6 の PHP-5.3.x です。remi リポジトリを使って最新版の PHP を入れてます。 /etc/php/php.ini 毎回さわっているのは大体この辺ですね。他はサイトの仕様にあわせて適宜。 [PHP] expose_php = Off [Date] date.timezone = Asia/Tokyo セッションの保存先を memcached に セッションの保存先はデフォルトで memca

    最近 PHP のセットアップ時にいつもやってる設定 | バシャログ。
  • 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+Kestrel+Supervisorでお手軽タスクキューイング

    こんにちは、久保田です。 ウェブサービスでは、ユーザのアクションに従ってバッチ処理を行わなければならないケースがままあります。この記事では、バッチ処理の手法の一つであるタスクキューイングをPHPとKestrelとSupervisorを利用して行うやり方の導入を紹介します。 なぜなにタスクキューイング ウェブサービスでは、ユーザのアクションに従って非同期にバッチ処理を行うようなケースがよくあります。 例えばflickrのような写真を共有するウェブサービスで言えば、ユーザが写真をアップロードしたあとに非同期でその画像の複数のサムネイル生成や加工をしなければならないケースがあります。 よく見られるのは、DBにバッチ処理のためのタスクデータを入れておいて、後でcronで定期的に起動するワーカープロセスからバッチ処理を行う方法です。このやり方には、ワーカーを複数プロセスで扱いづらい、処理がリアルタイ

    PHP+Kestrel+Supervisorでお手軽タスクキューイング
  • hashdos攻撃をmod_securityで防御する(CentOS+yum編)

    このエントリでは、hashdos対策としてのmod_securityの導入と設定の方法を説明します。CentOS環境でyumによりApacheを導入しているサイトに対して、yumによりmod_securityを導入するというシナリオで説明します。 はじめに既に当ブログで報告の通り、hashdosと呼ばれる攻撃手法が公表されています。HTTPリクエストのパラメータ名に対するハッシュ値を故意に同一にした(衝突させた)ものを多数(数万程度)送信することにより、Webサーバーを数分程度過負荷にできるというDoS攻撃手法です。まだhashdosによる攻撃事例は報告されていないようですが、既に攻撃コード(PoC)が公表されているため、いつ攻撃が起こっても不思議ではない状況です。 PHPも影響を受けるプラットフォームであり、PHP5.3.9で対処予定となっていますが、まだPHP5.3.9はリリースされて

  • 大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記

    このエントリでは、セキュリティの観点から、バリデーション実装について検討します。大垣さんのを読んで「大垣流バリデーション」について勉強した結果を報告します。 はじめに 大垣さんの記事「入力バリデーションはセキュリティ対策」では、「入力バリデーションはセキュリティ対策である」が力説されています。この記事はおそらくid:ajiyoshiさんのブログ記事「妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション」を受けてのことだと思います。id:ajiyoshiさんのエントリでは、「妥当性検証は仕様の問題であってセキュリティ対策ではありません」と明言されています。私はid:ajiyoshiさんに近い考えを持っていますので、大垣さんの主張について、私なりに考えてみました。 記事を書くにあたり、徳丸の立場を明確にしておきたいと思います。 バリデーションの基準は仕様の問題 バリデーション

    大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記
    hrfmsd
    hrfmsd 2011/12/26
  • PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開

    PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開 HipHop Virtual Machineは、PHPを高速に実行するためにPHPのコードをC/C++に変換してg++でコンパイルし、バイナリコードにするHiphop compiler(hphpc)と、PHPのインタプリタであるHipHop interpreter (hphpi)を組み合わせたもの。PHPのコードをダイナミックにバイナリコードへと変換することで、高速な実行を目指しています。 コンパイラと同等以上の実行速度へ HipHopはFacebookが開発し、オープンソースとして公開しています。今回のHipHop Virtual Machineも、これらの開発の延長線上にあるものです。 Our experiences with hphpc led us to start e

    PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開
  • http://atnd.org/events/22473

  • http://atnd.org/events/10524