Code Archive Skip to content Google About Google Privacy Terms
こんにちは。技術部のnagata(@handlename)です。 毎年夏風邪引いてるんですが、今年も例年に違わずばっちり熱出してます。 もはや習慣なので気にせず記事を書いていきますよ! PHP5.2とPHP5.3 現在、開発環境としてMacを使っています。 開発に使用するPHP環境はMacに最初から入っているものではなくて、 macportsから入れたものを使っています。 その方が後からモジュールを足すのが簡単だからです。 さて、その場合インストールされるPHPのバージョンは5.3となります(2010/08/22現在)。 が、過去の案件にはPHP5.2で書かれたものが数多くあります。 新しい案件でもサーバーで利用できるPHPのバージョンが5.2であることも珍しくありません。 PHP5.2から5.3では結構大きな変更があり、PHP5.2のプロジェクトはPHP5.3では うまく動かないことがあ
via. はてなブログ 誰か書くんじゃないかと思いつつ、まあ、お決まりのパターンとしてPHP版も書いてみよう。 PHPのこと見てると、書き方とか取り巻く環境ってあんま変わってないなーとか思いつつ、そして何がモダンなんだっけ?新しければいいのか?って話だけど。 一般的な OSX 環境および Linux 環境における、モダンな PHP 開発環境の構築方法についてまとめてみた。最新のPHPとxdebugがあれば十分。 PHP 5.3.2 のインストール ソースから入れてた時期もあるけどやっぱパッケージが楽だな。。オフィシャルじゃないリポジトリを使えばパッケージで入れられる。 pearとpeclは、パッケージ入れるときに一緒に入れちゃう。 pear や pecl そのものは、PHPよりも頻繁にバージョンアップされるし、パッケージになってたりなってなかったりの管理が面倒だから基本的にpear/pec
1990年代初頭から記者としてまた起業家としてITスタートアップ業界のハードウェアからソフトウェアの事業創出に関わる。シリコンバレーやEU等でのスタートアップを経験。日本ではネットエイジ等に所属、大手企業の新規事業創出に協力。ブログやSNS、LINEなどの誕生から普及成長までを最前線で見てきた生き字引として注目される。通信キャリアのニュースポータルの創業デスクとして数億PV事業に。世界最大IT系メディア(スペイン)の元日本編集長、World Innovation Lab(WiL)などを経て、現在、スタートアップ支援側の取り組みに注力中。 via metamix.com 外出先でのプレゼンとなると、ファイルを転送しなければならなかったり、プレゼン会場のマシンのフォントが違って崩れたり、アプリがインストールされてなかったり面倒なことが山程ある。 結局、自分のノートパソコンを持ってきたのはいいけ
ごあいさつエントリだけというのもなんなので、引き続きfujimotoです。実質上1つめのような気がするこのエントリでは、PHPが3倍くらい(少なくとも2倍くらいは...)速くなるGree Fast Processorというのを先月作ってみたのでご紹介です。 すぐわかるまとめ Gree Fast Processorというのを使ってみると、シンプルなsymfonyのプロジェクト(xav.ccで試しました)でも2倍弱、結構複雑なアプリケーションだと7倍くらい速くなったりします。いくつかの制約がありますが、パフォーマンスに飢えているかたはお試しください。 こちらはなんかすごい速くなっている感じのグラフ(一番上が速くなった版のRequests per Second、赤が通常版のRequests per Second): これはさすがにbest caseすぎる気がしますが、普通にやっても2倍弱くらいは
C++ の const には、2つの意味があります。 定数という意味での const と、 メソッドを呼んでもオブジェクトの状態が変異しませんよというconstです。 前者は、こんな感じの書き換え不可に使います。 const int a = 10; printf("%d\r\n" , a ) ; //読み込みはOK printf好き //書き込みは不可 const なので書き換えられない。 a = 20; 後者のメソッドを読んでもオブジェクトの状態が変異しませんよなconstはこんな風にメソッドの後ろにつけます。 class myClass { private: int a; public: // ↓これ void abc() const { //この中では、オブジェクトメンバ変数への代入が禁止になります. printf("%d\r\n" , this->a ) ; //読み込みはOK /
nginx+memcachedがめちゃ気になったので試してみました。 元ネタは下記です。 A 53,900% speedup: Nginx, Drupal, and Memcache bring concurrency up and page load time way down | TechnoSophos nginxをリバースプロキシに利用した構成で、バックエンドの出力をmemcachedにキャッシュしておけば、次回リクエストではnginxがそのキャッシュを読み取ってそのまま出力してくれます。 つまりバックエンドにリクエストを経由させずにnginxから即出力するのでかなりの高速化が見込めるという優れものです。 リンク先ではバックエンドにDrupalを利用していたのですが、ここではCakePHPを利用してみます。 1. 全体構成 リバースプロキシにnginx(Port: 80)を使い、バ
こんにちは、Sn0wNightです。今回は役に立つかはどうかは不明なアプリを PHPで組んでみました。画像を一時的ファイルとしてサーバにアップロードして、 その送信した画像をAA(アスキーアート)のような■で すべて表すというようなサーバサイドアプリケーションです。 まずは、コードを提示します。ごめんなさい。CSS実装してません。 各自実装お願いします>< 【HTML】クライアントサイド(index.html) 1 2 3 4 5 6 <h1>PHP画像解析@GD</h1> <form enctype="multipart/form-data" action="process.php" method="POST"> アップロードする画像を選択: <input name = "uploadImage" type = "file"> <input type = "submit" va
Google Translation PHP wrapper : CodeDiesel Google翻訳をPHPから使って翻訳できるクラスライブラリが公開されています。 Google AJAX Language API を使ったもので、JSONデータを返してくれるAPIを使って簡単に翻訳出来ます。 例えば、実際に翻訳をする場合は次のようにクラスを new して translate メソッドに翻訳したい文書と from, to の言語コードを入れればOK。 <?php require_once('googleTranslate.class.php'); $gt = new GoogleTranslateWrapper(); $test = "Bonjour de cette partie du monde"; echo $gt->translate($test, "en", "fr"); ペ
この記事以降 Twitter API の仕様が変わっており、このままでは正しく機能しない場合があると思います。近いうちに今のやり方を書くので、それまで参考程度にご覧ください。 Twitter API の OAuth でひととおりやってみた。 忘れないようにメモ。 大雑把な流れ Twitter にアプリケーションを登録する。 Consumer Key と Consumer secret を取得する。 リクエストトークンを取得する。 認証用 URL を取得する。 ユーザーから承認を受ける(bot の場合は自分でやる)。 アクセストークンを取得する。 API にアクセスする。 以下、やった作業の手順です。 事前準備 HTTP_OAuth を使えるようにする OAuth の通信部分そのものは PEAR の HTTP_OAuth を使うことにしたので これをインストールする。 一番めんどくさい部分を
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
Tweeting from PHP - Fabien Potencier PHPからTwitterに簡単に投稿できる15行の関数が公開されています。 以下のような、tweet 関数で実現可能みたい。 function tweet($message, $username, $password) { $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => sprintf("Authorization: Basic %s\r\n", base64_encode($username.':'.$password)). "Content-type: application/x-www-form-urlencoded\r\n", 'content' => http_build_que
突然ですが、PHPのオブジェクト指向と連想配列の違いってなんでしょうかね?最近PHP5のオブジェクト指向について触れる機会があったのですが、そもそも型が動的なPHPではポリモフィズムの恩恵も微妙だし、連想配列が強力なので構造体としてもあえて使う理由が見当たらないし… と、ここまで考えて、パフォーマンスに違いがあるのではないか? と思い当たりました。つまり、クラスを「静的な型」として定義し、その型からインスタンスを生成する以上、変数名などの「共通な部分」はクラスの情報として持っておけばよいわけで、1つのクラスからたくさんのインスタンスを生成するときに、メモリ使用量の点で優れているのではないか、と。結論からいうと、オブジェクト指向は、連想配列よりもメモリ使用量が少なく、計算時間も短いことが分かりました。以下、検証コードとその結果です。memory_get_usage()を使ってメモリー使用量を
インフラ・タグ仕様の両面からPHPの存在意義が問われているように思えます。 安価なインフラとの親和性、テンプレート志向、その双璧が意味をなさなくなってきそうです。 クラウドとPHP (特に日本では)PHPはレンタルサーバーで最も利用しやすいプログラミング言語です。また、LAMPによる開発ノウハウが充実していますので、カジュアルな開発者がもっとも手にしやすい言語と言えそうです。 レンタルサーバーでのリソースがクラウドに移行しようとしている現在でも、たとえばGoogle App Engine上でPHPは実行可能で、Amazon S3,EC2へアクセスする機能を提供しているPHPフレームワークもあります。とはいえ、クラウド上での実装を考えると、関数型言語の方が向いているのは明らか。その意味では、Pythonのように関数型に近い言語の方が向いています。 レンタルサーバー上でPHPを使うにしてもそれ
遅ればせながら、依然書いてたAndreiのVimスライドの訳記事の一覧エントリを。 今でもちょくちょくブックマークされているのですが、個別エントリしかなくてブクマしづらいので。 元記事 http://www.gravitonic.com/blog/archives/000357.html ここからAndreiの実際使っているVimの設定ファイルやプラグインのアーカイブもダウンロードできます。 記事一覧 カーソル位置・カーソル移動・マーク・挿入 削除・検索 置換・テキストオブジェクト コピー/削除/貼り付け、レジスタ undo ビジュアルモード、ウィンドウ、タブ 補完・マップ・オプション セッション、misc、ヘルプ PHP向けカスタマイズ(1) ペアマッチ・ブロックオブジェクト・ハイライト・折りたたみ(folding) PHP向けカスタマイズ(2) タグ・補完・netrw PHP向けカスタ
Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。訳は微妙です。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな カーソル位置・カーソル移動・マーク・挿入 削除・検索 置換・テキストオブジェクト コピー/削除/貼り付け、レジスタ undo ビジュアルモード、ウィンドウ、タブ 補完・マップ・オプション セッション、misc、ヘルプ そのまえに ここからは、Andreiの実際使っているvimの設定についての説明が含まれます。ファイルは元記事からダウンロードすることができます。 カスタマイズ vimをカスタマイズするには、~/.vimディレクトリにファイルを配置 filety
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く