最後にする場合の注意点SQLでNULL値を含むカラムでソートを実施する場合、何も意識しないと最小の値として処理されてしまいます。asc;こんな書き方をすると次のような順で出力されます。test_tabnumnull123null値が最小として扱われてしまいます。null値を最後(この場合は最大)と扱いたい場合は下記のように書きます。asc;test_tabnum132nullお気付きとは思いますが、この書き方だけでは、null値が最大として扱われただけであって、通常のソートは行われていません。そのため、下記のように書き直します。asc;こうすると下記のような出力になり、取りたい値となりました。null値の取扱をどうするか決めているだけなので、null以外の値にはソートが効いていないので、注意が必要。はまったので、参考までになお、DESCの場合は、挙動がまったく逆になるイメージです。コメントは受け付けていません。【LDAP】LDAP障害時、ローカルアカウントを利用する方法(PAM)Linuxのユーザ認証にLDAPを利用する場合の注意点を紹介します。※設定方法等の詳細については今回は割愛します。通常Linuxのアカウント認証にLDAPを利用する場合、PAMを経由して認証させるかと思います。その時、LDAPサーバになんらかの障害が発生し、LDAPサービスを利用出来なくなった場合、そのサービスを受けているクライアントサーバでは、ローカルユーザでのログインすら出来なくなります。そこで、LDAPサービスを利用出来ない状況の場合は、即座にLDAP認証を諦め、ローカルアカウント認証に切り替える設定方法を紹介します。authconfigを利用している場合の話になります。PAMの設定ファイルを誤って設定してしまうと、次回からログインすら出来なくなる可能性がありますので細心の注意を払って設定に臨んでください。作業する際は、設定後に接続確認を行うまで、現在利用しているターミナルを切断しないでください。設定直後の各種設定ファイル通常、ローカルユーザ認証をLDAPを利用するように設定した場合、各設定ファイルは次のようになるかと思います。pam_ldap.soここで注目すべきは12行目の「account」のpam_ldap.soを利用している部分です。LDAPサーバを利用出来ない場面では、最終的に「default」で指定した「bad」に該当してしまいます。そのため、最終的に、ローカルアカウント認証を行なう前に、「bad」として終了していまうのです。3600:またこちらの9行目「bind_policy」はコメントアウトされていますが、デフォルトの設定は「hard」です。この項目は、LDAPの再接続のポリシーを設定します。「hard」の場合は、LDAPサーバへ接続出来る状態になるまで再試行を繰り返します(正確には2分くらいでタイムアウトします)「soft」の場合は、LDAPサーバへ接続出来ない場合は、即座に諦め、次へ進みます。デフォルトのままでは、LDAPサーバに障害が発生した場合、LDAP接続を諦めるまでに長い間再接続を試みる事になります。umask=0022注目すべきは先ほどと同じく、12行目の「account」の行です。先ほどのコントローラ「default」「success」「user_unknown」に加え、「service_err」「system_err」「authinfo_unavail」のコントローラを追加しています。いずれもignoreに設定し、マッチした場合は、この項目を飛ばして次に行きます。3600:「bind_policy」を「soft」に設定しています。先ほど説明したように「soft」にする事で、接続に失敗したら、即座に再接続を諦めます。これらの設定をする事により、LDAPサーバに障害が発生した場合は、ローカルアカウントではログイン出来るようにすることが出来ます。実際に利用する場合は、まずテスト環境を構築して試してみてくださいね。久しぶりの更新が日記ですよorzもっとがんばってちゃんと書くように頑張ります☆とりま、今月の1月20日に26回目の誕生日を無事迎える事が出来ました。誕生日を迎えるたびに思う事ですが...本来死ぬはずだった年齢の約7倍も生きる事が出来て本当に幸せだと思います。色んな事が体験出来るし、知る事が出来る。頑張れば頑張った分だけ自分に返ってくる。自分の存在が、誰かの役に立つ事が出来る。「明日が来る事の奇跡」ほんとそう思います。.........実は自分2回ほど本当に死に掛けてるんですよ...4歳の時と6歳の時に。4歳の時は、よくある話かもしれませんが、お風呂で溺れました...当時、お酒をおじいちゃんに貰っていて、ほろ酔い気分でお風呂に入ったとき、フラフラになってお風呂で溺れたって話。気絶して浮いてた自分を、気にして見に来てくれたおじいちゃんが助けてくれたって話です。こっちはよくある話ですね。※注意:ここからは、ちょっとグロテスクな表現が含まれていますので、心臓の弱い方はお控えください。コメントは受け付けていません。add」に焦点を絞って解説したいと思います。commit)を実行する前にステージ(索引に追加)する必要があります。簡単な流れとしては次のようになるかと思います。commit↑オプション一覧Gitのコマンドにはサブオプションが多数存在します。その中でも特に利用頻度が高そうなものを紹介していきたいと思います。追加するファイル名を指定します。追加されるファイル名を表示します。実際には追加されません。無視ファイル(.gitignore)を無視して追加します。Git管理下にあるファイルの内、変更点のあるものだけをステージします。無視されていないファイルをステージします。後にステージされる事を記録します。使った場合、差分表示が行えます。オプションとファイルを明示的に切り分けます。「-n」という名前のファイルをステージする場合に利用します。.カレントディレクトリ配下すべてステージする。この時、.gitignoreで指定されたファイル以外のすべてのファイルをステージします。*.c追加されるのはa.cabc.cb.cの3つになります。-f追加されるファイルはtestfile1testfile2.gitignoreのすべてのファイル。「-f」を指定しないと下記のようなファイルだけ追加されます。-A次のファイルがステージされます。使った場合、差分表示が行えます。diffGit管理下ではないため、比較しようとしても何も出力されません。diffとしても、同様に比較する事が出来ません。これはaddしたとしても、まだコミットされていない状態のため、Gitとしては比較できないためです。コマンドで比較する事が出来ます。行う場合にも有効なオプションです。オプションとファイルを明示的に切り分けます。.'?「-n」オプションとして解釈されてしまい、ファイルが不正として扱われてしまいます。こんな時はオプションと、ファイルを明示的に切り分けて指定します。-n「–(ハイフン2つ)」以降はファイル(正確には引数)として扱われるため、ここでいう「-n」はファイル名として解釈されます。コメントは受け付けていません。【Git】bashで補完機能を有効にする(bash-completion)今回は、Gitをbashで利用する上で、設定しおくと便利な補完機能について解説したいと思います。bash-completionとは通常bashでは、TABキーを押すことで、ファイル名の補完が行えます。sshコマンド時のホスト名等を補完したりすることが出来ます。↑bash-completionをインストールするbash-completionは下記のURLからDLする事が可能です。http://bash-completion.alioth.debian.org/files/bash-completion-1.2.tar.bz2URLは適宜読み替えてください。別途追加する必要があります。リポジトリから最新のgit-completionをダウンロードします。/usr/local/etc/bash_completion.d/git※環境によってインストール先が異なるかもしれません。[TAB]TABキーを2回押すと、候補一覧が表示される。この時、「add」や「commit」等、Gitに関するコマンドが候補として表示されればOKです。コメントは受け付けていません。