node.js + expressでsessionを使う
最近、また書き始めたnode.js。 前回より早く学習できている気がします。というか前回は自分が今まで作ってたwebプログラムの意識で学習していたので変な固定概念にとらわれていたのかと思います。。。 んで、今日はnode+expressでsessionを扱おうと思っていたんですが、普通にリクエストオブジェクトのsess…
700 件の記事
最近、また書き始めたnode.js。 前回より早く学習できている気がします。というか前回は自分が今まで作ってたwebプログラムの意識で学習していたので変な固定概念にとらわれていたのかと思います。。。 んで、今日はnode+expressでsessionを扱おうと思っていたんですが、普通にリクエストオブジェクトのsess…
開発環境には今や必須と言われているXdebug。 エラー時にstack traceみれるし、var_dumpも見やすくなりますね。 それになにより、リモートデバッガー使えるし、本当に便利かと思います。 まあ僕は4年ぐらい前まで理解できていなかったですがw 2ヶ月ほどの前から弊社では、エンジニア一人一人のPCでVM立ち上…
今日帰り道にjsで加速度とか傾きとかとれるよねって話をしていたので、書いてみました。 iPhoneのsafariとかなら普通にとれちゃうんですね。 つーことでサンプルのせておきます(DEMOはこちら*iPhoneでアクセスしてください) <!DOCTYPE html> <html lang="ja"> <head> <…
前回の「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…
Nagiosを使用している鯖のmysqlをアップデートしたら、check_mysqlが動かなくなりました。 mysqlclient15.soがないからダメみたいでした。 まあyumとか使ってepelとかremiとか使っちゃうとよく起きる現象なのかとも思います。(ソースから入れろって突っ込みはなしでお願いします… もとも…
cactiでmysqlの監視するときにここのテンプレートを利用するのですがこいついれればmemcachedとかredisとかも監視できるみたいです。 ということで設定してみましたが、memcachedの情報がとれない。。。。 おっかしいなーとおもってログ周りをあさっていたら、memcachedのチェックをする時に投げて…
なんかうまくINDEXが使用されない箇所があって、たまにFORCE INDEXが使いたくなる事ってあると思います。 cakePHPだと、FORCE INDEXを書く方法が無いように見えますが、意外と簡単にFORCE INDEXを書く事ができます。 基本的にテーブル名の後ろに文字列入れられればいいので、実はjoinsに記…
1時間ごとにrotatelogs使ってapacheのログファイルを吐き出しているんですが、まあやっぱり多くなるんでファイルgzip圧縮することになったわけです。 まあ僕程のイケメンだと下級PHP戦士な訳で、シェルスクリプトなんて滅手に書かない訳です。 というかdateでのフォーマットをどう記述して良いのかがワッカラナー…
cakePHPで画像のリンク切れ起こしてた場合に、なぜか知らないけど、index.phpにリクエストがという現象が起きていました。 これがtopページとかで起きてた場合はもう最悪、、、、 何回もindex.phpが呼ばれるという怪奇現象が発生しておりました。 うーんおっかしぃなぁーとか思いつつ.htaccessの設定と…
久しぶりにarray_unshiftではまっていました。 というか、仕様をわすれてどうしようもない感じでした^^ えっと、やりたかったこととしては配列のキーをDBのテーブルのIDにしてvalueに項目を入れる配列を作ってました。 <?php $areas = array( 4 => '静岡', 3 => '清水', 8…
僕が今の会社に入ったときはエンジニアは僕一人でした。 チームも糞もなくて、ただひたすら1人でタスクをこなす日々。 僕だってそんなに経験があるわけではなく、毎日が不安な日々をすごしていました。 でも徐々に人が増え、エンジニアもチームとして稼働できるようになりました。 1人の頃は自分1人で無茶をしてなんとかすればなんとかな…
cakePHPでカラムにシリアライズした値を入れたいときってたまにあると思います。 ただ、modelごととかメソッド毎にserialize/unserializeの処理をいれるのは結構めんどくさいと思います。 そんな時には以下のようにapp_modelに記述してあげれば、どのモデルからも簡単にシリアライズ処理が出来ると…
twitter bootstrapは本当に便利だと思います。 いつの間にか2.0になってさらに良い感じになっています。 で、今日の出来事なんですが、パワポのファイルが重すぎていやだなーって出来事がありました。 「パワポがだめならブラウザで表示すればいいじゃない」 ってことでパワポから画像に書き出してそれをブラウザに表示…
Zend_QueueでRedisを使いたくなったので、Zend_Queue_Adapter_Phpredis作りました。 まあほぼmemcacheqのアダプターと構成は同じですがcountとかもちゃんとサポートできている感じです。 まあちゃんとテストも書いてないのでバグがあるかもしれませんが、良かったら使ってみてくださ…
今使っているMacに入っているのがmemcache.soしか入ってなかった。。。memcache.soはあるんですが。 まあPECLでさっくり入れてしまえばいいと思っていたので普通にいれてみたんですね。 sudo pecl install memcache したらlibmemcachedがないと怒られました。。。 li…
今更ながらgoogle mpas apiのお話です。 @motokixとaタグのリンクをクリックしたらinfoWindowを表示するにはどうやるかって話になったんで書いてみました。 jsonで緯度、経度、url、タイトルを持たせてそれをinfoWindowで表示するって感じです。 ちなみにmapのサイズはブラウザのwi…
なんかmongooseでsortしたいなーって時にどうしていいかわからないので調べてみました。 [email protected]でのお話です。 find().sort()とかって書いてある記事もいくつか見ましたが、どうもうまくいかない。 こんな感じでエラーが帰ってきました。 Word.find().sort([['crea…
最近Redisの凄さに感動を受けました。 memcachedと違ってセットとかリストとか使えるのとかもうヨダレがとまりません(^p^) リストがつかえるってことはcakeでページネートできちゃったら素敵すぎるってことで実装してみようと思った訳です。 基本的にModelにpaginateとpaginateCountを実装…
PHPで引数にコールバック関数を渡すメソッドや関数って沢山あると思います。 それらと同じような事を自分でつくるとしたらどうするのかなぁーとか考えてました。 どうやらPHPにはis_callableという関数があるらしくcall_user_funcと一緒に組み合わせて使えば簡単に作成することができます。 <?php fu…
Linuxのユーザー作成時に間違ったグループつけちゃうときとかたまにあると思います。 実際にあったうっかりミスなんですが、対応方法についてメモしておきます。 ・グループ確認 グループの確認 : ``` groups ユーザー名 ユーザー名 プラマリグループ 他所属グループ 出力される内容は一番右がユーザー名で2番目がプ…
PHP5.3からはクロージャが使えるようになったんですが、なかなか使う機会がなかったです。 というかクロージャの使いどころが未だに出来てない阿呆な僕だったりするわけです(´・ω・`) んでもまあそれでもやっぱ使い時もあるのでarray_walk_recursive関数でcallbackとしてクロージャでみたいなおしゃれ…
良く忘れるのでメモ $ express -s -t ejs -c sass project_name