こちらはピクシブ株式会社 Advent Calendar 2015の2日目の記事です。 こんにちは。Vimエンジニアの kana です。 さて、皆さんもご存知の通り、WebサービスのpixivにはPHPが使用されています:PHPについては様々な噂を聞き及んでいた為、 これまでPHPとは関わらないように注意して過ごしてきましたが、pixiv.netの開発ではPHPを避けて通ることは出来ません。 仕方なくPHPを使うことになる訳ですが、 実際に使ってみると……これが予想していた以上に様々な方向から毎日新鮮な驚きを届けてくれます。 今回は実際に遭遇したPHP初心者が躓くポイントを幾つか紹介しようと思います。switch の中で continue したらswitch の直後に飛ぶ 大量のデータをループでぶん回して処理するのはよくある話です。 その中で特定の種類のデータについては処理をスキッ
![PHP初心者が仕事で躓いた4つの罠 - pixiv inside [archive]](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f9b5697703abc478063724be69f4dce6c427a860b%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fcdn.image.st-hatena.com%252Fimage%252Fscale%252Ff5fb65d61ed5e659327efb4c61b209f2b63301e9%252Fbackend%253Dimagemagick%253Bversion%253D1%253Bwidth%253D1300%252Fhttp%25253A%25252F%25252Fcdn-ak.f.st-hatena.com%25252Fimages%25252Ffotolife%25252Fk%25252Fka-nacht%25252F20151202%25252F20151202201442.png&f=jpg&w=240)
Amazon S3を使う場合、何らかのプログラミング言語向けのライブラリを使う必要がある。Ruby、Python、PHP、Perl、Java…など各種言語向けに揃っているが、ファイルの確認をするのに都度プログラミングを組むのは面倒に感じてしまうだろう。PHPベースのAmazon S3フロントエンド そこで使うのが管理インタフェースだ。Amazonでは提供していないので、別途用意する必要がある。Webベースで使うならs3browserを使おう。 今回紹介するオープンソース・ソフトウェアはs3browser、PHP製のAmazon S3フロントエンドだ。 s3browserはPHP5向けに作られたAmazon S3フロントエンドで、皆で共有して使うのに便利なソフトウェアだ。ウィザード形式で設定を行い、バケットの一覧やその中にあるファイルの一覧などを簡単に見ることができる。 設定ウィザード で
これまで多数のCMSを見てきたが、ここまで完成度が高いと言えるものに出会ったことはなかった…そう言えるくらい凄い。このどきどき感はDekiWikiに触れた時に感じたものに近い。 見たまま編集できるCMS CMSと言えば、ユーザ画面と管理画面に分かれていて、管理画面はモジュールやテーマの設定、各項目の並びを指定するのが通常だ。実際の出力結果はシステム任せで、その点が柔軟性に欠ける点でもあった。 しかしこれは違う。見たまま編集でき、さらに高い柔軟性を維持している。 今回紹介するオープンソース・ソフトウェアはconcrete5、デザイン、管理、コンテンツ作成全てが高度なCMSだ。 相当個人的な感情が入ってしまっているのは、同じようなシステムを構築する予定があったからだ。だがconcrete5は完成度も高く、多少の改造さえ施せば十分な気がする。やはり下手に開発コストをかけるよりもオープンソースで探
みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software ArchitectPHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09

Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。 これらの各ソフトについて簡単に設定を変更できるコントロールパネルっぽいものがタスクトレイから一発で呼び出せるようになっており、非常に設定が簡単です。また、インストーラは日本語化されているので安心です。 実際のインストール方法などは以下から。 VertrigoServ http://vertrigo.sourceforge.net/ ダウンロードしたら実行します 「OK」をクリック 「次へ」をクリック 「同意する」をクリック 「次へ」をクリック さらに「次へ」をクリック 「インストール」をクリック インストール中……

先日のエントリにid:yasui0906さんからコメント頂きました。ありがとうございます:-) オブジェクトをserializeしないでsetすると、スレーブでgetしたら文字列になってしまう問題があることに、つい最近気が付きまして、その修正をしたrepcached-1.2をリリースしたばかりだったりします(^^; http://dsas.blog.klab.org/archives/51198643.html あれ。1.2が出たからやろうと思っていた。。。あれ?あれ?前のエントリは1.0でやっちゃってるorz ということで、今度こそRepcached1.2.0で試してみました。環境やインストール手順、起動方法、試したスクリプトも同じです。念のため、PHPスクリプトだけ再掲。 <?php $ttl = 60; $servers = array(array('ip' => '192.168.
PC、携帯でのIMEの指定方法がまとまっています。 ○全角(デフォルト) istyle = 1 mode = hiragana ○半角カナ istyle = 2 mode = hankakukana ○英字 istyle = 3 mode =alphabet ○数字 istyle = 4 mode = numericPHPのテクメモ | ケータイフォームの文字入力指定PCサイトばかり作っているとなじみがないですが、携帯サイト作成時に必須の基礎知識ですね。 関連エントリ symfonyの携帯絵文字プラグイン 「Google StaticMapsAPI」を使い携帯でGoogleマップを表示 モバイルキャリア判定用のPHPライブラリ「PEAR::Net_UserAgent_Mobile」最新版を入れようPHPで携帯からセッションを使う場合の設定方法PHPで高速に携帯ゲートウェイのI
ついカッとなってやってしまった。後悔はしないことはないだろう。 諸君 私はPHPが好きだ 諸君 私はPHPが大好きだPHP/FI2が好きだPHP3が好きだPHP4が好きだPHP5が好きだPHP6が好きだ PEARが好きだ PECLが好きだ Smartyが好きだPHPマニュアルが好きだPHP-CLIが好きだWindowsで Linuxで UNIXで BSDでMacで りなざうでBlogで Wikiで サーバ上で クライアントPC上で この地上で行われるありとあらゆるPHPプログラミングが大好きだ file_{get|put}_contents()/file()でファイルの読み書きを一瞬で実装するのが好きだ xdebugで武装したベテランの連中がプロファイリングでボトルネックを検出した時など心がおどるPHP4でnewした結果を&つけ忘れたためオブジェクトがコピーされてしま
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く