2018年1月10日に開催された DCI Tokyo 1 に続き、2018年3月27日に DCI Tokyo 2 が開催されました。今回も James Coplien @jcoplien さんをお招きしてのトークセッションとなりました。会場は 株式会社ヴァル研究所 様に提供していただきました。 セッションは、前回同様 @remore さんと @ganchiku さんによる同時通訳とともに進められました。 今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、DCI / リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 でした。 レポートは @smori1983 が担当させていただきます。 当日の様子は Coplien さんの許可を得て YouTube の DCI Tokyo 公式アカウントに
9月15日に開催されたPHPカンファレンス2012でLT発表してきました。以下が発表資料です。 発表資料:「php-timecopを実戦投入してみた」(slideshare版)(PDF版) ただ、利用シーンがイマイチわからないという声を何件か頂戴しましたので、本稿で改めて補足します。僕が想定している利用シーンは次の3つです。 非エンジニアが、時刻に依存する手動テストを行う場合 この場合、ステージング環境で利用することになると思います 例:20時からセールが始まるのを、19時時点で動作確認したい エンジニアが、時刻に依存する手動テスト・自動テストを行う場合 例:絶妙なタイミングで日またぎや年またぎが起こる状況を再現させたい パラノイアなエンジニアが、date関数の第二引数が省略されたコードを見てブチ切れた場合 社内のニーズとしては1番目だったので伝えるには一番わかりやすいかと思ったんですが、
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
前置きがすごい長い記事です。時間無い人は、読まないか後ろから読んでください。 昨日も書いたんですけど、ふることきっ!でpjaxというのを利用しています。 で、その際「PHPでpjaxるにはどうしたらいいかなー」と思いググったら、出なかった。…いや、もしかすると「簡単すぎてまとめるまでもねぇよ!」ってことかも知れないけど、まとめておく。後で学校でも使う予定なので。 pjax? まず、ajaxがあります。知らなかったらググってください。同一ドメインなら非同期に通信してくれるアレです。 そして、「pushState」というものがあります。 HTML5で、「5.4 Session history and navigation」というAPIが追加され、その中に「The History interface - pushState」というものがあるんですが、それです。 この「pushState」は
phpmaster | Server-Side HTML Handling Using phpQuery PHPでのスクレイピングやDOM操作をjQueryっぽく超簡単便利にできる「phpQuery」。 紹介記事を読んで使ってみました。 phpQuery はjQueryのPHP版でDOMの操作をjQueryっぽくできるライブラリです。 HTMLのスクレイピングはもちろん、HTMLを追加したり要素に属性を追加等のDOMを操作も簡単に行えます。 jQueryの便利さがPHP上でも十分に使えますので知っておくと確実に面倒な処理を楽に書けるようになるでしょう。 スクレイピング HTMLのスクレイピングをする場合には超簡単かつ、jQueryを使ったことがある方なら抵抗なくすぐに習得できます。 ちょっとコードを書いて実験してみました。 と書くと <div id="two"></div>の中身である t
node.js側の実装 Node.jsのAPIだけでやってます。 PHPをコマンドラインで呼び出します。 var util = require('util'); var spawn = require('child_process').spawn; var php = spawn('php', ['callme.php']); // $ php callme.php と同じ意味 var data = { 'foo': 'something', 'bar': 'something', }; php.stdin.write(JSON.stringify(data)); // 標準入力としてPHPに渡す php.stdin.end(); // PHPさん、標準入力終わったよ php.stdout.on('data', function (data) { console.log('stdout:
DbNinja | Online MySQL database manager タブUIが便利そうなPHP製MySQL管理ツール「DbNinja」。 ブラウザベースのMySQL管理ツールといえばphpMyAdminが定番ですが、DbNinjaはインタフェースが綺麗かつモダンで、タブUIを使ってテーブルを切り替えて便利に使えそうなのが特徴です。 ユーザの追加なんかにしても結構インタフェースが分かりやすくて良い感じです。 SQLはシンタックスハイライトされたりします。 phpMyAdminもいいのですが、「俺はDbNinja派」とかいうとカッコいいかもしれません。 とにかくかなり作りこまれているので一度ためしてみるとよさげです 関連エントリ phpMyAdminクローラーの恐怖 1ファイルで動作する設置が超簡単なphpMyAdmin「Adminer」
最近は非同期処理に興味があります。 Reactor パターンというのは、非同期処理の実装パターンのひとつで、例えば HTTP 問い合わせなんかで「読み込みが完了するのを監視しつつその他のタスクを進め、読み込みが完了したタイミングでその結果を処理する」みたいなヤツです。 例えば Node.js では Reactor パターンを使ったプログラミングが比較的簡単に行えます。 PHP でも同じことをやりたい、というときには React というフレームワークがあって、少し前に話題になりました。 PHPでもリアルタイムWeb。node.php「React」 現状 React ではファイル I/O やソケット通信を非同期に行えるようになっております。 が、MySQL で非同期処理を行う方法は今の所提供されていません。 PHP でも mysqli_poll を使えば非同期に MySQL にクエリを投げられ
We've been using Twitter's kestrel queue server for a while now at work, but only from our service layer, which is written in python. Now that we have some queueing needs from our application layer, written in PHP, I spent a few days this week adding queue support to our web application. I thought I'd share what I learned, and how I implemented it. Goals The kestrel server itself was pretty stra
もう面倒なユーザ認証機能は1から作らなくてよいかも?PHPのOSS「AuthManager」 2012年08月13日- AuthManager - StitchApps もう面倒なユーザ認証機能は1から作らなくてよいかも?PHPのOSS「AuthManager」。 ユーザ認証型のサイトを1から作るとなると面倒な上に、もう誰かが良い物を作ってるんじゃないかという事を誰もが作り直してる気がします。 こういうもの自体をオープンソースにしちゃって誰もが使えるっていうのは素晴らしいですね。 Facebookによる認証やreCAPTCHAによるスパム防止、メールアドレスの認証機能といった標準で必要な機能が入っており、便利に使えそう。 で、ユーザ登録できるのはいいんだけど、肝心の制限はどうやってかけるの?というところは、次のように簡単にやってね、ということらしくお手軽。 ($sesslife自体がどこか
9. class CalculatorTest extends PHPUnit_Framework_TestCase { public function setUp() { $this->calc = new Calculator; } public function test_add_引数の和を返す() { $result = $this->calc->add(1, 2); $this->assertSame(3, $result); } } 10. class CalculatorTest extends PHPUnit_Framework_TestCase { public function setUp() { 1 $this->calc = new Calculator; } public function test_add_引数の和を返す() { $result = $this-
PHPにはvar_dump()という関数があり、階層構造を持つオブジェクト(オブジェクトグラフ)をテキスト表現にできます。この情報を、グラフィカルで直感的に分かりやすい形式で出力するためのユーティリティがprint_oです。@koriymさんが開発されています。 koriym/print_o An object graph visualizer for PHPprint_oのインストール方法print_oはPHPのライブラリとしては単独で利用可能です。Webブラウザへの描画用に外部のJavaScript/CSSを利用していますが、これらはGoogleやGitHubにホストされたファイルを読み込むようになっています。したがってインターネットに接続された環境であれば、print_o本体のインストール以外に特別な手順は不要です。 たとえばcomposerを利用する場合は、composer.jso
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く