2011年3月8日火曜日

[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章>

タイトルのとおり



iphone(ipod touch)のセッション引継ぎがなかなかうまくいかん

ブラウザから認証情報を非同期でpost⇒認証おk⇒セッションに値格納⇒ブラウザにレスポンス返す⇒レスポンスおkならリダイレクト

ってな流れで処理しているのだけど、なぜかiphone版に作った画面では引き継がれない



関係ないかもしれないけど、この問題がクリアになったら是非試したい情報があったのでメモ



認証情報保持時にクッキーの変わりにローカルストレージを使う

http://suin.asia/2009/09/13/iphone_local_strage_for_email_password_remainder



週末までには解決したいなぁ



2011年2月18日金曜日

[サーバー構築] fedora13⇒14後にphpがエラーを出す現象&対策

fedoraを13⇒14にアップデート後、こんなエラーが出るようになった

※ちなみにPHPはソースからのコンパイルでインストール




php: error while loading shared libraries: libgdbm.so.2: cannot open shared object file: No such file or directory

原因はよくわからないが、gdbmの一部パッケージがアップデートと同時に紛失してしまった様子




# yum install compat-gdbm

を実行して解決!

2010年11月17日水曜日

[MySQL] merge table

調べる機会があったのでメモ



merge table




読んで字の如く、テーブルを結合します。

肥大化したログテーブルとか、変更・削除はしないけど、残しておかないといけない売上情報を格納しているテーブルとかに使えます

使い方




マージ元(現在レコード数が多数で拡張したいテーブル)をtbl

マージ先(新たに追加するテーブル)をtbl_b

とします



・まず、tblをtbl_aというテーブルにリネームします。


rename table tbl to tbl_a;

・次にtbl_aと同じ構造のテーブルtbl_bを作成します


create table tbl_b (show create table tbl_a)
※エラーが出る場合あshow create分までを実行して確認⇒実行で

・元のテーブルtblを作成。ここで注意すべきはpkeyは定義しない

CREATE TABLE tbl (.....) TYPE=MERGE UNION=(tbl_a, tbl_b) INSERT_METHOD=LAST;



これでtblに対してinsertを行うとtbl_bにデータが格納されます。

見かけ上はtblに入るのでtblにSELECTを実行することでtbl_a,tbl_b両方のデータが参照できます。



tblをdrop⇒tbl_c追加⇒再度tblをcreate

で後から追加も可能です。



[自分へのtodo]

マージ元のテーブルを圧縮できたり、圧縮すると容量が何分の1かになるとか

後は圧縮すると読み出ししかできないとか・・


データの種類によるんだろうけど、レコードの物理削除・論理削除ってのはいつも悩みますねorz

運用の方針で決まるんでしょうが、開発側としては物理削除は避けたい傾向があるような気がします

2010年11月13日土曜日

[サーバー構築] iptables -F の罠

やっちまいました。。。。orz



元の設定が良く分からん鯖で

iptables -F





.....INPUTポリシー全拒否だって



やるときはatとかsleepで現状回帰出来るようにしないとダメですね



皆様もお気をつけください





2010年10月3日日曜日

[ipod touch] 4th generation ゲットしました

以前から示唆していたように、ipod touchの4世代をゲットしました。

購入したのは行きつけの某ジョー○ンで9/18に購入。

他所での予約の場合はもう少し遅れたりしているので、良かったのかな



色んなサイトやブログでレビューされているのであえてしませんが



retinaディスプレイは綺麗で良いですね

もう3世代以前には戻れません^^;

ですが、カメラはオマケ程度な品質です・・・(コストを考えたらわからないでもないですが、せめて100万画素はほしかった)



というかtouchのCMって最近トンと見ませんね・・・

あんまり宣伝しなくても売れるってことなのかな?(笑)



後今購入しても保護ケースは全然選べません

多分ジョブスの販売戦略なんでしょうが、信頼ある周辺機器メーカーにしかスペックを教えていなかったんでしょうね。



2010年9月29日水曜日

[サーバー構築]BINDの導入

今までなじみの無かった(存在と何をしてるかは知っている程度)BINDの導入をする機会があったので、そのメモ。



・ドメインの所有者情報?の中にそのドメインがどのネームサーバーに定義(?)されているのか、見ることが出来る。

・それを元にドメイン⇔IPの紐付けを行うのがBIND

・Linux上ではnamedというデーモンとして動作する。

・内向き(LAN内)と外向き(WAN)の設定が施せる。

・LAN内のみのネームサーバーも構築できる。(社内PCをドメインで管理する等)

・ドメイン提供企業はあくまでドメイン⇔IPの定義を行うだけ。グローバルな紐付けは少なくとも2台のネームサーバーが必要である。(だいたいドメイン提供企業の管理画面からGUIで設定できたりする。それでもネットワークのそれなりの知識がなければ難しいかも)



[サーバー構築]HDDの容量を占めているファイルを探す

rootにて

# du -sh /* | sort -n



0       /proc
0       /sys
2.7G    /usr
4.0K    /cgroup
4.0K    /media
4.0K    /srv
6.8M    /bin
8.0K    /mnt
8.0K    /selinux
15M     /sbin
16K     /lost+found
39M     /etc
51M     /boot
71M     /opt
92K     /tmp
233M    /lib
240M    /home
283M    /var
560K    /dev
909M    /root


上記の様に表示されるので、容量が大きいフォルダにcdして再度コマンドを実行