apxsが入ってなかったので、 # apt-cache search apxs apache-dev - development kit for the Apache webserver apache2-prefork-dev - development headers for apache2 apache2-threaded-dev - development headers for apache2 apacheのバージョンは2.2.3 # /usr/sbin/apache2 -v Server version: Apache/2.2.3 Server built: Jan 27 2008 18:13:21 apxsをインストール # apt-get install apache2-prefork-dev /usr/bin/apxs2にインストールされました makefile を作ります
ひょんなことで pixiv といろいろ縁があったので発表に至りました。 PHP を JS に変換する「Phjosh (仮)」についてです。 誰にも聞かれなかったのであえて書くと、Phjoshの開発者の脳内発音は「fjosh」みたいな感じです。 Phjosh(仮)プロジェクトView more presentations from Moriyoshi Koizumi. GitHubでソースは公開しています。 まだできないことの方が多いので、暇を見て作り込んでいきます。 http://github.com/moriyoshi/phjosh 12/22 追記: PHP/Parser/Base.php がないと言われますが、これは kmyacc-forked をインストールして、 http://github.com/moriyoshi/kmyacc-forked phjosh のディレクトリで m
『プログラミング言語人気TOP10の簡易解説』という記事が人気を呼んでいたのだが、軽快な語り口で面白い読み物だが、語弊がありそうな部分がある。その中で特に、「(Javaは)実行速度はCに及ばないもののスクリプト言語よりは数十倍速い」とある部分が気になったので、簡単な例で検証してみた。 1. Python、PHP、Java、Cで不適切な速度比較を行う 最初にコーディングが不適切な場合にプログラミング言語の速度比較を行うと、通説と異なる結果になる事を示したい。 Ubuntu Linuxで、オブジェクトをなるべく使わずに、順列の整数を100万個生成し、ランダムにシャッフルし、クイックソートを行ったときの経過時間を、timeコマンドで計測したものだ。ソート前、ソート後に配列の内容を、", "で連結して標準出力に書き出している。また、PythonはAPIをなるべく使ったもの(*無し)と、なるべく使わ
<?PHP if ($_GET['val'] != "c" ) { // セッションスタート session_start(); // セッションの値+受け取った値 $ans = $_SESSION['ans'] + $_GET['val']; // セッションにセット $_SESSION['ans'] = $ans; } else { // セッション終了 $_SESSION = array(); session_destroy(); } ?> <HTML> <HEAD><TITLE>セッションテスト</TITLE></HEAD> <BODY> <FORM METHOD="GET" ACTION="session.php"> <INPUT TYPE="text" NAME="val" value="<?PHP echo $ans ?>" /> <INPUT TYPE="submit" va
データベースへの接続もクラスにしてみたいと思います。 うまく作れば、DBが変わっても他のソースに与える影響を少なくすることも できそうです。しかし、DB用のクラスはいまだにどんな構造にするか悩みますね。 自前で作らなくてもPEARのDBクラスやdbx、PEAR::DB_DataObjectなどもあります。 とりあえず経験値を上げるということで自作してみます。 まず、接続部分をコンストラクタで切断をデストラクタで行うようにします。 <?php class B3DB { private $link_id; private $pconnect; function __construct($server,$user,$password,$database,$presistency = true){ $this->pconnect = $presistency; if($presistency){
CrystalはPHP製のオープンソース・ソフトウェア。Webシステム開発における絶対的な地位を築いたと言えるPHP。他にも多数のプログラミング言語がWebシステムに対応しているが、手軽さと実績においてPHPに勝るものはないだろう。 データの取得 Webシステムと言えばデータベースを利用したものが多い。そしてその時に使うSQLは開発に用いるプログラミング言語とは大きく構文がかけ離れるため、使い勝手が悪かったり、安直に書いてSQLインジェクションにつながったりする。それを防ぐためにも使ってみたいのがCrystalだ。 Crystalはデータベースを利用したWebシステムを開発するためのツールキットだ。コンセプトは「シンプル」「軽量」そして「容易に学習できる」となっている。実際の書き方として「$posts = $db->select('date, title')->from('posts')-
SitePoint: New Articles, Fresh Thinking for Web Developers and Designers PHPを使ってWebサイトやWebアプリケーションを構築する場合はデータベースも併用することが多い。そしてその場合に採用されることが多いデータベースのひとつにMySQLがある。PHPはすぐに利用できるようになるプログラミング言語といわれているが、MySQLやSQLはそうではない。堅牢で信頼できるデータベースを設計し、それを扱うSQLクエリを作成するにはそれなりの学習時間と経験が必要だ。 こうした話題がSitePointにおいてTop 10 MySQL Mistakes Made By PHP Developersとして掲載されている。PHPデベロッパが犯しがちな10のMySQLミステイクという内容になっている。どういった間違いをしてしまうか簡単に
What you get Expert curated premium domain name Professionally crafted logo design Guaranteed transfer or your money back Constant Shift: A dynamic name that strives in moments of adversity. Possible uses: A sporting goods store. An automotive brand. A travel agency. A software developer. A marketing firm.
先だってのPHP高速化に関するポストの導入で、が物議をかもしている件を紹介しました。 先日、最初に疑問を投げかけたZendの技術者であるStanislav Malyshev氏が、自身のblog”PHP 10.0 Blog“上で、前述のGoogleのそれに対するアンチテーゼとして”More on PHP performance“という記事を書いています。つい小手先のシンタックスなどを期待してしまいがちな高速化Tipsですが、「初心者向けにまず」としながら、極めて本質的なパフォーマンスチューニング方法をまとめています。 とても良い記事だと思ったので、タイトルに沿ってまとめてみます。(翻訳ではないので注意して下さい) Bytecode cache バイトコードキャッシュを用いずしてパフォーマンスを語る無かれ(超意訳) If you care about performance and don’t
他の言語同様、PHPにも多くの高速化Tipsがあります。汎用で効果的なもの、守銭奴的で本質的に意義の乏しいものなど様々ですが、中には「全く無意味なこと」や「過去のバージョンの話」、「状況次第では逆効果になる」ようなものも散見されます。 先日は、にわかに高速化づいているGoogleも、をオープンさせました。その中には、も含まれています。ところが、これも「オカルト」に毒されたされ、公開から僅か1週間で何度も書き直されるような事態になっています。 ここでは巷間に溢れるPHP高速化Tipsの幾つか怪しいものを検証してみます。 ※なお、検証に使ったPHPのバージョンは5.2.9です。 大きな配列はポインタで渡す? PHPには厳密な意味でのポインタは無く、zvalのリファレンスということになりますが。 関数内で元の変数を参照するだけの場合でも、変数のコピーが行われないように参照渡しにする開発者を見かけ
PHP 5.3はそんなに変わらないだろうとタカをくくっていたら、地雷を踏んだのでメモ。まぁ個人ブログなので問題なし。 Assigning the return value of new by reference is deprecated WordPressの場合以下のファイルを書き換える wp-settings.php <?php // Change to E_ALL for development/debugging error_reporting(E_ALL&~(E_NOTICE|E_DEPRECATED)); 詳細はこちらを参照 参照渡しは必要ないね確かに 以下のphp.iniの設定が必須になったので記載、設定しないと、日付関数系でエラーが出まくり、php.ini変更後はapacheの再起動を忘れずに!! php.iniに追加 date.timezone = Asia/Tokyo
Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成できるというimlib2のphpのextensionであるphp-imlibを入れてみる。インストール方法についてはこちらを参考にした。peclに登録されていないので、自前でsvnレポジトリを落としてきて入れる必要がある。※peclにはimglib2という別のextensionが登録されているようだ。こちらについては情報がないので、また別途インストールを試みてみることにする。 ライブラリのインストール yum -y install imlib2 imlib2-devel yum -y install t1lib t1lib-devel yum -y install libtool-ltdl libtool-ltdl-devel yum -y install freetype-devel パッケージがなければ予めr
Lithiumはphp5.3の機能をバリバリ使った新しいフレームワークです。 これまでぼくは、5.3の機能?何それ? という感じだったので、勉強にもなるかなと思い色々触ってみました。 ということで、まず、チュートリアルをやったまとめです。 1.lithium実行環境の用意 事前に用意する環境 ・php5.3 ・mysql5 OSはMacOS Xで試しました。 lithium自体は、gitで簡単に設置できます。 ↓からlithiumの公式サイトにユーザ登録して、git cloneで入手します。 http://rad-dev.org/users/add 今回はDocumentRootが/sitesであると仮定して、/sites/lithiumに設置します。 # cd /sites # git clone code@rad-dev.org:lithium.git (/sites/l
PHP5を試してみる - エラーレベル「E_STRICT」 サンプルは、EXPERIENCEで実際に確認できるようにしてますので、気になる方は見てみてください。 PHP4におけるクラス継承でメソッドをオーバーロードする場合、最後に定義した1つしか有効になりませんでした。このため、デザインパターンなどを使った場合など、メソッドシグネチャを厳密に継承させたい場合に制作者側がメソッドシグネチャを意識せざるを得ない状態でした。 しかし、PHP5からはエラーレベルにE_STRICTが加わり、チェックできるようになったようです。 使い方としては至って簡単で、php.iniのerror_reportingにE_STRICTレベルでもエラーを出力させるよう設定するだけです。当然、設定を反映させるために、Apacheの再起動は必要です。 ●php.ini : ;error_reporting = E_A
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く