2016/11/03 PHPカンファレンス 2016
Golangが一番パフォーマンスが良いかと予想していましたが、全く逆の結果になってしまいました。 Golangが遅い理由 遅い原因をいくつか考えて改善できないか試してみました。詳細は省きますが、以下の点については問題なさそうでした。 goroutineはリクエスト単位で起動している コネクションプールは有効になっている BeegoのORM特有の処理は主原因ではない(標準ライブラリのsql関数と大差なし) DB側のCPU使用率は100%になっているが、CPU使用率とメモリ使用量はPHP環境と同程度の負荷になっている ここまで確認して、プロファイラを使った方が良さそうに思えたので、いったんプロファイラで状況を確認するために、標準で提供されていて手軽に使えそうなpprofを使ってみました。topで確認すると次のような結果がでました。 (pprof) top 20 -cum 920ms of 15
PHPカンファレンス関西2015に行ってきました。 今回から場所が変わったり、初の有料化だったりとスタッフの皆さんは色々と大変だったかと思います。本当にありがとうございました。 今回はセッションのトラックが5本で、内容的にも初心者用から濃いものまで充実しており、非常に満足できました。 見られなかったけど気になるセッションが数多くありましたので、ネットで公開されているセッションのスライドをまとめてみました。 とりあえず見つけられたものを掲載させて頂いておりますが、これからアップされるもの等もあるかと思いますので、また見つけ次第更新させて頂きます。 セッションのスライド 基調講演『PHP7で変わること 言語仕様とエンジンの改善ポイント』 PHP7で変わること ——言語仕様とエンジンの改善ポイント from Yoshio Hanawa www.slideshare.net 『ビッグウェーブ到来!
7. エンジニアSさん (c) 2013 Masashi Shinbara @shin1x1 1162 <VirtualHost *:80> 1163 ServerName candycane.local 1164 DocumentRoot "/Users/shin/sandbox/demo/candycane/app/webroot" 1165 </VirtualHost> 1166 1167 <VirtualHost *:80> 1168 ServerName demo.local 1169 DocumentRoot "/Users/shin/sandbox/demo/20130601_phpcon" 1170 php_value vld.active 1 1171 </VirtualHost> 1172 1173 <VirtualHost *:80> 1174 ServerName
全体で数百万行、1ファイル1万行超のPHPファイルも一秒以内で開き、開発していくことのできる大規模開発向けのvim+tmux環境を紹介しようと思います。この設定この環境で半年ぐらい安定して利用できています。(無論そんな1万行あるファイルや数千行で複雑性循環度500超のメソッド作るなよという話もあるんですが、すでに存在する魔獣とは向き合わなければならないのです...) なので数百万行レベルの大規模開発となると重すぎて使えない設定やプラグインもあります。そのようなものはきちんと外してあります(PHPの関数折りたたみ機能、デフォルトのPHPシンタクスハイライト、neocomplcache.vim、ツリーの構成に時間のかかるproject.vimなど)。 基本的にはターミナルエミュレーターとして、macならばiTerm2、windowsならばTeraTermまたはPuttyを利用することを想定して
色々試行錯誤したんだけど、最終的に今回の開発は、以下のような環境で進めることにした。 環境とか VMware Player 2.5.2 Eclipse 3.4 PHPUnit Selenium RC Subversion 1.5系 開発用サーバ 開発用サーバはVMware Player上にCentOS5.3をインストールして、必要なミドルウェアの設定を行ったものを用意した。 VMwareの共有ディレクトリ機能を利用し、/mnt/hgfs/ディレクトリに、チェックアウトしたレポジトリのtrunkを割り当ててある。 レポジトリの構成については、以前Postしたようにtrunk以下に全てのソースコードやドキュメント、ツールが配置されている。 本番と同様のファイル配置にするために、/mnt/hgfs/以下の各ディレクトリに対してシンボリックリンクを張って同じ構成にしている。 この場合ファイルのパー
PHPカンファレンス関西2012で使用したスライドです。完全な内容は下北沢で開催した際のスライドと動画を御覧ください。Read less
初期のPHP5にはいくつものバグがあり、安定度も低かったため、PHP4からの移行がなかなか進みませんでした。 「PHP4とPHP5では全く互換性がない」 「PHP5はバグだらけだ」 「PHP5は動作速度が遅い」 そんな風に思われてしまいました。 自分も最初はPHP5に対してあまり良い印象は受けていませんでしたが、約1年前に安定度・処理速度が改善されたPHP5.1系をインストールしてみて印象はガラッと変わりました。(PHP5.1については、【PHPウォッチ】第22回 PHP 5.1ついにリリース,大幅な高速化を実現し重大なセキュリティ問題も修正:ITpro参照) 今では、もうPHP4には戻りたくないくらいです。 PHPについて、「バージョンが変われば別言語」(404 Blog Not Found:そろそろPHPに関して一言いっとくかより)と言っている人もいましたので、PHP4からPHP5移行
2007/11/13: 3.と4.が同じ内容となっていましたので、4.の内容を変更しました。 ここ最近PHP4.1.2で稼働していたシステムをPHP5.1.6へ移行しています。 移行の際に発生した問題とその対応をメモしておきます。 ちなみに全ての内容がPHP4->PHP5で必要なものではないです。PHP4も4.1/4.2/4.3/4.4の間でちょこちょこ変わっているので、一部の内容はPHP4間の移行でも修正が必要になります。またPHP4.4に適応しているスクリプトをPHP5へ移行するなら修正内容は少なくなります。 1.Notice: Only variable references should be returned by reference 「function &method()」と定義しているメソッドでスカラー値を返すと発生します。 <?php class Hoge { functi
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction
OTA配布が手軽にできるオープンソースのPHPスクリプト書きました。TestFlightが様々なポリシーで使えない方向けに書きました。 ku-suke/SimplePHPAdhocServer · GitHub これはなに? USBケーブルを繋がずに、開発中のアプリを実機に配布できるPHPスクリプトです。自前のサーバに設置してご利用ください。developmentプロファイルでもdistributionプロファイルでもenterpriseプロファイルでも使えます。enterprise以外はあくまでUDID登録済みの実機だけです。 動作確認というか必要条件 PHP 5.2以降 MySQL 5.0以降 USBで実機にアプリをインストールすることが出来る環境(Xcode/Provisioning profile etc) ライセンス 個人で書いたのでMITで自由に使えるよ!同梱ライブラリのライセ
目次導入 -- 機能概要DSN -- データソース名 (Data Source Name)接続 -- データベースへの接続および接続の解除クエリ -- クエリの実行クォートおよびエスケープ -- 値を適切にクォートしてクエリを作成するデータ型 -- データ型の処理の概要結果 -- クエリ結果からのデータの取得準備と実行 -- プリペアドステートメントトランザクション -- トランザクションの処理モジュール -- モジュールの読み込みとコールManager モジュール -- データベースの構造を管理するためのモジュールReverse モジュール -- データベースの構造を管理するためのモジュールautoPrepare & autoExecute -- SQL 文を自動的に準備・実行する可搬性 -- データベースの可搬性に関する機能シーケンス -- シーケンスおよび自動採番FAQ -- よくあ
Create your own framework... on top of the Symfony2 Components (part 1) This article is part of a series of articles that explains how to create a framework with the Symfony Components. It is OBSOLETE but an up-to-date version can be found in the Symfony documentation. Symfony2 is a reusable set of standalone, decoupled, and cohesive PHP components that solve common web development problems. Inste
はじめに 本連載では、PHP上で動作するアプリケーションフレームワークであるsymfonyでアプリケーション開発を行う方法について紹介します。初回である前回は、symfonyの特徴を紹介し、実際にsymfonyをインストールして簡単なアプリケーションを作成するまでを紹介しました。第2回となる今回は、より実践的なアプリケーションの例として「掲示板アプリケーション」の作成を通じて、データベース連携などの基本的な手法について紹介します。 対象読者 PHPの基本構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。 必要な環境 symfonyはPHP5とWebサーバがインストールされている環境で利用可能です。本稿ではWebサーバとしてApache2.2を、OSにWindows XPを採用し、アプリケーションを作成していきます。また、データベースとしてMySQLを
4. TCP/IP送ったら送った順に届く$fp = stream_socket_client('tcp://www.nicovideo.jp:80');fwrite($fp, "GET / HTTP/1.0");fwrite($fp, "Host: www.nicovideo.jp");echo stream_get_contents($fp);fclose($fp); 6. TCP/IPちゃんと届けられる$fp = stream_socket_client('tcp://www.nicovideo.jp:80', $errno, $errstr);if ($fp=== false) { throw new Exception($errstr);}if (fwrite($fp, "GET / HTTP/1.0") === false) { throw new Exception($php_
はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ
自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。 MyHome Portal Ver.1.44を リリースしました。 http://ok2nd.web.fc2.com/download.html Excelシートの取り込みには、PHP Excel読み込みツール「Spreadsheet_Excel_Reader」を使っています。 グラフ生成には、JavaScriptによるグラフ生成ツール「Bluff」および「HTML5」を使っています。 ブラウザで、Excelシートをアップロードすると、「Bluff」または「HTML5」でグラフ表示します。ボタンでグラフ種類やスタイルを変更できます。 <Bluff> http://bluff.jcoglan.com/ http://bizcaz.com/archives/2008/
<? require_once('zip.lib.php'); // 圧縮するファイル $filename1 = '夏期休暇.xls'; $filename2 = '議事録.doc'; // クラス作成 $zipfile = new zipfile(); // ファイルをバイナリで読んで、変数にセット $handle = fopen($filename1, "rb"); $contents = fread($handle, filesize($filename1)); fclose($handle); // 追加 $zipfile -> addFile( $contents, $filename1 ); // ファイルをバイナリで読んで、変数にセット $handle = fopen($filename2, "rb"); $contents = fread($handle, filesize
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く