Entries from 2010-01-01 to 1 year

access_logデータ抽出もろもろ

Apacheのアクセスログで・ロードバランサの問題でログの中身の時間がバラバラ→「ちゃんと時系列に&時間帯を指定」 ・かつ同一IPでUniqに絞りたい ・かつページURLにxxxを含む ・かつページURLにyyyを含まない という条件を満たしたく ※ログフォーマットのデ…

IEでinnerHTML、selectとらないとか

「IEはselectやtextareaに対してinnerHTMLが利かない。」そんなことはつゆ知らず。 二つのSELECTタグの中でOPTIONタグを相互に行き交うフォームを作ったところ、 IEでは全く動いていなかった。 というわけで解決策 HtmlElement.OuterHtml プロパティ http://…

初期ロード処理 $(document).ready(function(){ fugafugaaaaa})

$(document).ready(function(){}) おまじないのように使っていますが、 正確には、DOMツリーの読込が終わった後に、準備させておきたい処理を記述しておきます。なお、以下は全く同じsynonymだそうで $(function(){ }); 別の人がjsの部分だけ弄ったりすると…

ORDER BY … LIMIT処理を最適化する

数万行のテーブルをORDER BYしているSQLが遅い。EXPLAINすると「Using Filesort」の文字が。「Using Filesort」とは、テンポラリファイルを使ってソートしようとしているとの説明なので、INDEXでFetchできれば解決します。ところが、 MySQL で ORDER BY の解…

日付の単位をずらしてデータを整形する(DATE_FORMAT関数を使用)

帳票出力で、日の始まりをPM00:00としたいとき、 DATE_FORMAT()関数のformat指定子%rによって午前中か午後かを識別し、午前中であれば前日の日付に変換する。あとは日付でGROUPBYして出力例) $sql = "SELECT COUNT(*) AS cnt, SUM(price) AS sum, CASE SUBS…

日付を増減させるタイムスタンプライクな操作

