タグ

programmingとphpに関するczblueのブックマーク (29)

  • 新言語Hackで最強PHPerになろう! - Qiita

    新言語 Hack とは こんにちは、新言語 Hack が Facebook より OSS としてリリースされましたね。 詳細は以下の通り。 https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/ 新言語 Hack は HHVM 向けの開発言語で静的型付き言語の性質を取り入れ PHP での素早い開発を実施し、PHPとの互換性があります http://hacklang.org/ http://hhvm.com/ HHVM (HipHop Virtual Machine for PHP) とは、Facebook が OSS で開発している PHP 用の JIT コンパイラです。 HHVM は PHP のコードをダイナミックにバイナリコードへと変換することで高速実行の実現を目

    新言語Hackで最強PHPerになろう! - Qiita
  • 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の日記
  • いつまでPHPerはMVCを間違い続けるのか…? - どうにもならない日々@mkkn

    愚痴です。 やはりお前らのMVCは間違っている http://www.slideshare.net/MugeSo/mvc-14469802 これ45k Viewあって、はブも600あって、Sep 26, 2012の投稿だからもおう1年以上前の話。つーかそれの波及記事もいろいろあってもう既に十分語り尽くされている、はずなのに… なぜか、未だにfat controller もうね。コード見るのが辛いんよ。つーか感覚的に分かりそうなもんじゃん。処理のエントリポイントがこんなになってていいのかなぁ?って。 改修案件でさ、コードどっから参照するよ?コントローラでしょ?んでさーコード調べるぞ!!ってなった時、そのコード見て、、、ため息出るでしょ。ひと目でわからんでしょ。 コントローラなんて,どのモデル読んでてどのview使ってるか、それだけで十分じゃん。パラメータの処理はルーティングでやればいいじゃん

    いつまでPHPerはMVCを間違い続けるのか…? - どうにもならない日々@mkkn
  • neue cc - C#の強み、或いは何故PHPから乗り換えるのか

    特にPHPディスりたいわけでは、あるのかないのかはともかく、やっぱり実際に使ってきて良いところというのも分からなくもない感じです。会場でも話したのは、短期的な開発速度には有利なのは間違いないのかな、と。デプロイとかも、とりあえずポン置きでいいし、開発も、なんかもう複雑なことやると面倒だし、どうせ文字列だらけになるしで、開き直ってハードコーディングでバカバカ作っていくから速い、とか。ただし勿論あとで苦労するわけですがそれはそれとして。けれどやっぱC#良いよね、って。 言語も色々なトレードオフで成り立つわけですが、その中でもC#は、バランス良くて好きだなーというのが私の個人的なところです。Visual Studio良いよねー、でもいいですしLINQ良いよねー、もいいですし、IntelliSenseがないと生きていけないですし。うん、そう、IntelliSense指向言語が好きなわけです。 ほと

  • DCI in PHPについて考えてみる

    DCI(Data, Context and Interactions)というキーワードがRuby界で流行っているとか。 DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism DCIアーキテクチャについて語ってみるよ - uehaj's blog まだよく消化できていないのですが(そもそもMVCだって理解できた気がしない)、PHPではどう実装すればいいかを考えてみました。 DCI概略 斜め読みしたところ、MVCのModelが肥大化しがちなところなので、じゃあModelをData、Context、Interactionに3層分割して実装すればすっきりしますよ、という概念だと読めました。実装によってはContextではなくUseCase、InteractionではなくRoleと書いていることもあるみたい。

    DCI in PHPについて考えてみる
  • それでもPHPにfinallyが必要な理由

    PHP Conference 2012で知ったのですが、PHP5.5にはfinallyが搭載される見込みだそうです。 搭載されるのはいいのですが、昔、「PHPにfinallyはないけどデストラクタがあるよ」と題してfinally不要説を書いたことがあるので、もう少し考察を行ってみたいと思います。自分で自分に反論を書いてるのもアレなんですけど。 ※RFCは追いかけてなかったので、記事は想像で書いています。ツッコミください。 finally不要説 私が主張した内容を要約するとこんな感じです。 finallyの主な用途はファイルのクローズやDBの接続断などの「後始末処理」である。 後始末はデストラクタで行うこともできる。 PHPではデストラクタの動作が保障されている。(参照カウントによるGC) ゆえにデストラクタを正しく使えばfinallyは不要。 具体例を出すと、finallyのRFCでは例

    それでもPHPにfinallyが必要な理由
  • 新標準PSRに学ぶきれいなPHP

    今風のPHPコードを書くのに役立つ規約、PSRを見てみよう. 動画などはこちら http://blog.candycane.jp/archives/1614

    新標準PSRに学ぶきれいなPHP
  • レガシーPHP改善日記 シーズン1 エピソード2 - komagataのブログ

    hrysd心を折られるチンカスプログラマーことhrysdがバイトで来てくれることになったので一緒に大門に出社。 初出社前に既にバグを一個潰してコミットしているという荒業を見せたhrysdだが、3000行を超えるcontrollerに早くも心を折られる。 俺「actionのメソッドが5行を超えたら危険印、なんていうrailsのぬるま湯に使ってたんだよ!これがサバンナだ。」 Github Organization契約出社後早速、社長にGithub Organization Bronzeプランを契約してもらう。技術的なことはわからないというが、リスクを背負って立てなおそうという気持ちが伝わって来ました。 9月30日の直近の締め切りに間に合わないのでsvn + redmineからの移行は10月にお預けだ。 svnがよくわかってないまずはsvnでもトップにぶち撒けられてるというのは辛いのでtrunk

  • PHP で Reactor パターンを使った非同期 MySQL 問い合わせ | Born Too Late

    最近は非同期処理に興味があります。 Reactor パターンというのは、非同期処理の実装パターンのひとつで、例えば HTTP 問い合わせなんかで「読み込みが完了するのを監視しつつその他のタスクを進め、読み込みが完了したタイミングでその結果を処理する」みたいなヤツです。 例えば Node.js では Reactor パターンを使ったプログラミングが比較的簡単に行えます。 PHP でも同じことをやりたい、というときには React というフレームワークがあって、少し前に話題になりました。 PHPでもリアルタイムWeb。node.phpReact」 現状 React ではファイル I/O やソケット通信を非同期に行えるようになっております。 が、MySQL で非同期処理を行う方法は今の所提供されていません。 PHP でも mysqli_poll を使えば非同期に MySQL にクエリを投げられ

    PHP で Reactor パターンを使った非同期 MySQL 問い合わせ | Born Too Late
  • 効率的なWebアプリケーションの作り方 // Speaker Deck

    Speaker Bio Working on Crocos Inc. / PHP / Symfony / OOP View Speaker Details

  • おいちゃん好みのPHPのための20Tips - がるの健忘録

    インスパイアもと群。 より良いPHPerになるための20Tips http://1-byte.jp/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer/ もっとより良いPHPerになるためのTips http://suin.asia/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer より良いPHPerにならないための20Tips http://anond.hatelabo.jp/20110320223445 以下、純粋に私見です(いつものことじゃん)。 立ち位置としては…「いわゆる手続き型はある程度の種類やってる、でも最近は割合とPHP比率が多くて嘆いているプログラマ」ってあたりかしらん? 1. <?phpと?

    おいちゃん好みのPHPのための20Tips - がるの健忘録
  • ちょっと気になるので突っ込んでみる - がるの健忘録

    元ネタ 典型的PHPerの13の悪癖 http://anlyznews.blogspot.com/2011/03/phper13.html これの元ネタの「典型的PHPerの13の悪癖 http://anond.hatelabo.jp/20110329150439 」のほうも見ていたんだけど…ちょっと気になったので、突っ込み。 いつもながら当然ながら、以下、すべて「私見」です。 序文。 …おいちゃんは、はたしてPHPerなのだらうか? 仮説1:Yes 最近扱っている(っつか書いている)言語としては、PHPが一番多い。したがってこの瞬間という時間軸において、PHPerであると考えられる。 仮説2:No PHPerとは「PHP言語のみを扱うプログラマ」のことである(要出典)。C、C++PerlJava、C#、VB、JavaScript、ActionScript、Objective-C、CO

    ちょっと気になるので突っ込んでみる - がるの健忘録
  • PHP Matsuriに行って、日本のエンジニアのリアリティを感じてきた

    if ( $blog == " Webエンジニアのためのライフハック " ) { print " 1-byte.jp "; } ホーム1-byte.jpとは 書いてるヒトは 先日、PHP Matsuriが盛大に開催されました。 1-byte.jpでもPHP Matsuriの紹介記事を1ヶ月ほど前に書きました。 季節外れのお祭り – PHPMatsuri これを書いたときは、不参戦表明をしていたのですが、急遽参加出来ることが決定。 気張って参加してきました! PHP Matsuriで何が起こったか 会場は、総勢約80名ほどのPHPer達の熱気が充満しています。 長い期間を掛け、準備してきたスタッフ達、今日のためにハックネタを用意してきたエンジニア達…。 とにかく、様々な方々が様々なところから、様々な期待を込めて集まっていました。 その中にはCakePHP、Lithium、Symfony

  • PHPで大規模ブラウザゲームを開発してわかったこと

    2010年6月26日に行われたイベント、オープンソースカンファレンス2010 Hokkaido内のセミナーで使われた発表スライド「PHPで大規模ブラウザゲームを開発してわかったこと」

    PHPで大規模ブラウザゲームを開発してわかったこと
  • RedLine Magazine : PHP修行 「setter/getter」を知るの巻

    PHP修行 「setter/getter」を知るの巻 2010.02.17追記 PHPでは「カプセル化」でググる 2010.02.17追記 オブジェクト、getter/setterについての解説 この前書いたMVC勉強のコメントにて添削をして頂いてる最中なのですが、その中でまたもや新たなキーワードが出てきまして・・・。添削して頂いてる最中ですが、分からないコトが出てきたので、先にそっちの勉強して出直してきます。先生、すみません。しばしお待ちを・・・。そんでもって、分からなかったのがこの一文。 setterで値セット、getterで値取り出し。setter,getterを使うことで複数人で開発時に"誰かが勝手なルールで"$nameの値を変更してしまうことを防げる。 ちょっと待って。「setter」「getter」は初耳。教えて!google先生(n'∀')η (n ▼ω▼ ) < sette

  • PHPについて適当に

    RedLine Magazine : PHP デザイナの@red_hippyさんがPHPを勉強しているとのことなので適当に。ちなみに僕はあまりPHPを書けないのでバリバリPHPを書いてる人からみたらおかしいところがあるかもしれないけど、なるべくそういうのないよう頑張ります。 そもそもオブジェクト指向でやる必要はあるのか これは個人的な意見だけど、職のプログラマでもない限り無理にオブジェクト指向でやる必要はないと思ってる。特に学びはじめのデザイナさんならそこまで複雑なものを作らないだろうし。@red_hippyさんがどの程度のものを作ってるかわからないから一概には言えないけど、掲示板やお問い合わせフォームレベルのものだったらオブジェクト指向である必要はない。 プログラマの人が「PHP5ならオブジェクト指向っすよ!」とか言っても信じちゃいけません! 当にオブジェクト指向が必要だと思って言っ

  • ぼくとわたしのCakePHP - 忍び歩く男 - SLYWALKER

    今回リレーブログを書くことになりました。 CakePHPとの思い出を整理しながら綴っていこうと思います。 出会い 初めてCakePHPに触れたのは、CakePHP1.1Stableがリリースされたときです。 それまでは、PEARとSmartyを使っていました。 そして、結構規模の大きいサイトの製作に着手することになりましたが、今までの開発手法では限界を感じました。 そこで、当時話題にのぼっていたフレームワークの使用を模索していたところでした。 思わぬ効果 CakePHPを選んだのは当時PHP4対応だったことが一番大きいですが、「Ruby on Rails」のPHP版的なとこにミーハー心をくすぐられました^^; しかし、このことが自分にとって思わぬ効果をもたらしてくれました。 これまで開発が進むにつれスパゲッティの腕が上達するという有様で… なにがスタンダードな方法なのか?なにがベストなのか

  • Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題

    Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題 全世界で3億人を超える会員を抱え、世界最大のSNSとなったFacebook。同社の巨大なシステムは、3つのデータセンターにある約3万台のサーバと、PHPC++、Memcache、MySQLなどのソフトウェア群によって支えられています(同社のデータセンターの巨大さは、記事「3億のユーザーを抱えるFacebookのデータセンター。移動は自転車、希望は100Gbイーサネット 」を参照)。 同社の技術担当バイスプレジデント Jeff Rothschild氏は、Facebookが実現している大規模なスケーラビリティを、いかにしてこれらのソフトウェアで実現しているのか、10月8日に米カリフォルニア大学サンディエゴ校で行ったセミナー「High Performance at Mas

    Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題
  • Fibonacci数の計算で学ぶ、PHPでの多倍長整数の扱いとベンチマーク方法

    はじめに 今日私たちが利用する計算機は、特定の範囲の整数(32ビットあるいは64ビット整数など)は簡単かつ高速に計算できるようになっています。しかしながら、その範囲に収まらない整数を扱いたいこともあります。そういう場合には、多倍長整数という仕組みを利用するのが一般的です。 稿では、Fibonacci数の計算を例にして、PHPで多倍長整数を扱う方法を紹介し、そのパフォーマンスを調べます。Fibonacci数や多倍長整数には興味のない方も、パフォーマンスの調べ方(ベンチマークや統計処理方法)は、きっと参考になるでしょう。 必要な環境 XAMPP for Windows 1.6.4に含まれるPHP 5.2.4で動作を確認しました。利用したPearのパッケージは次のとおりです。 Benchmark 1.2.6 Math_Fibonacci 0.8 Math_Histogram 0.9.0 bet

    Fibonacci数の計算で学ぶ、PHPでの多倍長整数の扱いとベンチマーク方法
  • PHP で引数をそのまま返す関数を作っておくと便利 - IT戦記

    PHP では以下のように new してすぐメソッドを呼べない <?php new DateTime()->getOffset(); なので、引数をそのまま返す関数を作ってやると <?php function expr($a) { return $a; } expr(new DateTime())->getOffset(); // OK! 便利だなー おまけ 配列アクセス用のも作っておくと便利 <?php function expr($a) { return $a; } function idx($array, $i) { return $array[$i]; } echo idx(idx(expr(new DateTimeZone('Asia/Tokyo'))->getTransitions(), 0), 'abbr') . "\n"; おまけ2 無名関数をそのまま呼ぶときにも使える。 <

    PHP で引数をそのまま返す関数を作っておくと便利 - IT戦記