タグ

PHPに関するkitajのブックマーク (15)

  • PHP の配列を使った手品とその種明かし

    PHP Advent Calendar 2013 に参加しています。昨日の @yando さんから引き継いで2日目。 以前 PHP を使った手品を人前でやったら、 会場から「えっ」「えっ?」「ええっ!?」 という反応があって楽しかったので書いてみます。 演じ方 まずはこちらをご覧ください。 これを実行したらどうなるでしょうか。 できれば、答え合わせをする前に 上記コードの右下にある view raw から keys.php をダウンロードして実行してみてください。 普通に考えたらこうなると思います。 Array ( [key] => value_7 ) では実行してみますね。 % php keys.php Array ( [key] => value_0 [key] => value_1 [key] => value_2 [key] => value_3 [key] => value_4

    PHP の配列を使った手品とその種明かし
    kitaj
    kitaj 2013/12/02
    オチが全てww
  • ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記

    所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数

    ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記
    kitaj
    kitaj 2013/11/18
    『よく「車輪の再発明するな」と言われますが、他人が作った車輪はある日突然挙動が変わるというのを痛感しました。』いい言葉っぽいが,今回のケースでは単なるバグだったんじゃないの?
  • PHP Webアプリケーションから非同期にコマンドを実行するライブラリをつくりました。 - オープンソースこねこね

    こんなの作りました。 BackgroundProcess Webのプロセスから重い処理を実行したいのだけど。。。 PHPCSVファイルなどから一括で大量のデータ投入を行いたいときがあります。 これをWebアプリケーションのプロセスでやろうとすると、処理時間が長いため、だいたいプロセスがタイムアウトしてエラーになってしまいます。困ったものです。 こういうとき、代わりにコマンドラインのプログラムとして実装したりするんですが、任意のタイミングで処理したい場合、コマンド実行する以上サーバにターミナルでログインできる技術者しかデータ投入作業ができなくなってしまいます。 もっとだれにでもできるように、やっぱりWebアプリケーションのインターフェースが欲しくなるのが人情です。 Webアプリから非同期にコマンドを実行する この要件を満たす簡単な方法は、以下のようなコードでWebプロセスから外部コマンドを

    PHP Webアプリケーションから非同期にコマンドを実行するライブラリをつくりました。 - オープンソースこねこね
    kitaj
    kitaj 2013/09/04
    うーん,手軽さ優先したのはよく分かるが,すぐにCPU溢れそうな気がする.
  • PHP Debug Bar

    Debugging in PHP has never been easier The DebugBar integrates easily in any projects and can display profiling data from any part of your application. It comes built-in with data collectors for standard PHP features and popular projects. Install the debug bar using Composer: { "require": { "maximebf/debugbar": "1.*" } } $ php composer.phar install The DebugBar has two parts: the main DebugBar obj

    kitaj
    kitaj 2013/08/15
    これ便利そう!
  • PHP で文字列に機種依存文字が含まれているかどうか判定するクラス

    PHP で与えられた文字列に機種依存文字が含まれているかどうか 判別するためのクラスを作ってみました。 msng/PlatformDependentChars · GitHub 使い方はコードの後で。 使い方 require('PlatformDependentChars.php'); などしたら、あとは PlatformDependentChars::check(文字列) で、機種依存文字がなければチェックを通過して true, 含まれていたら false を返します。 与える文字列が内部文字エンコーディングと異なる場合は 第2引数で指定してください。 PlatformDependentChars::check($str, 'EUC-JP') クラス名が長いのを何とかしたい。 やっていること 文字列を別のエンコーディングに変換すると 機種依存文字は正しく変換されないはずなので、 それを確

    PHP で文字列に機種依存文字が含まれているかどうか判定するクラス
    kitaj
    kitaj 2013/02/02
    あとでちゃんと読む
  • CakePHPのアプリのコーディング規約チェックを自動で行う方法

    みなさんこんにちは。@ryuzeeです。 PHPで書かれたソースコードがコーディング規約に準拠しているかどうか確認するには、PHP_CodeSnifferというツールを使うのはよくご存知だと思いますが、今回はCakePHPを使って書いたソースコードの規約をチェックする方法を紹介します。 なお、このような規約チェックはローカル環境で気が向いた時にやるだけではなく、継続的インテグレーションにも組み込んで実施することが望まれます。 PHP_CodeSnifferのインストール特にチャンネルの追加は必要ありません。 インストールが完了すると、phpcsコマンドがインストールされます。 また標準では、Squiz, PEAR, Zend, MySource, PSR1, PSR2 , PHPCS の7個の規約がインストールされます。このうちMySourceは自分でのカスタマイズ用です。 CakePHP

    CakePHPのアプリのコーディング規約チェックを自動で行う方法
    kitaj
    kitaj 2012/11/01
    こんなことできたのか.使えるかも.
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    kitaj
    kitaj 2012/07/15
    これ明日読も
  • 伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる

    今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシのなんて読みたがります? パーザを書くのは苦手です。当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ

    伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる
    kitaj
    kitaj 2012/07/15
    phpちょっと見直したww
  • Amazonクラウド、PHP対応PaaS機能を追加。Gitによるデプロイも可能に

    クラウド上でPHP 5.3の環境が用意され、負荷に応じてインフラがスケーラブルに対応してくれる。Amazonクラウドが提供するPaaS機能である「Elastic Beanstalk」に、このようなPHP対応機能が追加されました。 Amazon Web Services Blog: AWS Elastic Beanstalk - Build PHP Apps Using Git-Based Deployment Elastic Beanstalk自体は無料で利用できます。必要な費用は、使用したAmazon EC2などのインフラ利用料のみ。 Elastic BeanstalkのPHP対応を紹介したブログから、説明を引用します。 Under the hood, Elastic Beanstalk leverages AWS services such Amazon EC2, Elastic Lo

    Amazonクラウド、PHP対応PaaS機能を追加。Gitによるデプロイも可能に
    kitaj
    kitaj 2012/03/24
    gitデプロイかっこいい
  • 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関数のバグはこうして生まれた
    kitaj
    kitaj 2011/08/25
    分かりやすい解説
  • 【レビュー】ある意味CMSの理想型かも。『Concrete5』を試す! (1) 物足りなさを解消したCMS「Concrete5」 | ネット | マイコミジャーナル

    いま評判の"編集しやすい"CMS『Concrete5』とは? あなたは「Concrete5」を知っていますか? CMS(コンテンツ マネジメント システム)というと、大きく分けて3つくらいに分類される。ひとつは昔からのCMSで、PHPNuke/ Xoops/ Mambo/ Ploneなどが存在する。もうひとつはブログエンジンで、WordPress/ Movable Type/ Nucleusなどだ。そして最後にWikiエンジンだ。Yukiwiki/ Pukiwiki/ DokuWiki/ MediaWikiなどが挙げられる。Wikiを除くCMSに共通するのは公開画面とコンテンツ管理画面が分かれているということだ。ユーザの権限によって管理者とサイト利用者の画面が分かれ、管理者は管理画面にログイン後、サイトのコンテンツ編集・デザイン変更・モジュール追加などを行なう。Wikiの場合は共同編集が基

    kitaj
    kitaj 2008/12/03
    随分前にConcrete試した時はイマイチだった気がするが,かなり良くなっているみたい.ちょっと触ってみたい.
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • Ruby・Python・JavaScript・PHPについてどう思いますか?:Tim Brayに聞いてみた - builder by ZDNet Japan

    サステナビリティの今と未来 企業戦略としてのサスティナビリティ推進 世界の通信インフラを支えるコルトの取組み 膨大なアクセスを支える屋台骨 高い安定性とパフォーマンスを両立 ZOZOTOWNが選んだストレージ基盤を解説 MSセキュリティ担当者が紹介 マルチクラウド環境の保護を追求する Microsoft Defender for Cloud 勝つためのクラウド活用術 New Value on Azure ビジネスを次のステージへ! ID管理の基礎知識 新しい働き方におけるITガバナンスの 向上にむけて 高い従業員満足度と安心・安全 新時代にむけた理想の業務環境こそ Anywhere Workspaceが目指す未来 新OSのWin11はどう進化したか ビジネス上の役割、開発の要因と Win11が目指した5つのポイントを紹介 現場主導のデジタル変革 ビジネス変革のための“ITの民主化” そして

    Ruby・Python・JavaScript・PHPについてどう思いますか?:Tim Brayに聞いてみた - builder by ZDNet Japan
    kitaj
    kitaj 2008/05/09
    「欧米人が「とても良い質問」と返してくると、だいたい答えにならない答えが返ってくる。」www
  • hnwの日記 - PHPの奇妙なround関数

    (2012/11/01追記) 4年ほど前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記」でお伝えした通り、PHP 5.3.0から別の実装が採用されており、ページで指摘しているような挙動のPHPは既に絶滅危惧種です。念のため。 さて、プログラミングの話題もたまには書いてみます。今回はPHPのround関数の挙動が変だ!という話題です。 round()は浮動小数点数を四捨五入する関数で、大抵の言語に同じ名前で実装されているかと思います。ではPHPのround関数の何が問題なのか、ちょっと試してみましょう。 $ uname -sro Linux 2.6.9-42.0.10.plus.c4smp GNU/Linux $ php --version PHP 5.1.6 (cli) (built: Feb 23 2007 06:56:38)

    hnwの日記 - PHPの奇妙なround関数
    kitaj
    kitaj 2007/06/02
    ありえないを越えている
  • PHPの開発を8倍早くする方法 : akiyan.com

    PHPの開発を8倍早くする方法 2007-05-30 大真面目に。 var_dumpの代わりに以下の関数d(dumpのd)を使います。 function d() { foreach (func_get_args() as $v) var_dump($v); } var_dump(8文字)がd(1文字)になるので8倍というわけです。単純すぎる方法ですが、タイプ量はかなり重要ですよ。実際に試してみるとわかりますが、体感できるほど快適になります。(エディタの補完機能でいいじゃんという話もありますが、それはそれで...) ちょっとリッチなバージョンも置いておきます。 // 白背景・黒文字・等幅フォントフォントサイズ固定・ボーダー囲み function d() { echo '<pre style="background:#fff;color:#333;border:1px solid #ccc;

    kitaj
    kitaj 2007/05/31
    ププ。タイトル煽り杉。中身がショボすぎてビビった。
  • 1