エンジニア的な技術的なブログ

webエンジニアの開発の知見を書きます。PHP、javascript、postgres、mysql、あと多少のインフラ周りとか。

2013-01-01から1年間の記事一覧

pdoでロールバックが効かない!? あっけないけどハマる原因

PHPでDBを使うときはPDO ちゃんとinTransactionをしているのに、rollBackされない 現象に悩まされた。 テーブルのタイプ確認しました? innoDBはトランザクション使えるけど、 MyISAMは使えないからね!!! しかも!!! 立ち悪い事にMyISAMでは使えないく…

衝撃! みんな知らないPDOの正しい使い方

[フレームワークなしの生でPHP使う人向け] PHPエンジニアなら今やDBヘの接続をPDOを 使っていることでしょう。 まぁ、たぶんフレームワークのクラスとか使ってる人は あんまり意識してないだろうけど。。。 select文を使うときこんな風に使ってないですか? …

悩んでないかい? indexされてない大量データを鬼早くdeleteする方法 [mysql]

鬼早くdeleteとか書いたけど、 deleteなんて使わない!!! そんなトロトロやってらんないっす>< じゃあどうやのか、 1. create table で新しいテーブル作る 2. insert select で古いテーブルから新しいテーブルに必要なデータ移す 3. テーブル名をそれぞ…

サーバ監視に sarを使おう!

もしインストールしてないなら下記でインストールだ!! $ sudo yum install sysstat $ sudo service sysstat start そんで、 sar -r CPU状況 sar -u メモリ状況 sar -b i/o状況 ちなみにこのサイトが詳しく説明してくれてるよ http://www.syboos.jp/linux/d…

dfとduコマンドの結果に違いがあってヘンなとき【サーバの容量確保ワザ】

サーバの管理者にとって頭の痛い問題で、 クラウドサーバは便利なんですけど、容量がちっちゃくて すぐ容量不足に陥る。 そんなときの対処法の1つ。 プロセスが使用している途中で削除したファイルが 使用してた容量が開放されずに残っていることがある。 …

jqueryでajax使うならこれ クロスドメインを回避できる xdomainajax.js

下記からダウンロードしてhtmlに普通に指定して終わり。 https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js cross-domain-ajax/jquery.xdomainajax.js <script type="text/javascript" src="js/jquery.xdom…

jQueryでフォーカス外れたときのイベント

