タグ

phpadvent2012に関するshin1x1のブックマーク (25)

  • http://kwatch.houkagoteatime.net/blog/2012/12/25/php-generator-4/

    shin1x1
    shin1x1 2012/12/25
    ついに最終日、25日目! #phpadvent2012 / なるほど。ジェネレータを使って AOP のようなことができる。foreach をループ回す以外の目的に使うので、読む時は慣れが必要。
  • PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記

    メリークリスマス! PHP Advent Calendarもいよいよ24日目に突入です。 昨日はxhprofについてでしたね。僕もパフォーマンスチューニングの際に使っています。手軽に利用できるのでお勧めです。 さて、このエントリーでは表題の通りMVCについて書かせていただきます。これは、PHPカンファレンス2012&WordCamp Tokyo2012合同LT大会で発表した「やはりお前らのMVCは間違っている」で煽るだけだったこの問題をきちんと解説するものです。 この発表資料を公開するとPHPの枠を超えて広く閲覧いただき*1、また多くの方から突っ込みを戴きました。「LTだから」と言って逃げていた回答をして、気持ち新たに新年を迎えようと思います。 MVCとはなんなのか 間違いを指摘する前にMVCがそもそもどういうアーキテクチャであるのかを確認しなければいけません。 MVCは1970年代にパロ

    PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記
    shin1x1
    shin1x1 2012/12/25
    24日目! #phpadvent2012 / CakePHP でもビジネスロジックはモデルに書いて FatController は避けるべき http://www.1x1.jp/blog/2008/04/cakephp_model_6misinformation.html
  • PHPなCMSの新たな動き - 名にしおはば

    (※)この記事はPHP Advent Calendar 2012に参加しています。でも1日遅れちゃいましたよ。。 CMSってホント多いですよね。CMSMatrixみたらハンパない数あるし。 巷ではグローバル・スタンダードなCMSはWordPressらしいですが、それもPHPだし。 そもそもPHPの初期バージョンはWebCMS的な目的があったってことを考えると、WordPressってそのベクトルの結果なのかなと思ったりもする。 でもWordPressは知られているので、その他の動向をちょっと紹介しようかなとか。 古いアーキテクチャとおさらばしたいCMS達 TYPO3はヨーロッパ、特にドイツで絶大な人気をもつCMS。個人的にみてもその機能はPHPなCMSの中でもダントツじゃないかなとか思う。でも、古いアーキテクチャが足かせになるのはよくあることで、後方互換性をざっくりとったバージョン5が6年以

    shin1x1
    shin1x1 2012/12/24
    22日目! #phpadvent2012 / 各 CMS が新しいアーキテクチャに移行する際に Symfony2 ベースとなっているのが面白い。Symfony2 を知らなくても CMS を通して、いつのまにか触っているということになりそう。
  • xhprofの読み方 - でつmblr

    最近xhprof使い始めたのですがインストールまではよく紹介されてたのですが、数値の意味まで解説してなかったので簡単にまとめます。 installsudo pecl install xhprof-beta peclでインストールする場合、まだベータ版しかないのでパッケージ名の後ろに"-beta"を付ける必要があります。 動作までは解説されてる記事がよくあるのでそちらを参考に PHPのプロファイラー「XHProf」の使い方 PHPプロファイラー XHProf プロファイル画面 表の項目について FunctionName コールされた関数名Calls コールされた回数Calls% 全体のコール回数に対する割合Incl. Wall Time その関数全体の処理時間IWall% 全体の実行時間に対する割合Excl. Wall Time その関数から呼ばれた関数の実行時間を除外した、関数の純粋な処理

    shin1x1
    shin1x1 2012/12/23
    23 日目! #phpadvent2012
  • ブラインドSQLインジェクションのスクリプトをPHPで書いたよ #phpadvent2012

    この記事はPHP Advent Calendar 2012の20日目です。昨日はTakayuki Miwaさんの「ComposerとHerokuではじめる!PHPクラウド生活」でした。 以前、「『よくわかるPHPの教科書』のSQLインジェクション脆弱性」というタイトルで、同書のSQLインジェクション脆弱性について説明しましたが、SQLインジェクション脆弱性のあるSQL文がDELETE FROMだったので、先のエントリでは、脆弱性の悪用方法としてはデータ(ミニブログの記事)の削除を説明しました。簡単に「全ての記事を削除できる」ので重大な脆弱性ではありますが、個人情報などが漏洩する例ではありませんでした。 このエントリでは、ブラインドSQLインジェクションという技法により、DELETE FROM文の脆弱性から、個人情報を得る手法を説明します。 脆弱性のおさらい ここで、脆弱性のおさらいをしまし

    ブラインドSQLインジェクションのスクリプトをPHPで書いたよ #phpadvent2012
    shin1x1
    shin1x1 2012/12/21
    20 日目!これは分かりやすい。 / "インターネット上のサイトにこの種の攻撃をかけると、不正アクセス禁止法その他の法令違反ですので、試験環境での実験にとどめて下さい。" #phpadvent2012
  • tkyk.name

    tkyk.name このドメインを購入する。 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

    shin1x1
    shin1x1 2012/12/20
    19日目!これは実用的。 #phpadvent2012
  • 似てるけど似てないシリーズ #phpadvent2012

    この記事はPHP Advent Calendar 2012の18日目です。 昨日はkiou oubaさんのフレームワークとは一体何だったのかでした。 私はオレオレFWとまではいきませんがずっと素書きでPHPを書いてきてましたが、今年からフレームワークも使ってみようと思ってFuelPHP、CakePHPとFWの勉強をしていました。 そこで勉強になったことやFWの良いところFWによる違い何かを書こうと意気込んでたんですが業務に追われてしまい、何も準備できずに今日になってしまいました。 Advent Calendarの流れ的にもよかったのかなと思って後悔してます。 来年またチャンスがあれば書けるように頑張ります! 準備してたネタとは違いますが、PHPの初歩的な部分を書いてみました。 7日目にはじかみさんがIntegerの上限を超えてゆけでも書かれてましたが、PHP.netPHPのマニュアル的な

    shin1x1
    shin1x1 2012/12/18
    18日目! #phpadvent2012 / and は使わないから気にしてなかった。これは人のソース読む時に気をつけないと。
  • フレームワークとは一体何だったのか #phpadvent2012 - 納屋を焼く

    この記事はPHP Advent Calendar 2012の17日目です。 昨日はgusagiさんのPHPerのためのスマートフォン対応でした。 そもそもフレームワーク(FW)とは 単なるライブラリ集を越えて、アプリケーションを作る際の枠組みやお作法も一緒に提供するものです。(Symfonyは作者が、FWとしてでなくライブラリとして設計してるけどFWと呼んでくれてもいいよ、みたいな事を言ってた気もしますが PHPのFWは非常に数が多いのですが、採用するのに向いた開発規模毎に分類して国内で人気のあるものをざっと見てみましょう。 なお、必ずしも一致するわけではありませんが、ターゲットとする開発規模が大きくなればなるほど、FWのコードサイズは大きくなり、コールグラフも広大になり、パフォーマンスが低下する傾向があります。ただしシステム全体としてみた場合、適切なキャッシュ戦略が採用されていればFW自

    shin1x1
    shin1x1 2012/12/17
    17日目! 一瞬 Spring という名前の PHP フレームワークがあるのかと思った:D 用途のよるけど、今オレオレFWを作るなら Symfony2 や ZF2 ベースが良さそう。 #phpadvent2012
  • PHPerのためのスマートフォン対応( #phpadvent2012 ) - gusagiの日記

    はじめに この記事は「PHP Advent Calendar 2012」の16日目です。 昨日はSotaro OMURAさんの「はじめて書いたプログラムを覚えていますか? 〜30年越しのリファクタリング〜( #phpadvent2012 Day 15 )」でした。 リファクタリング、重要ですよね(’’) というわけで(?)、タイトルを見てピンと来た方もいるかも知れませんが、#phpadvent2010 で書いた記事のリファクタリングというか、今度はスマートフォン対応について書いてみようと思います。 基PCサイト + α スマートフォンの場合はCSSJavaScriptが普通に使えるので、サーバサイドについてはPCサイトのつもりで開発するのが基となります。 フィーチャーフォン(いわゆるガラケー)の場合は、キャリアごとに文字コード変換を行ったり、ページ容量を調整したり、色々と独自処理が

    shin1x1
    shin1x1 2012/12/17
    16日目! #phpadvent2012
  • はじめて書いたプログラムを覚えていますか? 〜30年越しのリファクタリング〜( #phpadvent2012 Day 15 ) | A Small, Good Thing – blog

    PHP Advent Calendar 2012 の 15 日目です。昨日は美味 芳醇さんの「php5.5で追加された機能を触ってみる」でした。 ↑新宿、思い出横丁某店のつくね。 さて、あなたは、あなたがはじめて書いたプログラムのことを覚えていますか。 僕は覚えています。 僕の場合のそれは、簡単な計算ゲームで、MSX 上で動作する BASIC プログラムでした。1983 年ごろ、僕が小学校 4 年生の時です。 そのプログラムは、 1 桁の数字同士の足し算をランダムに出題し その答えを入力させて 正誤を判定する という、当に単純なもの。 あれから 30 年(!)が過ぎようとしている 2012 年の 12 月。 今日は、 同じプログラムを、まだ何も知らないかったあの頃の、透明かつピュアな気持ちになって PHP で再現し 大人になって汚れちまった今の僕が、FuelPHP を使ってリファクタリン

    shin1x1
    shin1x1 2012/12/16
    15日目! #phpadvent2012 / MSX2 で BASIC を入力して、テレビに日の丸が出てきた時は感動したなー。
  • My Account | .xyz | For every website, everywhere®

    Are you transferring a portfolio of domains? Contact us at for more information about bulk pricing and further assistance.

    shin1x1
    shin1x1 2012/12/15
    14日目! #phpadvent2012
  • プログラミングをしない人にPHPを少しわかりやすくする関数 “not” #phpadvent2012

    プログラミングをしない人にPHPを少しわかりやすくする関数 “not” #phpadvent2012 2012年12月13日 13:04PHP PHP でこの関数を定義して書いておけば、 後からプログラミングになじみのない人が見たときにも 少しだけわかりやすくなるんじゃないか、 というお話です。 「じゃない方」の処理 WordPress に is_home() という関数がありますね。 いま表示しようとしているのがメインページなら true を、 そうでなければ false を返します。 なのでメインページにだけ表示したいものがあるときは こんなふうに書けばいいですね。 if ( is_home() ) { //メインページだけやりたい処理ですこんにちは!'; } 逆に、メインページじゃないときだけ表示したければ まあこんな感じでいいわけですけども if ( ! is_home() ) {

    プログラミングをしない人にPHPを少しわかりやすくする関数 “not” #phpadvent2012
    shin1x1
    shin1x1 2012/12/14
    13日目! / 「!」が否定というのが染み付いているから、この発想は無かった。 #phpadvent2012
  • Pinocoでシンプルに正しく(&ぶっちゃけで)DIを理解する - なんたらノート第三期ベータ

    Pinocoだって実はすごいんだぞ、Pimpleになんて負けないもん、というわけで、 PHPメンターズ -> Pimpleでシンプルに正しくDIを理解する をPinocoで理解してみようというネタをやります。先にこれを見ておいてください。 あ、「Pinocoってなんやねん、あっちょんぶりけかよ」って思った人すみません。Pinocoは拙作のマイクロフレームワークです。いわゆるオレオレの一種ですが、オレオレにしてはかなりよくできたほうだと思います。RESTなAPIを作る他のと比べて、どっちかといえばWebサイトを作るほうが強い感じのヤツ。 https://github.com/tanakahisateru/pinoco で、DIですよ。依存性注入ですよ。楽しんご的なアレじゃないですよ。オブジェクト指向ですよ。 Pinocoの第一印象はみんな「プレーンPHPっぽいね」で、それはそれで狙い通りなん

    Pinocoでシンプルに正しく(&ぶっちゃけで)DIを理解する - なんたらノート第三期ベータ
    shin1x1
    shin1x1 2012/12/12
    12 日目! #phpadvent2012
  • Smarty3のHTMLエスケープ方法いろいろ + 修飾子プラグインと変数フィルタ (PHP Advent Calendar 2012 Day 11) - k-holyのPHPとか諸々メモ

    PHP Advent Calendar 2012 11日目の記事です。 昨日は Shusuke Otomo さんの 初めて Pull Request した話。 #phpadvent2012 | slumbers でした。 皆さん、テンプレートエンジンは何を使ってますか? おおっぴらに使ってますと発言するのもちょっと勇気がいるくらい、スキル高そうなPHPerの皆さんからよくdisられている(ような気がする)Smartyですが、実際のところ現役のユーザーは結構いるんじゃないでしょうか。 (参考記事 PHP ユーザは実際はどんなテンプレートエンジンを使っているのか? (途中経過) - A Day in Serenity @ kenjis) 今回はそんなSmartyを題材に「テンプレート変数のHTMLエスケープ」と、それに関連する機能「修飾子プラグイン (Modifier Plugin)」「変数フ

    Smarty3のHTMLエスケープ方法いろいろ + 修飾子プラグインと変数フィルタ (PHP Advent Calendar 2012 Day 11) - k-holyのPHPとか諸々メモ
    shin1x1
    shin1x1 2012/12/11
    11日目! / "このまま使い続けるにせよ、乗り換えるにせよ、せめて独自プラグインの数々を負債ではなく資産にできるよう、前向きに取り組みたいと思います。" #phpadvent2012
  • 初めて Pull Request した話。 #phpadvent2012

    昨日は 竜一 得上 さんの 「PHPマジカルしばり + Raspberry Pi でPHPを動かしてみた」 でした。 Raspberry Pi はじめて知りました。確かに名刺サイズです。PHP もサクッと入るみたいなんでいいおもちゃにナリそうですね :) マジカル定数 __DIR__ の影の薄さは異常だとおもう今日この頃、__LINE__ も「ラ↓イン↑」か「ラ↑イン↓」の発音の仕方で世代が分かりそうです。そして僕は「マジカル」という響きに昭和な香り感じる世代です。マジカルバナナとか 2011年:Eclipse と Xdebug で PHP をステップ実行 PHP Advent Calendar jp 2011 #phpadvent2011 2010年:今更きけないあの娘の名前 (PHP Advent Calendar jp 2010 Day 9) と書きました。 今年は何を書こうかと思い

    shin1x1
    shin1x1 2012/12/10
    10 日目! / 習慣で設定していたから気にしてなかったけど、これは有難い。 #phpadvent2012
  • PHPマジカルしばり + Raspberry Pi でPHPを動かしてみた - かれ4

    開発者たちは魔法使いに憧れているんでしょうか PHP Advent Calendar 9日目です。 昨日はPHPerのみんなに知ってもらいたい、PHPの重要なことでした。 今日はまじかるしばりなPHPです。 マジックメソッドとマジカル定数で色々と遊んで見ようと思っていたところになんとタイミング悪く、 名刺サイズのLinuxマシン「Raspberry Pi」が届いてしまい、残念なことに急遽それどころでは無くなってしまいました。 どうしても我慢できなくて、Raspberry Piで遊びたくて、 無理やりPHPにこじつけていじれないか検討した結果、 RaspberryPiでPHPを動かしてみるというのをしようと思いました。 が、、、、 pi@raspberrypi ~ $ sudo apt-get install apache2 php5 pi@raspberrypi ~ $ sudo /etc

    PHPマジカルしばり + Raspberry Pi でPHPを動かしてみた - かれ4
    shin1x1
    shin1x1 2012/12/09
    9日目! / https://gist.github.com/4244485 #phpadvent2012
  • PHPerのみんなに知ってもらいたい、PHPの重要なこと

    このエントリーはPHP Advent Calendar 2012の8日目です。 昨日の7日目ははじかみさんの Integerの上限を超えてゆけ でした。 動的型付けの言語はintの限界値とかキャストとか知ってるのと知らないのでは大違いなので大変勉強になりました。 さて私ですが昨日のPostgreSQL Advent Calendar 2012に続いて更新です←ステマ 今日は今年一年で私や私の周囲でPHPにイラッとしたこと ハマったことをまとめておきたいと思います。 もし似たようなことに遭遇した時に「あれ?」って思った時の参考になれば幸いです。 1 5.2以上なのにjson_encodeが動かない よーしおじさん、JSONしちゃうぞー→Fatal error: Call to undefined function json_encode() in .... えっ?PHPのバージョンは5.3.

    shin1x1
    shin1x1 2012/12/09
    8日目! / 1. は遭遇したことないです。 / 2. は XAMPP or EC-CUBE の問題ですね / 3. はたしかに人のソースだとハマリどころ><
  • Prog Blog From 憩い場所 - [PHP] Integerの上限を超えてゆけ #phpadvent2012

    この記事の所要時間: 約 4分14秒 PHP Advent Calendar 2012の7日目です。 今回はPHPの整数について調べてみます。 Integer型 ソフトウェアを作る上で数値を扱うことは多々あります。 シーケンス番号、金額、数量等、枚挙に暇がありません。 小数(浮動小数点数)は誤差が出るため、 金額や数量等の重要な値は10n倍して整数にしてから取り扱うこともあります。 整数の代表的な型は Integer (int) 型です。 PHPでは型を宣言する必要はなく、PHP処理系が型をよしなに判断しています。 $i1 = (int)'123'; // $i1 は整数 123 $i2 = intval('123'); // $i2 も整数 123 Integer型の上限は一般に 231-1 です。1 つまり、Integer型で正しく扱える整数は一般に9桁までであり、10桁以

    shin1x1
    shin1x1 2012/12/07
    7日目! #phpadvent2012
  • PHPで「かっこういい」HTMLタグ生成クラス

    2012年PHPアドベントカレンダー6日目です。 ちょっと前に、HTMLフォーム要素を動的に出力する必要が出てきて、調べても使いやすそうなクラスが見つからなかったので自分で作ったものです。 思った以上に「格好良い」ものができたので、広報してみることにしました。 ソースコード:https://github.com/asaokamei/Tags コンストラクション $tags = new Tags(); 依存性ゼロです。簡単に使えます。 簡単なサンプル 早速、簡単な使い方の例を見てみます。 echo $tags->a( 'link' )->href( 'tags.php' ); // <a href="tags.php">link</a> なにか、いい感じですよね!? タグをネストしてみます。 $ul = $tags->ul( $tags->li( 'list #1' ), $tags->li

    shin1x1
    shin1x1 2012/12/06
    6日目! #phpadvent2012
  • オレオレRSSをPHPで出力して読み込んでみる (PHP AdventCalender2012 5日目) | tagamidaiki.com

    PHP AdventCalender2012 5日目担当のたがみ(@DAI199)です。 4日目担当の@mawatarinさんの記事、とても丁寧で参考になります! あんな丁寧な記事が書けるように日々努力しようと思いました。 @mawatarinさんの記事はこちら Searchプラグインを使ってCakePHPに検索を実装する 僕自身CakePHPをよく使っていて、アプリもCakeで作っているため、検索を実装するときは参考にしたいと思います! さて、今まで書いた方々のレベルが高くて、こんな内容でいいのかと申し訳ない気持ちになりますが、せっかくのお祭りのようなものなので、普段なかなかしないことをしてみようと思います。 今回はオレオレRSS(私が読んだ記事をひたすら更新するRSS)を作成してそれをGoogleReaderなりで読み込んでみたいと思います。 なぜいまさらRSS? なぜいまさら私がRS

    shin1x1
    shin1x1 2012/12/05
    5日目! #phpadvent2012