PHPでjojo言語とか動かせるようにしたよ!!!
昨日brainf*ckで遊んでたせいかいろいろぐぐってたらこんな記事見つけました。 http://matome.naver.jp/odai/2133472419282441301 だいたいの言語がrubyで実装されてたんで、なんか悔しいなぁーと思ってPHPで実装しました。 んでもって、どんな言語でもすぐに対応できる感じ…
318 件の記事
昨日brainf*ckで遊んでたせいかいろいろぐぐってたらこんな記事見つけました。 http://matome.naver.jp/odai/2133472419282441301 だいたいの言語がrubyで実装されてたんで、なんか悔しいなぁーと思ってPHPで実装しました。 んでもって、どんな言語でもすぐに対応できる感じ…
コードレビューしててPHPの変数の中に${"hoge".$i}みたいな変数みたいなのがあって、なにこれ!?って思ってしまった訳ですが、普通にPHPマニュアル見たところ可変変数の指定だと・・・ しかもマニュアルの上の方に記載されてたし。。。 うーん、知っているつもりでもまだまだ知らない事も沢山あるんですな。 <?php …
11/17に開催された静岡JavaScript勉強会 #2でElephantJSのLTをしてきました。 参加じたいは今回で2回目です。去年に引き続き、今年も良い刺激を頂けました。 この勉強会って他には無いなんか素敵な雰囲気があって、ほんと参加するたびによい刺激を受けます! 主催してくれた、@tomofさんにはほんと感謝…
cakephpでコントローラからモデルを呼び出す場合って、$this->usesに使用するモデル名を配列で定義しなきゃいけないですよね。 結構めんどくさいというか、、、なんというか、、、めっちゃめんどくさいですよね。 じゃあ$this->Hoge->find("all");とかした際にモデルのオブジェクトが生成されてな…
ElephantJs作りました。 Javascriptのクラスだとおもった? 残念、PHPのクラスでしたー(・∇・ ) ElephantJsはPHPからJavascriptを実行するためのクラスです。 動かすためにはV8jsが必要です。 ソースーコードはgithubに載っけてあります。 https://github.c…
先月ノリでatndに登録したイベント「ゆるかわPHPの会 #1」を、弊社エクスクウェイドにて開催しました。 まあ僕が主催者だけあってそりゃもうぐだぐだした感じのイベントになってしまったわけです... ただ、弊社エンジニアの協力や、参加していただいた方々の協力もあって初めてにしては良いイベントになったのかと思います。 P…
PHPで開発してるとNoticeとかWarningとかのエラーが結構でることってありますよね。 僕もよくあります。 でもでも、やっぱイケてるCTOとして、部下にNoticeだとかWarningだとかのエラー出すのはかっこわるい訳ですよ。 こんな感じに... こんな画面じゃお嫁に行けないわ..ってぐらい恥ずかしいですね。…
phpを初めて使ってからもう6年経つ僕ですが、リダイレクト処理で勘違していたみたいです。 リダイレクトのヘッダを生成した瞬間僕は、phpの処理がとまると勘違いしておりました。 こんな感じに <?php // ...処理いろいろ if ( $isRedirect ) { header('Location: index.p…
以前はMacPorts使ってた僕ですが、最近はもっぱらbrew派です。 そんな僕ですが、やっぱりSWFEditorは使いたくなる訳です。 ところが今の僕のMacBookProにはSWFEditorには入っていません。 ということでインストールしようと思ったら、libpngが周りでトラブルが・・・・ wget "http…
仕事で本来接続されるはずのないデータベースにcakePHPで作られたアプリからデータベースに接続来るなんともキモい現象が発生していました。 よく、アプリの接続先を本番環境と開発環境で切り分けたいとか、このサーバからはこのDBにしか接続したくないってときは、よくモデルのコンストラクタに以下のコードを書いて対応していること…
本来TRUNCATEはトランザクションをサポートしてないのでcommitされないってのはおかしいですね。。。 すいません、無知なもので。。。 んでまあ前回の「mysqliでTRUNCATE TABLE文を発行したら、commitされなかったでござるの巻き」の続きなんですが、結局pythonでためしたところ同じ結果でした…
PHPでのお話です。 マスター/スレーブまでカバーしたDBライブラリを使用しているときに、なぜかSELECTしたあとTRUNCATE文を発行したら、なぜか永遠に処理が終わらないという現象に遭遇しました。 SELECTはスレーブに接続して、INSERT,UPDATE,DELETEはマスターに接続するという単純なライブラリ…
なんかforeachなら絶対に無限ループなんかないと僕は思っていたわkです。 forじゃないんだから、無限ループになるわけなんかないでしょ。 って思っていた自分は死ねばいいと思います。マジで。 まあ無限ループというかメモリオーバーで落ちるだけなんですが、うっかり「memroy_limit = 12288M」とかしちゃう…
このブログをabで速度はかってみたら以下のような絶望的な結果が出ました(´・ω・`) Requests per second: 10.64 [#/sec] (mean) Time per request: 9399.835 [ms] (mean) Time per request: 93.998 [ms] (mean,…
phpの配列の中身を確認するときってvar_dump使って出力すると便利ですよね。 あとはdebug_print_backtraceなんかで中身を確認するとかも便利ですよね。 開発時にはよく使ったりしますが、htmlのレイアウト崩れたして不便だったり見にくかったりする場合も多々あるかと思います。 なんか良い解決策がない…
開発環境には今や必須と言われているXdebug。 エラー時にstack traceみれるし、var_dumpも見やすくなりますね。 それになにより、リモートデバッガー使えるし、本当に便利かと思います。 まあ僕は4年ぐらい前まで理解できていなかったですがw 2ヶ月ほどの前から弊社では、エンジニア一人一人のPCでVM立ち上…
前回の「Redisでランキングを作ろうとしたんだ」で悩んでた部分が解決できました。 かばだんなさん様からのコメントをいただき、対応できました。 本当に感謝しています!! んでもって、結局こんな感じのコードになれば同一を含んだランキングが取得できるかと思います。 <?php $server = "localhost"; …
ことの発端はゴールデンウィークだしまったり大好きなインターネットをしていたら、「JavaScriptで、もう連想配列の最後のカンマに悩まない!」をみていてたときに右下のメニューに「猿でもわかるクロージャ超入門 まとめ」という記事を発見してしまい見てしまったことが原因ですw 最近はPHP5.3での開発がほとんどなので、よ…
phpenv,php-buildはなかなか便利でとっても素敵なツールだと思います。 最近は仮想で用意したCentOSにphpenvとphp-buildつかってphpのバージョン切り替えようと思ったんですが、コンパイル最中になぜかエラーで停止してしまう現象が発生していました。 通常ならphp-buildのエラーログが/t…
なんかちょっとはまったのでメモしておきます。 PHPって配列がフリーダムな感じでとってもいい感じの言語だったりするわけです。 んで、良くやるのがユーザーIDとか一意なキーを配列のindexにしてあげるってやつね。 便利ですよね。例えばこんな感じの配列 <?php $a = array( 1 => array( 'nam…
なんかうまくINDEXが使用されない箇所があって、たまにFORCE INDEXが使いたくなる事ってあると思います。 cakePHPだと、FORCE INDEXを書く方法が無いように見えますが、意外と簡単にFORCE INDEXを書く事ができます。 基本的にテーブル名の後ろに文字列入れられればいいので、実はjoinsに記…
cakePHPで画像のリンク切れ起こしてた場合に、なぜか知らないけど、index.phpにリクエストがという現象が起きていました。 これがtopページとかで起きてた場合はもう最悪、、、、 何回もindex.phpが呼ばれるという怪奇現象が発生しておりました。 うーんおっかしぃなぁーとか思いつつ.htaccessの設定と…
久しぶりにarray_unshiftではまっていました。 というか、仕様をわすれてどうしようもない感じでした^^ えっと、やりたかったこととしては配列のキーをDBのテーブルのIDにしてvalueに項目を入れる配列を作ってました。 <?php $areas = array( 4 => '静岡', 3 => '清水', 8…
cakePHPでカラムにシリアライズした値を入れたいときってたまにあると思います。 ただ、modelごととかメソッド毎にserialize/unserializeの処理をいれるのは結構めんどくさいと思います。 そんな時には以下のようにapp_modelに記述してあげれば、どのモデルからも簡単にシリアライズ処理が出来ると…
Zend_QueueでRedisを使いたくなったので、Zend_Queue_Adapter_Phpredis作りました。 まあほぼmemcacheqのアダプターと構成は同じですがcountとかもちゃんとサポートできている感じです。 まあちゃんとテストも書いてないのでバグがあるかもしれませんが、良かったら使ってみてくださ…