blurを使う。 実例は下記な感じ $(".form [name=product_code]").blur(function(){ //ここに処理を書く });

smartyでvar_dump これ最高

これだけ 出したいtplファイルの変数を |@debug_print_var {$smarty|@debug_print_var}

EC-CUBEでadmin画面のパスワード忘れたとき

そんなときは、下記のとおり http://ec-cube.nakweb.com/blog/1073.html data/class/admin/LC_Page_Admin_Index.php を開く あとは下記のとおり、コメントアウト あとはシステムのところからパスワードを変更する ※※※そのあとは、絶対にコメントアウトを外そ…

クラウドサーバ借りて、ブラウザからアクセスできるようにする方法

クラウドサーバたてて、apacheインストールしてもブラウザから アクセスできないとき だいたい、問題はこれ。 たいていのクラウドサーバはssh用のポートしか開いてません。(ニフクラとかね) なので、apacheインストールして、アクセスしても 画面が見えな…

fget_csvで文字化けするとき

PHPで、fget_csvを使って文字化けするとき、 setlocale(LC_ALL, 'ja_JP.UTF-8'); をやってみよう。 大概のサーバは大元の設定で、なってるはずだけど 必ずでない。 ということで忘れずに。

サーバが重い!もしかして原因はkswapd0かもね。。。

linuxサーバが重いとき TOPコマンド打って、 kswapd0 が30分とかずっと立ち上がってたら、 それのせいで重い。 でも、圧迫したメモリをHDDに逃がすプロセスで 止めることはやっちゃダメ。 メモリのデータを逃がそうとして、そのデータが重すぎて うまく逃が…

crontabするならdev/nullを忘れるな!サーバ死ぬから

シェルなら 0 * * * * /home/admin/public_html/snmplogger/daily.sh >/dev/null 2>&1 PHPなら 10 * * * * /usr/bin/php /path/to/file/err_serverchecker.php >/dev/null 2>&1 下のやつを必ずかこう >/dev/null 2>&1 これやらないと、echoとかの出力内容を…

simplexml_load系の返り値を一気に一発で配列にする方法

PHP

$xmlはxmlファイルを読み込んだやつね。 $sx = simplexml_load_string($xml); json_decode(json_encode($sx), true); 解説はこちら http://fdays.blogspot.jp/2011/03/php-simplexml.html もし、@attributeとかの属性も細かく取りたいなら http://soft.fpso.…

eclipseでタイピング高速化。vi使いに必須のプラグイン

Vrapperというプラグインがネットで探すと超優秀らしい。 eclipseの補完機能をのこしつつ、 viライクな動きができるとのこと。 ソフトウェアのインストールに http://vrapper.sourceforge.net/update-site/stable/ を入れて、eclipseの指示に従うだけです。 …

PHPでメールを送信方法

mb_send_mail がPHPの標準関数でありますが、 超、イケてないっす>< 迷惑メールにバンバン入ります。 gmailの人はまず受信できない 一番いいのが、pear の mailを使いましょう 使い方は、ここがわかりやすい。 http://www.phpbook.jp/pear/pear_mail/ イン…

マウントディスクの付け外しには注意!!![[fstab]]

やっちまいました。 ニフティクラウドで、追加ディスクをマウントさせて ディスクを外したきに起きる 超、やっちゃいけないこと。 やっちゃいました。 tomcatが落ちるとかapacheが落ちるとかそんなレベルじゃない... サーバーの起動自体が落ちるという、かつ…

sendmailの起動

これも結論だけ。 /etc/init.d/sendmail start

postgresql9.2 をインストールする方法。あと8系を削除する方法

postgresqlの8系から9系へのバージョンアップ方法 ただ、9系をインストールしようとしても、 8系と9系は別のアプリケーションとして 同じサーバに両方存在していまいます。 ので、8系を削除してから9系をインストールします。 ちなみに9系をインスト…

アマゾンEC2で、ユーパーユーザ(root)になる方法。。

簡単に結論だけ。 $ sudo su - これだけ。

アマゾンEC2でsshログインに失敗したら

アマゾンのEC2でインスタンス立ち上げて、 その時に作った秘密鍵でログインしようとしたら WARNING: UNPROTECTED PRIVATE KEY FILE! で、エラーた。 ・原因 秘密鍵の権限が低過ぎる ・解決策 ターミナル開いて chmod 600 [秘密鍵を指定] これをやってから、 …

postgresql9.2 をインストールする方法。あと8系を削除する方法

これに書いてある。 http://morizyun.github.io/blog/postgresql-mac-centos-rails/ 既にpostgreq8系が入っているときは、これだけだとダメ postgresユーザになってホームディレクトリにある .bash_profileにコマンドのパスを通す su - postgres cd ~/ vi .b…

macローカルにtomcatを、サクっとインストールする方法

http://appleuns.blog89.fc2.com/blog-entry-127.html 社内の開発環境は、実際の環境とあわせましょう ということで http://tomcat.apache.org/ の6.0をダウンロードすること!

eclipse用のGit Egitのインストール方法

この記事がよい。 macだし。 http://gori.me/mac/13353

GITって何?

GIT

概念を理解するために、すばらしい記事があるので こっちを確認しよう! http://blog.asial.co.jp/894

eclipse環境で使える、EGITの使い方

忘れないようにメモ インストール方法はこちら http://fujita222.hateblo.jp/entry/2013/03/28/113443 使えるようにするために必要なこと というか、頭に詰め込む必要があることのリストから 1.リモートリポジトリの設定方法 2.ローカルリポジトリの設定方法…