たとえば、 form1の一日後をform2に表示させたいとき JKL.Calendar.prototype.setFormValue = function (ymd) { if (! ymd ) ymd = this.getDateYMD(); var form1 = this.getFormElement(); if ( form1 ) form1.value = ymd; if ( this.formwith ) { var for…

郵便番号のValidate ⇔ php-jsonインストール

PHP

■郵便番号入力値にチェックをかける場合例えば、地域限定で商品を購入してもらう条件で、購入者の郵便番号によってはじきたいことなどがある。JSON形式の郵便番号データが用意されているので、PHPからそれを使用したいときは、php-jsonモジュールがインスト…

coalesce関数

SELECT coalesce(sum(column),0) as price FROM table WHERE id = ? のようなSQLにて、coalesceという関数が使われている。 COALESCE(list)リスト内の最初の非 NULL 要素を返す。mysql> SELECT COALESCE(NULL,1); -> 1 mysql> SELECT COALESCE(NULL,NULL,NUL…

ファイルのタイムスタンプで検索

ファイル名で検索かけるfind -name '*.ext' はよく使いますが、ファイルの更新日時で探したい場合もあります。 find ./ -type f -mmin -60 -ls 60分以内に更新されたファイルを検索 オプション説明 mmin *分指定 mtime *日指定 newer *基準ファイル指定 …

テーブルのインポート・エクスポート

MySQLにてテーブルインポートする際、コマンドオプションの並び順によってはエラーになった。 $ mysqlimport -h host名 DB名 Table名.txt -u user名 -p Enter password: mysqlimport: Error: Access denied for user 'user'@'%' (using password: YES), when…

AuthMySQLモジュールによる認証

データベース(MySQL)を参照して認証する方法 httpd.confで設定する # yum -y install mod_auth_mysql モジュールをインストールした後は、Apacheの再起動が必要 認証用のテーブルが存在するならば、.htaccessにディレクティブを記述 AuthMySQLEnable On Au…

sshのKeepalive

外部ネットワークから社内サーバにssh接続をする際、しばらく操作しないでおくと、ネットワークが切断されることがある。emobileではなぜか平気。ルータが一定時間パケットの流れないコネクションを接続断と判断し、 NATテーブルをクリアする設定になってい…

perl-Net-SSLeayについてメモ

Webminをインストールする際に、インストールが必要な「perl-Net-SSLeay」yumで簡単にできるが、これはどういったライブラリなのかを調べたメモ - SSLeayはNetscapeのセキュアソケットレイヤー - Netscapeセキュアサーバーやナビゲーターのソフトウェア暗号…

mbox 形式とMaildir形式

メールボックスのロケーションは2つ■mbox 形式 1ユーザにつき1ファイルにすべてのメールが格納される。 1ファイルなので、複数のプロセスが同時にメールボックスを処理するとファイルが壊れる恐れがある。 そのため排他制御を行なう必要がある。Sendmail…

switch文でcaseにintとbooleanを混ぜない

PHP

ハマりがち。理由は以下のため。 注意: switch/case が行うのは、 緩やかな比較 であることに注意しましょう。

Webアーキテクチャ設計の基本を学ぼう3(パフォーマンス編)

コンセプトパフォーマンスの問題は可用性の問題と混同しがちだが,技術的にはまったく別の問題であることに注意(要件を聞き取るときには,両者を混同しないように整理する)パフォーマンスの指標として 「レスポンス時間」 「スループット」 「同時リクエス…

Webアーキテクチャ設計の基本を学ぼう2(可用性編)

可用性の向上・理論編 Webシステムはサーバー無しでは何もできない“サーバー頼み”のシステムである。そのためWebシステムを構築する際には,サーバーの「可用性(availability:サービスを継続して提供する能力)」について,十分な検討が必要となる。 ・可…

Webアーキテクチャ設計の基本を学ぼう1(HTTP編)

Webサーバをレプリケーションするにあたって、Webアーキテクチャの基本からおさらいしようと思い、ITproの連載記事を、自分なりにわかり易くまとめてみることにしました。基本中の基本ですが、意外に抜けてる部分も多いです。 ■情報システムの主な基本アーキ…

Remember the Milkを使ってみる

物忘れがひどくなってきたのと、記憶力に頼るのがだんだんストレスになってきたので、タスク管理ツールを使う。仕事ではtracを使っているが、プライベートなら、やはりRTMなのかなと思い、早速アカウントを作成https://www.rememberthemilk.com/慣れるまで時…

スーパーサーバ型デーモンxinetd

imapやrsyncなどのスクリプトはxinetdによって制御したほうがよいとのこと。 以下に概要をメモ xinetd の概要 xinetd は、Turbolinux 11 Server が実装しているスーパーサーバーです。 スーパーサーバーとは、他のサーバープログラムを管理/制御し、必要に…

service hoge does not support chkconfigエラー

chkconfigリストに新規スクリプトをaddしたときに出るエラー起動スクリプトの先頭に下記コメントが記述されていないことが原因# chkconfig: - 80 30数字は左から、ランレベル、起動の優先順位、停止の優先順位 ※【chkconfig概要】 起動スクリプトを管理する…

bash: fork: Cannot allocate memoryエラー

外出先からVPSサーバにアクセスする際に、メモリのallocationでエラーが頻発 困るので、原因を探ってみると、privvmpagesに問題ありどうだとのこと。・privvmpagesパラメータで、アプリケーションで割り当てらるメモリ容量を制御するつまるところ、下記コマ…

Column '**_id' in field list is ambiguous

DB

Joinした際、両方のテーブルに存在するカラムに『table_name.』をつけ忘れてると出るエラーWhere句やOrder by句などを、個所分けして記述したときなどに起きやすい

WinSCPでError listing directoryとError looking up user groups.

■Error listing directory ログインダイアログで、シェル環境をbashに変更すると解消サーバ環境に依存するようです ■Error looking up user groups. こちらもログインダイアログにて、Look up User groupsをUncheckすると解消

Unsupported operand typesエラー

PHP

ceil($a/$b) したときに、変数をintvalしておかないと、Unsupported operand typesというFatal Errorがでる。 PHPって型変換ゆるゆるだったんじゃないの? ceil(intval($a)/intval($b))でFA

床関数、天井関数(floor, ceil)

PHP

いまさらながら、割とよく使う計算関数なのに、覚え切れない二つを整理 floor 関数:床関数とも呼ばれる関数である。数値式 number 以下の最大の整数を戻す。 ceil 関数:天井関数とも呼ばれる。数値式 number 以上の最小の整数を戻す。

Postgres注意事項まとめ

①PostgreSQL では NULL と空文字 '' はしっかり別の値として扱います。空文字は 「= ''」で、NULL は 「IS NULL」 で検索するようにしてください。②「全文テキスト検索」というと「単語単位の検索」を指すことが多い ③「中間一致検索」が「あいまい検索」と…

Relaying deniedエラー

Yahooメールに送ろうとすると、エラー どうやらSMTP認証が必要とのことだが、契約サーバは対応していないらしいorz http://www.stackasterisk.jp/tech/engineer/practiceNetwork05_03.jsp

A difference of INNER JOIN and LEFT JOIN and RIGHT JOIN

DB

内部結合の3つの違い 主にLeftとInnerですが、大して違いを意識せず使用していました。ざっくり言うと、 Innerでは、両方のテーブルにデータが存在する行しか出力しない その他では、Joinされる側のテーブルの行は全て出力する (Whereでの絞り込みはまた別…

テーブル情報のコメントまで取得する方法

desc(describe)やshow columnsコマンドではCOMMENTデータまで取得できない というわけで公式より FULL キーワードは、各カラムに対するプレ カラム コメントと同じように、アウトプットが今持っている権限を含むように働きかけます。 相変わらず、この説明が…