タグ

PHPに関するsaka39のブックマーク (478)

  • WebスクレイピングライブラリGoutteで遊んでみる - hnwの日記

    新年あけましておめでとうございます。今年もボチボチやっていきます。 稿ではPHP製のWebスクレイピングライブラリGoutteを紹介します。 Goutte(グット)とは Goutteは必要十分な機能を持ったWebスクレイピングライブラリです。そもそもWebスクレイピングというのは、外部Webページから必要なデータを取ってくるくらいの意味です。つまり、GoutteはWebスクレイピングを簡単に行う道具だと考えればいいでしょう。 具体的には、GoutteはWebクローラとHTMLパーサを組み合わせたようなものです。Cookieやフォームの扱いなどWebブラウザとしての機能は一通り揃っていますし、CSS風の要素指定もできるなど、機能面では他のライブラリと遜色ないように感じます。 さらに僕個人がGoutteに期待している点は、安定性とロングサポートです。Goutteは主要機能をSymfony2お

    WebスクレイピングライブラリGoutteで遊んでみる - hnwの日記
  • tips - 動的配列と空要素と要素の列挙 : 404 Blog Not Found

    2012年01月15日18:30 カテゴリLightweight LanguagesTips tips - 動的配列と空要素と要素の列挙 動的配列は便利ですが、言語ごとの違いにはちょくちょく悩まされます。 JavaScript: The Definitive Guide (6th Ed.) David Flanagan 連想配列のlengthプロパティ - 馬鹿と天才は紙一重って使えないんですね。 var array = []; array["a"] = "string a"; array["b"] = "string b"; console.log(array.length); 見事に0が返ってきます。意味が分かりません。 perl5 最も直感的な実装。 要素数:最大の添字+1 列挙:要素が空でもなされる use 5.012; my @fizzbuzz; for my $i (1..30

    tips - 動的配列と空要素と要素の列挙 : 404 Blog Not Found
  • PHP5でMVCフレームワークを自作するためのチュートリアル:phpspot開発日誌

    12 Tutorials for creating PHP5 MVC Framework PHP5でMVCフレームワークを自作するためのチュートリアル PHPフレームワークは沢山ありますが、速度や機能面において、これといってデファクトスタンダードが決まっているわけではないという状況です。 なんか機能が便利そうだなとおもって使うと速度が全くでなくて規模の比較的大きなサイトだと使いものにならなかったり、フレームワークごとにクセがあったりするので、いっそ自作した方が余計な物がはいってなくて良いなんて場合もありそうです。 そんな場合に、フレームワークを作るチュートリアル記事が参考になりそうです。 個人的に速度はかなり重要度が高く、有名なフレームワークを使う場合はCodeIgniterのような軽いフレームワークがいいなと思っています。 関連エントリ ログイン/ユーザ登録といったフォーム実装用のフレー

  • PHPerの悩みを解決する arry を作ってみた(PHP Advent Calendar jp 2011 Day 2)

    Home > PHP > PHPerの悩みを解決する arry を作ってみた(PHP Advent Calendar jp 2011 Day 2) PHP Advent Calendar jp 2011 2日目です。 はい、PHPer王子です。 前日の @cakephper さんになんだか妙な名前を付けられました が、今年も PHP Advent Calendar を実施することになりました。管理人がなぜか 2 日目という変わったスタートとなりましたが、なんとか12/25の最後日まで駆け抜けたいと思います。参加されたみなさんよろしくお願いします! ちなみにまだ数日空きがあるので、いっちょ書いてみよーという方の参加お待ちしてます:D PHPerにおける連想配列の悩み 王子らしくPHPerの悩みを解決したい!ということで、連想配列にまつわるお悩みを。 普段PHPを書いていて何とも悩ましいのが、

    PHPerの悩みを解決する arry を作ってみた(PHP Advent Calendar jp 2011 Day 2)
    saka39
    saka39 2011/12/02
  • MySQL を PDO で使うときは ATTR_EMULATE_PREPARES を設定しよう : DSAS開発者の部屋

    「DSAS for Social を支える技術」 というネタでadvent calendar に挑戦します。 methane です。 PDOで MySQL を使うときは、みなさん $stmt = $con->prepare("..."); して $stmt->execute($values); とかしてプリペアドステートメントを利用されていると思います。 実は、このプリペアドステートメント、パフォーマンス的にはあまり良くありません。1つのクエリを実行するために、プレースホルダ付きのクエリを投げた後に、それに値をバインドして実行するコマンドを投げるので、1回のクエリを実行するのに2往復の通信が必要になるのです。 プリペアドステートメントにはパフォーマンスの利点(同じクエリを何度も発行するときにDBサーバーがクエリの解析を繰り返さないでもすむ)というものと、SQLインジェクション対策になる(正

    MySQL を PDO で使うときは ATTR_EMULATE_PREPARES を設定しよう : DSAS開発者の部屋
  • 【PHP】とあるページの、はてブコメント、ツイート、Facebookいいね!数を取得するテンプレコード【’11年末版】

    こんにちは。開発担当の林です。 今回はタイトル通りPHP(5.2以上)で、とあるページの、はてブコメントと、ツイート、Facebook いいね!数を簡単に取得するためのテンプレ用ソースコードです。 最低限のコードですが、比較的よく使われるものなのかなと思ってまとめました。 何かのお役に立てれば幸いです。 ※ 記事は、各サービスの公式 API を使っています。 はてなブックマークエントリー情報取得API Twitter API (日語参考:Twitter APITwitterまとめWiki ) Facebook Query Language (`・ω・´) はてブコメントと関連エントリーの取得 <?php // とあるページのアドレス(任意のアドレスをどうぞ) $sample_url = 'http://www.fenrir.co.jp/'; // はてブの情報取得 $hatena

    【PHP】とあるページの、はてブコメント、ツイート、Facebookいいね!数を取得するテンプレコード【’11年末版】
    saka39
    saka39 2011/11/08
  • 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

    saka39
    saka39 2011/10/19
  • FacebookのWall風機能を自前で再現できるPHPスクリプト:phpspot開発日誌

    Facebook Wall Script 4.0 Release FacebookのWall風機能を自前で再現できるPHPスクリプト。 Facebookで当たり前のように使えるウォール機能ですが、結構考えられていて便利ですね。 同様のスクリプトをダウンロードして自前で設置できてしまいます。 リアルタイム写真アップロード機能 コメント投稿機能 コメントの折りたたみ 動画プレビュー WEBカメラからのスナップショット。 MOREボタン これは素晴らしいですね。UI変えて使ってもよさそうです 関連エントリ TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 facebookの新しいタイムライン風にデザインされたWordPressテーマ「Timeline WP」 Facebookのファンページ作り等に使えそうなPSDモック

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

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

    saka39
    saka39 2011/10/07
  • 今後の伸びに期待がかかるPHP製CMS·Fork MOONGIFT

    Forkはユーザフレンドリー、多数のテーマ、プラグインといった機能を備えたPHP製CMS。 ForkはPHP製のフリーウェア(ライセンスは独自)。世の中にはCMS(コンテンツマネジメントシステム)と呼ばれるソフトウェアがたくさん存在する。そのUI、機能はその時々のトレンドに合わせて変化してきた。昔からのCMSが決して良いという訳ではなく、時代に合わせてCMSも進化しているのだ。 ユーザ向け その点、最近できたCMSはどれもUIがとても優れている。全体のデザインはもちろんAjaxを使ったり、ユーザフレンドリーなインタフェースになっている。今回紹介するForkもその一つ、とても格好いいデザインのCMSだ。 Forkの特徴としてはまずユーザフレンドリーなインタフェースが挙げられる。デフォルトのデザインがそのままかっこうよく、初心者にもプロフェッショナルにも使いやすい。タブを使ったりツリー表示を使

  • スマホ等のモバイル判定が簡単に行えるライブラリ「MobileESP」:phpspot開発日誌

    The MobileESP Project: Easily detect mobile web site visitors About MobileESP スマホ等のモバイル判定が簡単に行えるライブラリ「MobileESP」 AndroidiPhoneBlackberry等、大量のモバイルデバイスが存在しますが、そうした物の判定を行ってくれる各種言語用のライブラリ群です。 docomo, kddi, vodafoneなんていう記述もあったりしてガラケーも対応してるっぽいです。 対応言語は、PHP, Java, APS.NET (C#), Ruby ,さらにはJavaScript版もあるようです iPhone端末かどうかを調べるには次のようなコードを書きます。 $uagent_obj = new uagent_info(); if ($uagent_obj->isTierIphone =

  • PHP で Mecab を使って日本語形態素解析の結果を簡単に取得するまでの設定まとめ

    前回 MeCab のインストールをしてコマンドラインから使えるように設定しました。今回は MeCab を PHP から使えるようにする設定をします。今回 PHP から MeCab を使えるようにするに辺り、以下のサイトを参考にさせて頂きました。ありがとうございます。 Macphp_mecabを使えるようにした – なんというていたらく MeCabで形態素解析してみた【PHP】 – Programming Magic php_mecab をインストールする pecl.opendogs.org をチャンネルに追加します。

    saka39
    saka39 2011/09/28
  • 『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem's blog

    このエントリでは、数値型の列に対するSQLインジェクションについて説明します。 以前のエントリで、たにぐちまことさんの書かれた『よくわかるPHPの教科書』の脆弱性について指摘しました。その際に、『私が見た範囲ではSQLインジェクション脆弱性はありませんでした』と書きましたが、その後PHPカンファレンス2011の講演準備をしている際に、同書を見ていてSQLインジェクション脆弱性があることに気がつきました。 脆弱性の説明 問題の箇所は同書P272のdelete.phpです。要点のみを示します。 $id = $_REQUEST['id']; // $id : 投稿ID $sql = sprintf('SELECT * FROM posts WHERE id=%d', mysql_real_escape_string($id) $record = mysql_query($sql) or die(

    『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem's blog
    saka39
    saka39 2011/09/27
    “プレースホルダを使ってSQLを呼び出すこと”。PDO使う
  • Google Analytics携帯向けライブラリ「KtaiAnalytics」を書いた - さかなチキンぱん。

    ブログを移した為記事を削除しました。 新しいページへどうぞ

    Google Analytics携帯向けライブラリ「KtaiAnalytics」を書いた - さかなチキンぱん。
  • サーバーを作ろう

    4. TCP/IP送ったら送った順に届く$fp = stream_socket_client('tcp://www.nicovideo.jp:80');fwrite($fp, "GET / HTTP/1.0");fwrite($fp, "Host: www.nicovideo.jp");echo stream_get_contents($fp);fclose($fp); 6. TCP/IPちゃんと届けられる$fp = stream_socket_client('tcp://www.nicovideo.jp:80', $errno, $errstr);if ($fp=== false) { throw new Exception($errstr);}if (fwrite($fp, "GET / HTTP/1.0") === false) { throw new Exception($php_

    サーバーを作ろう
  • PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHP5.3.7のcrypt関数には致命的な脆弱性があります。最悪のケースでは、任意のパスワードでログインできてしまうという事態が発生します。該当する利用者は、至急、後述する回避策を実施することを推奨します。 概要 PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。 影響を受けるアプリケーション crypt関数を用い、ハッシュアルゴリズムとしてMD5を指定しているアプリケーション。 環境にも依存しますが、デフォルトがMD5の場合もあります。筆者のテスト環境

    saka39
    saka39 2011/08/23
    どうしてこうなった
  • もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog

    たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ

    もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog
    saka39
    saka39 2011/08/23
  • TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」:phpspot開発日誌

    TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 2011年08月22日- HybridAuth, Open Source Social-Signle-Sign-On Solution for authentication through Facebook, Twitter, Google, Yahoo, MySpace, LinkedIn, AOL, Vimeo, FourSquare, OpenID and other Identity providers TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 Facebook, Twitter, Google, Yahoo, Windows Live, MySpace, LinkedIn, FourSquare, O

  • 色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP)

    PHPフレームワークの速度比較では、HelloWorldを表示するのみの単純なアプリを用いた計測を元に比較表が作られることが多いです。特に後発のフレームワークは分かりやすい特徴付けとして速度をアピールする傾向にあるため、その比較表を元に N倍速いというアピールをしています。 PHPフレームワークを使うということは、DBまで絡めたWebアプリを作ることがほとんどなため、HelloWorldアプリの比較よりは、DBからレコード取得して表示するまでの処理速度を比較したほうがより現実に近い指標になると思います。特にCakePHP1系ではDBのデータ取得も独自ドライバになっていますし、モデルの処理も重いのでそこまで含めて他と比較したほうが良いと思ってます。 今回はDBから1レコード取得して表示するという簡単なアプリで各フレームワークの速度を評価しました。フレームワークに備わっているViewキャッシュ

    色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP)
    saka39
    saka39 2011/08/02
    Codeigniter2がいい感じ、Yiiは残念な感じ
  • 今風のUI。Ajaxを使ったPHPベースのMySQL管理システム·MyWebSql MOONGIFT

    MyWebSqlはAjaxを多用した今風のUIを使ったMySQL管理ツール。 MyWebSqlPHP製のオープンソース・ソフトウェア。PHPと言えばMySQL、その二つの組み合わせから生み出されたphpMyAdmin。LAMPスタックなんて言葉が生み出されたのにphpMyAdminの優秀さがあったことは否定できない。それくらい誰しもが使っているソフトウェアだ。 データ一覧 だが長い年月のうちにUIは古いものになり、ちょっと時代が変わってきているかという気がしなくもない。そこで今のWebに合わせたMySQL管理ツールを紹介しよう。それがMyWebSqlだ。 MyWebSqlはWebアプリケーション風のインタフェースに加えて、UIのデザインもポップで明るい配色になっていて使い勝手が良い。左側にデータベースの一覧、右側でデータの編集を行うスタイルはphpMyAdminと同じだ。さらに下にはSQ

    今風のUI。Ajaxを使ったPHPベースのMySQL管理システム·MyWebSql MOONGIFT