カテゴリー別アーカイブ: Tips

SQL文@データ挿入時の条件付きのIDカウント方法

データ挿入時のID採番が複合キーなどの別条件がある場合なんかもそうだが、
シーケンスなどの別機能を使うより安定性が増しシステムの柔軟性は上がると思う。

#このようなトランザクションで更新してもいいが、、、
INSERT INTO test(a) VALUES (-1);
UPDATE test SET a=(SELECT (SELECT MAX(a) FROM test)+1) WHERE a=-1;

#このような感じで1つにまとめることもできる。
insert into test (a,b) select max(a)+1 from test,'b';

以外にこの情報は少ない。

WebAplicationを柔軟に作成する応用例として必須の考え方だと思うが...

参考にしたURL
7ujm.net/SQL/countUp.html

.tar.gz, .tar, .zip, .gzの圧縮と解凍をする方法

linuxでよく使われる圧縮方法に.tar.gz(.tar), .zip, .gzがあります。

※tarはテープ媒体で保存するためにファイルをまとめたアーカイブ形式にする処理コマンドである(圧縮技術ではない)。gunzip(gzip,gzと同じ意味)は複数ファイルをまとめることができないためtarでまとめた後にgunzipで圧縮している、このファイルの拡張子がtar.gzである。

他の圧縮方法もあるが、私の経験上ではこの3つが多いように思う。これらの圧縮形式の圧縮方法と解凍方法を心得ておけば日常のサーバ管理には困らない。その他の圧縮形式を使わねばならぬ場合は個別に調べてください(日常的によく使うので解凍方法と圧縮方法は手で覚えてしまったほうがよいでしょう)。

【.tar.gz圧縮】

tar -cvzf file.tar.gz file

【.tar.gz解凍】

tar -xvzf file.tar.gz

※解凍時は圧縮したフォルダ(ディレクトリ)がそのまま上書き展開される。すでに同名のファイルやフォルダ(ディレクトリ)がある時は上書きされるので注意すること。

----------

【.zip圧縮(ファイル)】

zip file.zip file

※ディレクトリを保存する場合は-rオプションを指定すること。

zip -r dir.zip dir

【.zip解凍】

unzip file.zip

(つづく)

※圧縮処理のアルゴリズムについて詳しく知りたい方は以下の書籍を参照ください。

Better Delete Revision を導入してみた。

Better Delete Revision

別にこのWordPressのブログで表示が遅いと思ったことは無いが、記事内でJavaScriptやPHPを動作させている手前、なんども記事を書きなおしているので、履歴情報がたんまりたまっているのだろうなぁというのは想像に難くない。phpmyadminでアクセスして消してもよさそうだが面倒だなぁと思っていたところ便利なプラグインを見つけた「Better Delete Revision」。管理画面のプラグインより検索してインストールすると、設定のところから選択して履歴(リビジョン)をすべて一括削除できます。なお、私のブログの記事は700以上ありますが、リビジョン数は1900程度でした。ちょこちょこ書きなおしているのでもっとあると思いましたが、そんなでもなかったですね。でも、これで、ちょこちょこ消してメンテナンスできそうです。700記事というと多い気がしますが少ない気もします。もっと書こうと思えばいくらでも書けますので、早々に1000記事を目指したら、次は1年で1000記事を目指します。てか年内で2000記事を目指します(ぇ)いい目標ができました。

プログラミングにおける様々な変数名名記述法

スクリプトを作成するにあたってよく使われる3種類の記述法を説明する。

camelCase記法

camel(らくだ)のように初めの単語は短く、後に続く単語を大文字にして連結する方法。
オブジェクト名やクラス名に用いられることが多い。

(例:getMonthDate)

Pascal記法

初めの単語を大文字にする。

(例:SubclassNamed)

アンダースコア記法

単語をアンダースコアで区切る方法。

(例:menu_list_id)

※どれも一長一短あると言えばあるし、見やすければどれでもいいのではないかと思う。

JavaScript::アンカータグにJavaScriptを埋め込むこともできる

説明1.わりと一般的で昔から知られている方法はonclick属性によるイベントハンドラを使うことであるが、アンカータグにJavaScriptを埋め込んでリンクを踏まれた時にJavaScriptを実行することも可能である(記述例1)この方法をJavaScript疑似プロトコルと言う。

記述例1.

<a href="JavaScript:alert('ok1');">ok1</a>
<a href="" onclick="JavaScript:alert('ok2');">ok2</a>

実行例1.

ok
ok2

※ちなみに両方まぜるとどうなるか?こうなる↓

記述例2.

<a href="JavaScript:alert('ok1');" onclick="JavaScript:alert('ok2');">ok1&2</a>

実行例2.
ok1&2

※ブラウザの環境にもよるかもしれないが、
onclick属性(イベントハンドラ)が先で、
href属性(JavaScript疑似プロトコル)の方が後に実行される。