タグ

phpに関するnitoyonのブックマーク (52)

  • PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記

    PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい

    PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記
    nitoyon
    nitoyon 2014/08/10
    PHP の == がさらにカオスになっていたという話。バカにされたバグを修正するために、さらに馬鹿馬鹿しい仕様が追加された模様…。
  • 無償のWebサイト構築ツール「WebMatrix 2」、新版はiPhone/iPadエミュレータ、Node.js、CoffeeScriptなど対応

    無償のWebサイト構築ツール「WebMatrix 2」、新版はiPhone/iPadエミュレータ、Node.js、CoffeeScriptなど対応 先週末に行われたWindows Azureの新機能を紹介するイベント「Go Azure」の基調講演の中で、Azure以外に興味を引かれたソフトウェアがありました。マイクロソフトが無償で公開しているWebサイト構築ツール「WebMatrix」の新版、「WebMatrix 2」です。 WebMatrixは、HTML/CSS/JavaScript/PHP/ASP.NETなどに対応したエディタ機能を備え、コード補完機能も搭載。ローカルにデータベースやWebサーバを用意してPHPの動作をそのまま確認したり、WordPressやDrupalなどのWebアプリケーションをローカルで試すこともできました。 下記はその画面(参考:マイクロソフト、無償のWeb開発

    無償のWebサイト構築ツール「WebMatrix 2」、新版はiPhone/iPadエミュレータ、Node.js、CoffeeScriptなど対応
    nitoyon
    nitoyon 2012/07/04
    IIS・SQL Server同梱、PHP・MySQL追加インストール、ギャラリーからWordPress・Drupalなど導入可、CoffeeScript・Less・SASS・SCSSコンパイル、iPhone/iPadエミュレータ、Node.js対応。
  • ブラウザ上でC#やPHP5を動かせて遊んで学べる「CodeRun」:phpspot開発日誌

    ブラウザ上でC#やPHP5を動かせて遊んで学べる「CodeRun」が凄いです。 最初アプリケーションかなと思ったのですが、全てブラウザ上で動作するので、学習用やちょっとした動作確認に使えます。 ブラウザ上でコーディング 次のように、IDEアプリケーションのようなUIで、C#やPHP5.1を、ブラウザの上で動かすことが出来ます。 プロジェクト作成 New → Project を選ぶと、C#やJavaScriptPHPの色々なプロジェクトが作れることがわかります。 PHPのHellow World のソースが入ったコードがエディタに表示されました。このソースをいじって直接動かせます。 コードを動作テスト 次のようなコードを書いて「Run」ボタンを押してみます。 以下、出力例です。ちゃんと動きました。 c2d6c077f524683db2f00c0e975766810 1 2 3 4 5 6

    nitoyon
    nitoyon 2009/12/09
    ブラウザで動く Visual Studio 風の IDE、CodeRun を紹介。http://www.coderun.com/ide/
  • PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming

    閉じタグってのは「?>」のことね。未だに閉じタグ使ってるコードを見ると一瞬ドキッとするんだよね。(自分の昔のコードも含むw) いや、ちゃんとわかってて確実に使いこなしてるならいいんだけどたまに -- ここがファイルの先頭 -- <?php class Foo { // いろいろ } ?> -- ここがファイルの後尾 -- みたいな感じで閉じタグの後に改行コードが一つ入ってたりするのを見ると「あわわわ」ってなっちゃう。 実際には改行一つだけなら問題は出ない、PHPは閉じタグの直後の改行を消してくれるからね。 問題は改行が二つ以上あった場合だ。これは悲惨なことになる。PHPは閉じタグ以降のデータ(というか範囲外のデータ)は全部HTMLとして出力される仕様なので、改行コードが表示されちゃう事態に。 表示されちゃうっていうのは語弊があるか、元々PHPHTMLに埋め込むための言語なのでの範囲外の文

    PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming
    nitoyon
    nitoyon 2009/08/15
    スクリプトのみのPHPでは閉じタグ(?>)をつけてはいけない。Zend Framework でのコーディング規約でもそうなっている(http://zendframework.com/manual/ja/coding-standard.php-file-formatting.html#coding-standard.php-file-formatting.general
  • 岐阜&山形セフレと出会い系の掲示板でママ活しよう

    岐阜( ´▽ `)ノ さまざまなものがなくなっています。 | Ω・ `) この日記は… 岐阜はつま​​らない日記です 岐阜でセフレ 鈍い顔だから( ‘-ω-`) そして、岐阜があります&#8230…

    nitoyon
    nitoyon 2009/05/07
    HTMLやPHP、JSなどの複数言語が混じったファイルにも対応した Windows 向けエディタ。ノーリツ子会社の製品。2,500円~10,000円。
  • Build seven good object-oriented habits in PHP

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Build seven good object-oriented habits in PHP
    nitoyon
    nitoyon 2008/11/29
    オブジェクト指向のよさをPHPで説く。表現が面白い。
  • パネルディスカッション「激論!PHPの次に学ぶ言語はこれだ」

    PHP Conference 2008 Japanマイリスト: mylist/7638087

    パネルディスカッション「激論!PHPの次に学ぶ言語はこれだ」
    nitoyon
    nitoyon 2008/07/22
    PHPカンファレンス2008の豪華なパネルディスカッションの動画。
  • PHP カンファレンス 2008 に行ってきた - Memo

    凄く楽しかった! 当は懇親会も出たかったが、新幹線の時間もあったので断念。 多分明日以降もっと詳しいレポートが出ると思うので、軽くレポートだけ。 # かいたメモをそのまま貼付けようかと思ったけど、長くなるしまとまってないので・・・。 基調講演 (廣川 類さん) PHP のシェアとかの話 PHP4 が 2008/8/8 に 終了 PHP5.3 に搭載されるであろう機能の紹介 PHP5.3 は PHP 6 とのつなぎで出す予定だったけど、バックポートされる機能もある Unicode mbstring 系の扱いをどうするのか。 Pecl に移行? Zend Engine1 互換モードは 5.3 で廃止 ガベージコレクタ改良 循環コレクタ、パフォーマンスの向上 (メモリ使用量が 1/2 〜 1/22 になる) 5.3 からデフォルトで設定される mysqlnd (MySQL Native Dri

    PHP カンファレンス 2008 に行ってきた - Memo
    nitoyon
    nitoyon 2008/07/22
    豪華なパネルディスカッションのレポートあり。
  • preg_replaceによるコード実行 - T.Teradaの日記

    最近少し調べていたのが、PHPの任意コード実行系の脆弱性です。中でも、preg_replace関数(Perl互換の正規表現による置換を行なうための関数)を不適切な方法で使った場合に発生する脆弱性について調べていました。 せっかくなので、日記にまとめてみます。 3種類の脆弱性 preg_replace関数を使ったPHPコード実行系の脆弱性には、大きく分けて3つの種類があります。 第一引数への挿入を許す e修飾子付き・第二引数への挿入を許す e修飾子付き・第三引数への挿入を許す 以下でそれぞれについて見ていきます。 タイプ1:第一引数への挿入 以下のコードに、任意のPHPコードが実行可能な脆弱性があります。 $m = preg_replace("/([^<]*)$kw([^>]*)/i", "\\1<font color=red>$kw</font>\\2", $m); $kwと$mは外部から

    preg_replaceによるコード実行 - T.Teradaの日記
    nitoyon
    nitoyon 2008/06/10
    preg_replaceに潜む脆弱性。第一引数と第二引数に外部入力を用いると、/e[NULL] で eval を許してしまう。
  • PHP/脆弱性リスト/メモ - yohgaki's wiki

    なんだかやけに長い説明ばかり検索に引っかかったので書きました。 Linuxのローカル環境でDockerコンテナ内のXアプリ(GUIアプリ)を利用するには $ xhost localhost + を実行した後に $ docker run --rm --net host -e "DISPLAY" container_image_name x_app_binary_path とすれば良いです。 もっと読む SSHなどよく知られたサービスポートで何も対策せずにいると数えきらないくらいの攻撃リクエストが来ます。不必要なログを増やしてリソースを無駄にし、もし不用意なユーザーやシステムがあると攻撃に成功する場合もあります。 SshguardはC作られており、flex/bisonのパーサールールを足せば拡張できますがカスタム版をメンテナンスするのも面倒です。必要なルールを足してプルリクエストを送ってもマー

    PHP/脆弱性リスト/メモ - yohgaki's wiki
    nitoyon
    nitoyon 2008/06/08
    バイナリセーフ、エンコード、エスケープなどの注意点。
  • PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー

    PHPはソースコードを読めばわかるとおりC言語で書いてあります。 そのC言語の中でPHPがどんな処理をしているのかをデバッガであるgdbを用いて見ることができるのでそれを紹介します。まぁ普通のgdbの使い方なんですが:p ソースをダウンロードしてコンパイル PHP-5.2.6のソースをダウンロードします。 まず./configureするとのMakefileができます。 このMakefileの中で-gオプションがついていることを確認しましょう。*1 これがデバッガ(gdb)用のオプションで、コンパイルされたバイナリファイルにソースコードとの対応付けができます。 次にmakeします。時間がかかります。 サンプルファイル makeしている間に次のようなPHPファイルを作成しましょう。 <?php $i = "12"; $k = intval($i); ?> これは文字列の"12"をintval関

    PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー
    nitoyon
    nitoyon 2008/06/08
    PHPを自分でビルドして、関数にブレークポイントを仕込む。
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
    nitoyon
    nitoyon 2008/05/26
    最適化の基本。○倍速いにだまされるな。
  • TwitterにいるPHPのすごい人リスト

    PHP Community on Twitter ZEND DEVELOPER ZONEでPHPコミュニティのTwitterアカウントが紹介されています。 リストに並んでいるのはPHP家の人や海外の人ばかりだったので、日のすごいPHPerのTwitterアカウントを並べてみました。(()内はざっくりです;-)) TwitterをはじめたPHPerは要チェック! @LIND(baseball_flash、懇親会の人) @akiyan(はてぶTV、CakePHPの人) @bto(phshの人) @cocoitiban(Ethnaの人) @elf(よくきたなの人) @halt(Ethna、vimの人) @hiro_y(moonyの人) @hnw(round()の人) @ichii386(Ethnaの人) @iogi(PHP Extension勉強会の人) @iteman(Piece Fram

    nitoyon
    nitoyon 2008/05/04
    日本のPHP界隈。/ 個人的には「shin1x1 (twitter検索の人)」というのを追加してほしい!
  • スクリプト言語ソースツアー!

    スクリプト言語ソースツアー! ハッカーの皆様、スクリプト言語ソースツアーへようこそ すべて自由行動となっておりますので、ご自由にお歩きください。 移動可能な場所にはリンクを張ってありますので、それをたどっていれば 危険な場所に入り込むようなことはございません。 各ソースファイルの先頭に[CVS] リンクがある場合は、最新開発バージョンのCVS リポジトリの内容を参照できますので、お試しください。 ツアーは巨大なものですので、一括ダウンロードは御遠慮ください。 弊社のネットワークは一括ダウンロードの負荷には耐えられません。 代わりに、 GLOBAL ソースコードタグシステム を使って、あなたのコンピュータ上で同じものを生成できます。 ではよい旅を。 現行シリーズ Bash-3.2 Bash は、GNU プロジェクトによるsh の再実装です。 オリジナルのsh は、1969年のUNIX V1

    nitoyon
    nitoyon 2008/02/26
    オンラインでPerl・PHP・Rubyなどの各種ソースを閲覧・検索できる。
  • 自分の経験の枠組みは自分で変えられるか? - アンカテ

    例によってメタな方向に話を広げようと思うんだけど、Ruby VS PHP論争の背後には「自分の経験の枠組みは自分で変えられる」という発想の有無という問題があるのではないだろうか。 そう思ったきっかけはこれ。 影響力のある人 - L'eclat des jours(2008-01-31) artonさんは、Matzにっき(2008-01-29)のコメント欄にあった、「影響力の大きい人が発言してるので怒ってます」という一言レスに着目して、興味深い考察をしている。 影響力のある人ってのは、つまり権威ってことなんだし、自分で吟味しない人は常に一定の割合でいて(そうでなければ、世の中に権威という存在はありえないわけだが、実際、存在している)その人たちに影響を与える。 ってことは、権威がある人は、だめなものはだめ(良いものは良い)、と言うべきですね。 私も全くその通りだと思ったけど、冒頭のように考えて

    自分の経験の枠組みは自分で変えられるか? - アンカテ
    nitoyon
    nitoyon 2008/02/02
    言語による空気の違いを分析。ギークとスーツの分岐点。
  • セキュリティ過敏症 - ぼくはまちちゃん!(Hatena)

    初心者はPHPで脆弱なウェブアプリをどんどん量産すべし ↑のブックマーク うん。増田くんはいつもいいこと書くね! ブックマークの方には 危険だとか迷惑だとか踏み台だとか色々かいてあるけれど(というか踏み台ってなんだろ?) そんなに大切な個人情報をたくさん扱ってるサイトなんてどれだけあるかな。 みんなそういうサービスつくってるの? なんかすごいね。 ぼくの使っている範囲だと、(提供側が気をつけていないと) 当にまずいのは銀行と証券とカード会社のような、お金のからむサービスくらいだよ。 もちろん、他にメール内容だとか、購読しているフィードだとか、知られたくない個人情報なんてのは、人によってたくさんあるよね。 だけど、例えばぼくがメールサービス作りましたなんて言ったら誰か使う? それか無名の団体だったらどうかな。それで大切なメールやりとりしちゃうの? そう。そもそも、利用者もそれほどバカじゃな

    セキュリティ過敏症 - ぼくはまちちゃん!(Hatena)
    nitoyon
    nitoyon 2008/01/31
    かっこいいよはまちちゃん。
  • PHPと(Perl|Python|Ruby)の違い - Blog::koyhoge::Tech

    それは、PHPユーザーは他の言語から学んでいるのか、という点。 PHPユーザーが他の言語ユーザーよりも弱いのは、そこなのではないか。 404 Blog Not Found:「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い 弾さんから説得力のあるPHPへの批判記事が初めて出てきたので、それに対して自分なりに考えたことを記録に残しておきたくなりました。 つい先頃まで、PHP開発者のML internals@lists.php.net で起こっていた議論がちょうど良い例題に思えるので、まずそれを紹介しましょう。 id:rskyさんといえば、PHP拡張機能&Zend Engineハッカーとして日PHP界ではつとに知られている方ですが、昨年の11月末にPHPに無名関数を導入するZend Engineに対するパッチを作成されました。 Zend Engineをハックしてみ

    PHPと(Perl|Python|Ruby)の違い - Blog::koyhoge::Tech
    nitoyon
    nitoyon 2008/01/30
    PHP文化圏。言語としての美しさよりも、現状を変えないことを重視。Rasmus Leodorf氏が神として君臨していない。
  • PHP: Download documentation

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

    PHP: Download documentation
    nitoyon
    nitoyon 2008/01/19
    PHPマニュアルのHTMLヘルプを落とせるところ。
  • ひげぽん OSとか作っちゃうかMona- - Emacs + GLOBALでソース読みを快適に

    ネットワークサーバー実装のためにuIPのソースを読もう。 NICドライバの移植のためにFreeBSDのソースを読もう。 ということで以前使っていた etags を使おうと思ったがキーバインド忘れた。 そして etags はなんだかいろいろ不満点があった気がするので GLOBALを使ってみることに。 以前GLOBALは出力をHTMLにして使ったことがあるのだが、最近EmacsにどっぷりなのでEmacsから使ってみることに。 0.GLOBALって何? GNU GLOBAL は、ソースコードに索引付けを行うことで、大規模システムのハックやレビューを効率化するソフトウエアです。 ソースファイル中の指定したシンボルを高速に見つけ出し、素早くその場所に移動することができます。多くのサブディレクトリからなり、#ifdef や main() 関数を沢山含んでいるような、いわゆる巨大なプロジェクトをハックす

    ひげぽん OSとか作っちゃうかMona- - Emacs + GLOBALでソース読みを快適に
    nitoyon
    nitoyon 2007/12/21
    関数定義や関数呼出にジャンプできる。Emacs でのソース読みに必携。
  • 自分自身が起動されたかどうかを確認

    なんでもかんでもテストしやすいようにということで、夏頃 Perl を書いていて思いついた $0 と __FILE__ が一致したら実行という手法、実は案外ポピュラーだったようで、気をつけて見てみると意外と見かける。 でまぁ、「ちくしょう!すごいこと思いついたと思ったのに!」というのはどうでもいいとして、確認の方法で自分はわざわざフルパスに展開してから比較してたんだけど、実はその必要ないのかな?というのが気になって確認してみた。 Ruby$0 も __FILE__ も原則同じように取れるってことでいいのかな?

    nitoyon
    nitoyon 2007/11/25
    スクリプトのパスが自分であるかを調べる。