2008年4月25日金曜日
【SQL】FROM句でサブクエリを使う
WHERE句、SELECT句でのサブクエリは結果として値を利用する。
FROM句でサブクエリを利用すると、結果を1つのテーブルとして扱うことができる。FROM句でのサブクエリの利用は非常に応用性が高い。
FROM句にサブクエリを使うことで、集計関数を組み合わせた計算が出来る。たとえば、COUNTのAVGを計算することができる。
サブクエリには";"をつけない。
2008年4月23日水曜日
The Haskell School of Expression: Lerning Functional Programming Through Multimedia
こんな本を買ってみました。
Haskellの入門書なのですが、他の本とはひと味違います。
Haskellの本は、数学的な文脈で語られることが多いのですが、この本では、グラフィクス、アニメーション、コンピュータミュージックといったマルチメディアアプリケーションを題材として使っています。
レベルとしては、初級者と上級者の両方に向けて書かれています。
簡単なイントロダクションからはじまり、もっと進んだ話題へと進みます。Haskellがまったく初めての方にはややテンポが速いかもしれません。
けどさ・・・グラフィクスとかアニメーションって、純粋関数言語を使う意味があんまりないんじゃ?だって、副作用のかたまりやん;)
2008年4月20日日曜日
【Haskell】Haskellの低レイヤグラフィクスライブラリまとめ
Haskellの低レイヤグラフィクスライブラリをまとめました。
各プラットフォームのグラフィクスシステムへのバインディングです。
- GLUT
- OpenGL GLUT Libraryへのバインディング。
OpenGL GLUT Libraryは、プラットフォーム固有の処理を吸収してOpenGLを使いやすくするためのライブラリです。
- GLFW
- GLFWへのバインディングです。
GLFW(OpenGL Framework)は、GLUTと同様、プラットフォーム固有の処理を吸収してOpenGLアプリケーションを使いやすくするためのライブラリです。
GLUTよりも新しいです。
- TclHaskell
- TclHaskellは、Tck/tkへのバインディング。
Tck/Tkは、Unix、Windows、Macintosh上で動作するGUIスクリプティング環境です。
- Win32
- Win32ライブラリは、Win32APIのうちグラフィクスに関係する部分へのバインディングです。
Win32APIは、Windowsの標準APIです。
- X11
- X11ライブラリは、X11へのバインディングです。
X11は、Unix系OSのウィンドウシステムであるX Window Systemのバージョン11です。
2008年4月11日金曜日
【MySQL】カーソルの使い方
カーソルの宣言
DECLARE [カーソル名] CURSOR FOR [SELECT文];カーソルを開く
OPEN [カーソル名]1行ごとにデータを取り出す
FETCH NEXT FROM [カーソル名] INTO [変数リスト];カーソルを閉じ、リソースを解放する
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM [カーソル名] INTO [変数リスト];
END;
CLOSE [カーソル名]
DEALLOCATE [カーソル名]
2008年4月6日日曜日
複数のファイルを1つ1つコマンドに読ませるには
複数のファイルを1つ1つコマンドに読ませる方法。
たとえば、POV-Rayのサンプルファイル(*.pov)を
一度にpovrayに処理させるには、
for i in $(ls *.pov); do povray $i; doneとする。
2008年4月3日木曜日
MySQLでDBをコピーするには
MySQLのデータベースをコピーするには、mysqldumpを使います。
mysqldumpはデータベースをダンプするためのユーティリティですが、他のMySQLサーバにデータをコピーするのに使うことができます。
ローカルで動いているMySQLの中で"source_database"から"dest_database"へデータをコピーするには、以下のようにします。
$ mysqldump -u user_name -p -n source_database | ¥ > mysql -u user_name -p dest_database-nオプションは、CREATE DATABASEを出力に含めないようにするためのオプションです。これを付けることで、dest_databaseへデータをコピーできるようになります。
また、コピーしたいデータベースが巨大なときもあるかと思います。そのようなときに、以下のオプションを使うと、さらに効率良くデータをコピーできます。
--no-autocommit
これをつけると、ダンプしたファイルの全体を囲うようにautocommit=0がつきます。つまり、後でリストア時にはファイル全体が1トランザクションになり、うまくいけば劇的に早くインポートできます。
--single-transaction
このオプションを付けてダンプすると--lock-tablesを付けずにシングルトランザクションでダンプするので、一貫性のあるデータをダンプできます。
--opt
これはデフォルトで有効になっているはずです。このオプションには--lock-tablesが含まれますがこれはダンプ時ではなくてインポート時にロックする指定です。
■関連エントリ
粒子法による固液連成シミュレーション
--
登録:
投稿 (Atom)