2009年12月5日土曜日

システム障害

最近よくシステム障害が起きているようなので,書き留めておきたいと思います.

●ロンドン証券取引所
-障害から復旧まで:
2009/11/25(英国時間) 障害発生(接続障害).取引停止.

-参照:
ロンドン証券取引所がシステム障害で取引停止 - ニュース:ITpro

●東京工業品取引所
-障害から復旧まで:
2009/11/27 障害発生.各取引を停止
 取引システムの開発・運用保守を担当するNTTデータとともに原因究明
 開発元のOMXテクノロジーにソフトの修正を依頼
 テストで動作確認
2009/11/30 システム復旧

-原因:
受け付けた注文件数が最多となった際に,潜在バグが表面化したことによる
・メモリリーク
「気配値」の計算に使うプログラムが,使用したメモリ領域を削除していなかったために生じた.
注文を受信するにつれメモリの使用可能領域が減少し,計算が不可能となった.

・フェイルオーバーの際の切り替えシステムのバグ
取引システムは現用系と待機系のホットスタンバイ方式で二重化してある.
メモリ不足を受けた際に,本番処理が待機系に自動で切り替わるはずだったが,バグによりメモリ上の一部データを正常に引き継げなかった.
その結果,待機系システムでも気配値の計算が不可能となった.

-参照:
東工取のシステム障害、原因はナスダックOMX子会社製ソフトのバグ - ニュース:ITpro

●新幹線のエクスプレス予約
-障害から復旧まで:
2009/12/3 10:00 障害発生.
 システムのサーバーを再起動し,自動改札機などとのデータの整合性や動作を確認
2009/12/3 13:00 システム復旧

-損害:
この3時間のシステム停止時間中,約1万人がシステムを利用不可能となった

-原因(12/5現在):
不明

-参照:
[続報]3時間後に復旧、新幹線のエクスプレス予約システム障害 - ニュース:ITpro


●その他(オマケ)
-秋はシステム障害の季節か:ITpro
:システム障害の詳細を開示しない企業が多いが,近年は情報公開をすることで高信頼システムを築いていこうとしている動きが多いとのこと.

こういう記事に目を通すことって大切だなぁと改めて思いました.

2009年11月19日木曜日

システムコールの追加

Linux2.6.25カーネルにシステムコールの追加をするのでメモメモ.
ちなみにその時にx86? bit数?とかかなり初歩的なことが分かっていないことが発覚したので,それについても近いうちにまとめます.

●システムコールの追加のためにすること
1)システムコール番号の登録
2)システムコールテーブルに登録
3)追加するシステムコールのオブジェクトファイル名をMakefileに追記
4)ヘッダファイルの作成
5)システムコール本体の作成
6)カーネルの再構築

以下,詳しくやることを書いていきます.

1)システムコール番号の登録
 include/asm/unistd_32.h に
 #define __NR_システムコール名 システムコール番号
 を追加.
 /usr/include/asm/unistd_32.hにも同様に追記する
/*62bitb版OSの場合は,unistd_64.hに追記する*/
/*OSのbit数は$uname -iで調べました*/

2)システムコールテーブルに登録
 arch/x86/kernel/syscall_table_32.S に
 .long sys_システムコール名
 を追加.

3)追加するシステムコールのオブジェクトファイル名をMakefileに追記
 arch/x86/kernel/Makefile のobj-yの項目に
 システムコール名.o
 を追加.

4)ヘッダファイルの作成
4-1)カーネル空間用
 include/linux/システムコール名.h を作成

#ifndef NR_システムコール名_H
#define NR_システムコール名_H

#include <linux/unistd.h>
#include <linux/linkage.h>

#define システムコール名(arg1) syscall(__NR_システムコール名, arg1)

#endif

4-2)ユーザ空間用
 /usr/include/linux/システムコール名.h を作成
4-1で作成したヘッダファイルの#include <linux/linkage.h>#include <linux/syscall.h>に変更したものを作成する

5)システムコール本体の作成
システムコール名.cというファイルを以下のように作成し,arch/x86/kernel/以下に保存する.

#include <linux/システムコール名.h>

asmlinkage 関数型 sys_システムコール名 (引数){
 /* システムコールの内容を記述 */
}


6)カーネルの再構築
make bzImage && make install をした後に再起動!

システムコールをユーザモードプロセスから利用する場合は,ファイル内に#include <linux/システムコール名.h>を記述して利用する


これでいけるハズ

2009年10月19日月曜日

kmalloc()/kfree()

カーネル内でメモリを確保/解放するための関数

●使い方
 #include <slab.h>
 void* kmalloc( size_t size, int flags );
 void kfree( void* ptr );
sizeには確保したいバイト数,flagsには以下のどちらかを指定.
GFP_KERNEL:即座にメモリ領域を用意できない場合、メモリ管理機能がスワップアウト 等によって領域を確保するまでスリープする可能性がある
GFP_ATOMIC:スリープせずにメモリ領域を確保しようとする。 必要な領域が確保できない場合は失敗する。 割り込みハンドラやタスクレット、タイムアウトハンドラ等の プロセスコンテキストと無関係に実行される箇所ではこれを使う

●例
u8 *buffer;
buffer = kmalloc(1000, GFP_ATOMIC);
if (!buffer)
 return -ENOMEM;
kfree(buffer);

/*u8とは符号なし1バイト整数型(0~255)を表す基本型.
 <linux/types.h>をincludeして利用する*/


●参照ページ:
カーネルモジュールを作る

2009年9月30日水曜日

RDMSR / WRMSR in C

MSR(Model Specific Register)を読み書きするための命令
どちらも実行できるのは特権モード(ring 0)のみ

これらを C の中で使うには gcc インラインアセンブラを用いればOK

#ちなみにこのへんの記述は perfctr では /usr/include/asm-x86/msr.h にありますね

●インラインアセンブラ表記法
asm volatile ("アセンブラテンプレート"
: "出力オペランド"
: "入力オペランド"
: "アセンブラの実行で変更されてしまうもの");

出力オペランドは "=a" (出力先変数),
入力オペランドは "a" (入力) のように表記する.
ここで,各レジスタは以下のように表記する.
"a" eax
"b" ebx
"c" ecx
"d" edx
"A" edx:eax(上位bitにedx,下位bitにeax)
"g" gccが適当なレジスタに割り当てる


●RDMSR
ecx レジスタに MSR のアドレスを指定すると,edx:eax レジスタに MSR の内容を読み込む(上位 32bit が edx ,下位 32bit が eax に入る)
e.g.
asm volatile("rdmsr" : "=a"(low), "=d"(high) : "c"(msr_addr));
asm volatile("rdmsr" : "=A"(val) : "c"(msr_addr));

●WRMSR
ecx レジスタに指定した MSR のアドレスに,edx:eax レジスタの内容を書き込む(〃)
e.g.
asm volatile("wrmsr" : : "c"(msr_addr), "=a"(low), "=d"(high) : "memory");
asm volatile("wrmsr" : : "c"(msr_addr), "=A"(val) : "memory");


参照ページ:
ほげほげまん: gccインラインアセンブラ
ほげほげまん: RDMSR / WRMSR

ほげほげまんめっちゃ分かりやすい.お世話になってますw

2009年9月28日月曜日

コンテキストスイッチのソースコード

今後手を加える予定なのでここにメモしときます.
(Linux2.6.25 kernel)

●コンテキストスイッチをしている箇所
 kenrel/sched.c 内 context_switch()
 switch_mm() によってプロセス空間の切り替え,switch_to() によって各種レジスタの切り替えを行っている.

●コンテキストを切り替える際に保存する情報
 task_structに格納している
  :定義は include/linux/sched.h l994
 更に,CPU依存の低レベルな実行コンテキストは thread_struct に格納している
  :定義は include/asm-x86/processor.h l315

以下はソースコードコピペ(長すぎて邪魔だったので消しましたw 09/10/15)

2009年9月23日水曜日

富士登山

やっと念願の富士登山に行ってきました!
友人との予定が合わず,9月下旬の登山になってしまったこと,そして最近運動不足で体力に自信がなかったこともあり,結構不安でした..
が!
ゆっくり休憩をとりながらコツコツ登り続けること計8時間.
天候にも恵まれ,高山病にもならず(若干の頭痛はずーっとありましたが),無事に登頂を果たし,ご来光を見ることができました.
登った日はおじいちゃんの命日だったから,きっとおじいちゃんが見守っていてくれたんだと思う.

ご来光だけでなく,雲海に映る影富士や夕焼けの空,真夜中の満天の星など…
普段見ることのできない幻想的な世界を堪能できました.


それになんだか,元気を貰いました.
コツコツやっていればちゃんと達成できるんだなぁと.
毎日コツコツ,時間を大切にしなくちゃいけないなと改めて感じました.

またこんな晴れ晴れした気持ちを味わえるように!
今日も充実してたなーと毎日思えるように!
毎日を過ごしていきたいと思います.




富士山ありがとう!






/*ここからメモ*/
●登山に持って行って良かったもの
 ・ヘッドライト
 ・ゼリー状の飲み物
 ・帽子,手袋,ホッカイロ
 ・チョコレート(甘い物は元気が出る!)

●持って行けば更に良かったなぁというもの
 ・冷えピタ
 ・マスク

あとやっぱり9月だからか,これでもかってくらい防寒してちょうど良かったです.
私の場合,山頂ではTシャツ+長袖シャツ+ジャージ+フリース+防水ジャケットでもこもこでしたw
あと,山頂の神社に行けなかったのはちょっと残念でした(8月20日までだったみたい)

以上!

せっかくグッズも集めたことだし,また登山に挑戦したいです♪

2009年9月17日木曜日

クロスリファレンスLXR

カーネルのソースコードを参照しやすくするために入れました.
入れ方&使い方は全てここに集約されています.
ViVa! Saborigineer. - クロスリファレンス

とりあえず使い方だけメモメモ

1.lxr/sourceにソースファイルを展開
 lxr/source/バージョン名/sourceとなるようにして作成

2.genxrefを使って、lxr/source/バージョン名/にデータベース(fileidx,xref)を作成
 $ ../../bin/genxref source/

3.fileidx、xrefのアクセス権の変更
$ chmod 644 fileidx xref

4."freetext search"、"file search"用のインデックスを作成
$ cd /var/www/html/lxr/source/バージョン名/
 $ glimpseindex -H . source
 $ chmod 644 .glimpse_*

5.versionsにバージョン名を追加
デフォルトのバージョン名を変更する場合は、defversionを変更

とり急ぎメモだけ.

2009年6月17日水曜日

PostgreSQL on WindowsXP

再インストール→インストールする際に気をつけること
プログラムの追加と削除からpostgreSQLを削除するだけではアンインストールできたとは言えないようで,他にも色々消さなければいけませんでした.

#インストールの際に"アカウント名とセキュリティ id の間のマッピングは実行されませんでした。"なんていうエラーが出た

・コマンドプロンプトで net user とし,postgresユーザが存在したら削除
 # net user postgres /delete
・C:\Program Files内,PostgreSQLフォルダ削除
・Document and Settings内postgresフォルダ削除

あとは,インストールの際に,"ユーザ名"にはpostgresを,"ドメイン"にはインストールしたコンピュータの名前を入れること!

これでちゃんとインストールできた…はずです(@_@;)

めんどくさい課題はさっさと片付けちゃおう...

Project Natal

tex のコマンド検索してたはずが謎にこんなのを発見しましたw
Microsoftが発表したコントローラが必要ないゲームらしいのですが…



これどうなってるんですかね?!
カメラとかセンサとかどのくらい使ってるんだろう…
どのくらい誤検知するのかも気になっちゃいますw

ゲーム得意じゃないのであまりやりませんが,これはぜひ見てみたいです.

2009年6月11日木曜日

壁紙

MacDesktops
Mac Tricks and Tips, Wallpapers and Applications for Mac Users
Mac向けの可愛い壁紙が結構ありました.

他サイトでは素敵!と思ったものの1440*900のサイズのってあんまりなくて…


ちなみに今の壁紙はこれです.
評判も良くてお気に入りです♪

それにしても最近更新怠ってるなぁ(*_*;)

2009年4月27日月曜日

Unix errno一覧

他サイトで見つけたのですが,現在とちょっと違っているようなので自分で調べてまとめてみました.
とりあえずmanページと,返ってきたエラーコードのみの少ない情報ですが(^^;)
(Fedora9 Kernel:2.6.25)

1 EPERM Operation not permitted (POSIX.1)
2 ENOENT No such file or directory (POSIX.1)
3 ESRCH No such process (POSIX.1)
4 EINTR Interrupted function call (POSIX.1)
5 EIO Input/output error (POSIX.1)
6 ENXIO No such device or address (POSIX.1)
7 E2BIG Argument list too long (POSIX.1)
8 ENOEXEC Exec format error (POSIX.1)
9 EBADF Bad file descriptor (POSIX.1)
10 ECHILD No child processes (POSIX.1)
11 EAGAIN Resource temporarily unavailable (may be the same value as EWOULDBLOCK)(POSIX.1)
11 EWOULDBLOCK Operation would block (may be same value as EAGAIN) (POSIX.1)
12 ENOMEM Not enough space (POSIX.1)
13 EACCES Permission denied (POSIX.1)
14 EFAULT Bad address (POSIX.1)
15 ENOTBLK Block device required
16 EBUSY Device or resource busy (POSIX.1)
17 EEXIST File exists (POSIX.1)
18 EXDEV Improper link (POSIX.1)
19 ENODEV No such device (POSIX.1)
20 ENOTDIR Not a directory (POSIX.1)
21 EISDIR Is a directory (POSIX.1)
22 EINVAL Invalid argument (POSIX.1)
23 ENFILE Too many open files in system (POSIX.1)
24 EMFILE Too many open files (POSIX.1)
25 ENOTTY Inappropriate I/O control operation (POSIX.1)
26 ETXTBSY Text file busy (POSIX.1)
27 EFBIG File too large (POSIX.1)
28 ENOSPC No space left on device (POSIX.1)
29 ESPIPE Invalid seek (POSIX.1)
30 EROFS Read-only file system (POSIX.1)
31 EMLINK Too many links (POSIX.1)
32 EPIPE Broken pipe (POSIX.1)
33 EDOM Mathematics argument out of domain of function (POSIX.1
34 ERANGE Result too large (POSIX.1
35 EDEADLK Resource deadlock avoided (POSIX.1)
35 EDEADLOCK Synonym for EDEADLK
36 ENAMETOOLONG Filename too long (POSIX.1)
37 ENOLCK No locks available (POSIX.1)
38 ENOSYS Function not implemented (POSIX.1)
39 ENOTEMPTY Directory not empty (POSIX.1)
40 ELOOP Too many levels of symbolic links (POSIX.1)
42 ENOMSG No message of the desired type (POSIX.1)
43 EIDRM Identifier removed (POSIX.1)
44 ECHRNG Channel number out of range
45 EL2NSYNC Level 2 not synchronized
46 EL3HLT Level 3 halted
47 EL3RST Level 3 halted
49 EUNATCH Protocol driver not attached
51 EL2HLT Level 2 halted
52 EBADE Invalid exchange
53 EBADR Invalid request descriptor
54 EXFULL Exchange full
56 EBADRQC Invalid request code
57 EBADSLT Invalid slot
60 ENOSTR Not a STREAM (POSIX.1 (XSI STREAMS option))
61 ENODATA No message is available on the STREAM head read queue (POSIX.1)
62 ETIME Timer expired (POSIX.1 (XSI STREAMS option))(POSIX.1 says STREAM ioctl(2) timeout)
63 ENOSR No STREAM resources (POSIX.1 (XSI STREAMS option))
64 ENONET Machine is not on the network
65 ENOPKG Package not installed
66 EREMOTE Object is remote
67 ENOLINK Link has been severed (POSIX.1)
70 ECOMM Communication error on send
71 EPROTO Protocol error (POSIX.1)
72 EMULTIHOP Multihop attempted (POSIX.1)
74 EBADMSG Bad message (POSIX.1)
75 EOVERFLOW Value too large to be stored in data type (POSIX.1)
76 ENOTUNIQ Name not unique on network
77 EBADFD File descriptor in bad state
78 EREMCHG Remote address changed
79 ELIBACC Cannot access a needed shared library
80 ELIBBAD Accessing a corrupted shared library
81 ELIBSCN lib section in a.out corrupted
82 ELIBMAX Attempting to link in too many shared libraries
83 ELIBEXEC Cannot exec a shared library directly
84 EILSEQ Illegal byte sequence (POSIX.1
85 ERESTART Interrupted system call should be restarted
86 ESTRPIPE Streams pipe error
87 EUSERS Too many users
88 ENOTSOCK Not a socket (POSIX.1)
89 EDESTADDRREQ Destination address required (POSIX.1)
90 EMSGSIZE Message too long (POSIX.1)
91 EPROTOTYPE Protocol wrong type for socket (POSIX.1)
92 ENOPROTOOPT Protocol not available (POSIX.1)
93 EPROTONOSUPPORT Protocol not supported (POSIX.1)
94 ESOCKTNOSUPPORT Socket type not supported
95 ENOTSUP Operation not supported (POSIX.1)
95 EOPNOTSUPP Operation not supported on socket (POSIX.1)(ENOTSUP and EOPNOTSUPP have the same value on Linux
96 EPFNOSUPPORT Protocol family not supported
97 EAFNOSUPPORT Address family not supported (POSIX.1)
98 EADDRINUSE Address already in use (POSIX.1)
99 EADDRNOTAVAIL Address not available (POSIX.1)
100 ENETDOWN Network is down (POSIX.1)
101 ENETUNREACH Network unreachable (POSIX.1)
102 ENETRESET Connection aborted by network (POSIX.1)
103 ECONNABORTED Connection aborted (POSIX.1)
104 ECONNRESET Connection reset (POSIX.1)
105 ENOBUFS No buffer space available (POSIX.1 (XSI STREAMS option))
106 EISCONN Socket is connected (POSIX.1)
107 ENOTCONN The socket is not connected (POSIX.1)
108 ESHUTDOWN Cannot send after transport endpoint shutdown
110 ETIMEDOUT Connection timed out (POSIX.1)
111 ECONNREFUSED Connection refused (POSIX.1)
112 EHOSTDOWN Host is down
113 EHOSTUNREACH Host is unreachable (POSIX.1)
114 EALREADY Connection already in progress (POSIX.1)
115 EINPROGRESS Operation in progress (POSIX.1)
116 ESTALE Stale file handle (POSIX.1)
117 EUCLEAN Structure needs cleaning
120 EISNAM Is a named type file
121 EREMOTEIO Remote I/O error
122 EDQUOT Disk quota exceeded (POSIX.1)
123 ENOMEDIUM No medium found
124 EMEDIUMTYPE Wrong medium type
125 ECANCELED Operation canceled (POSIX.1)
126 ENOKEY Required key not available
127 EKEYEXPIRED Key has expired
128 EKEYREVOKED Key has been revoked
129 EKEYREJECTED Key was rejected by service

エラーが起きたときにreturnされる値(-1など)と,errnoって違うんですね.
知らなかったです.

参考ページ:
PC覚え書き | Unix系errno一覧

2009年3月24日火曜日

卒業

無事,大学を卒業しました.

4年間,色々なことがありました.
最初の2年間は本当に,低迷期でした.
今思うと,自分が自分でなかったような,ふよふよした2年間を過ごし,随分自分勝手をして親にも心配をかけちゃいました.
サークルで代表をやったことで,たくさん悩み,自分の力不足を感じ,周囲の人への不信感も抱いた.
高校が守られた環境すぎた分,色んな人がいることを学ぶことができたし,自分が理想とする姿・だめなところのギャップを学べた良い機会だったと思っています.
3年からは専門科目が増え,勉強が楽しくなってきて.
大学の友達とも更に仲良くなって一緒に勉強をしたり,将来について話したり,学校が楽しかった.
4年から研究室生活が始まり,今までの知識を生かすことが多くなりました.
やっぱり4年生が1番私の中では大きい1年だったかな.
自分の知識不足・勉強不足を痛感した1年でした.
けれど,先輩方の助けを借り,無事に卒業研究を終えることができ,これから更に頑張っていきたいと,モチベーションが上がりました.
やっと,少し将来が近づいた気がします.

うちの厳しい家計で,良い学校に行かせてくれた両親には本当に感謝しています.
また,こんなへっぽこを指導してくださった先輩方・指導教員の先生.
色んなことを教えてくれる賢い同期のみんな.
うちの研究室ほど良い環境の研究室はないと思います.w
いつも応援してくれていた祖父母.
もう他界してしまいましたが….
おばあちゃんに袴姿を見てもらいたかったな.
いつでも味方でいてくれて,背中を押してくれる親友.
そして,いつもくだらない話を聞いてくれる友達や妹.w

思い出してみると,本当にいろんな人の支えがあってここまでこれたなって思います.
みんなみんなに感謝です!!

そうだ,友達のブログで知ったスティーブ・ジョブズのスピーチ.
感動したのでマネして貼っておこう.

自分が愛する仕事に出会いたいです.
あと2年間,ものすごく大切にしないとな.

2009年3月17日火曜日

iPhotoからPicasaに写真をアップロード

できるみたいです♪

Picasa Web Albums Uploader for the Mac


いずれ使うだろうからメモメモ.
それにしても動画ってホントわかりやすいw
百聞は一見に如かずだ.

WindowsではPicasaを使っていたので,MacになってiPhotoとPicasaどっちを使おうかなーなんて思っていたんですけど,とりあえずiPhoto使ってみようかな.
ウェブアルバムをよく使うならPicasaいれちゃったほうが便利な気もするけど….

Macでショートカットキーにトラックパッドでの操作割り当て

をする便利なツールを友達に教えてもらいました!とにょ
その名はMultiClutch.
ダウンロードは以下のサイトから.

Download MultiClutch for Mac - Assign custom keyboard shortcuts in a given app to a given gesture. MacUpdate Mac System Software Downloads

とりあえず,firefoxでのタブ切り替え・ズームイン/アウトは,トラックパッド上での2指・3指での操作でできるようになって便利♪

ちなみに,firefoxでのショートカットキー一覧は以下のサイト.
キーボードショートカット
こんなにあったんだ…w

2009年3月16日月曜日

Macでsynergy1.3系を使いたい

Intel版のMacだとsynergy 1.3系はBus Errorでうまく起動できない模様.
そこで,前のバージョンの1.2.8をMacに入れてクライアント側として使ってみようとしたら,エラーもはかずに途中で固まる(*_*;)
 ーサーバであるLinunxに入れてるsynergyのバージョンが1.3.1でずれているせい??

そこで,
IntelMacでSynergy2を動かす
に載っているバイナリを利用させてもらった.

すると,クライアント側のオプションに-fつけてフォアグラウンドで動かすと順調に動くのに,デフォルトで起動するとうまく動かないっぽい?というか起動してない??
謎.
 ーサーバ側で「Address already in use」というエラーをはく.

別にsynergy動かしてるターミナル閉まっちゃえばいい話だけど.
元々MacBook Proのタッチパッド使いやすいからマウス使わなくてもいいんだけど.
でもクリップボードにコピーしたもの共有できるの便利だしな.

というぼやきでした.
解決してない話なのにブログに書くっていう(*_*;;)

2009年3月5日木曜日

周りのみんな,自分のこと

なんだか最近,やたら周りの人がすごく感じます.
…っというか実際すごい人だらけなのですがw

研究室の周りは,頭良くていろんなことに詳しくてプログラミングマスターばっかりだし,
(その中には学科の首席もいるしw)
もうすでに英語の論文書いてる人も何人かいるし,
T大の院に進む人もいるし,
なんだか自分の本を出した人もいるみたいだし…!!

高校の友達も,
法学院(っていうのかな?)決まった人もいるし,
会計士になった人もいるし,
医者になる人もいるし,
自分が行きたい会社に入れたってやる気満々の人も多い.

みんなめっちゃしっかりしてる.目指しているものがハッキリしてる.
すごくカッコいい.

…で,私は?
というと,目標が漠然としすぎてて,なにもない気がするww
成長している気がしない><

最近先輩が就活している姿とか,こういう周りのすごい人達の姿を見て,
やたら焦りを感じます.

けれど,焦っても何もいいことないからなってこの間やっと実感できたので,
マイペースに,今目の前にあることを1つ1つちゃんとやらなきゃなって思います.

周りがこういうすごい人達だらけなのは,
自分との差を感じて凹むこともあるけどw,
すごくいい刺激を受けて,私も頑張らなきゃ!!って気持ちになれるから
ありがたいことだなって思う♪
まだまだ甘いぞ~~自分(*_*;)!!
そう考えると,本当,私はつくづく友達や環境に恵まれている子だな~と思うので,
感謝!!!

今自分に良い影響を与えてくれている人達に感謝を忘れず,
自信と,心のゆとりを持てる大人になっていこうという気合の日記でした!笑

2009年2月8日日曜日

DBDesigner4 + MySQL5.0

データベースを作ろーっということで,ER図とかを可視化できるツールを!
と思い,早速評判の良いDBDesigner4をインストールして使ってみたところ…
MySQLと接続ができない!!!

ぐぐってみたところ,
「DBDesigner4からMySQL4.1以降に接続するとき、ユーザー・パスワードが正しいのに接続できない、という現象が起こることがあります。」

しかし,以下のページで解決可能でした!

参照ページ:
空想具現化プログラミング DBモデリングツールDBDesigner4の後継は?

私が接続できなかった原因はファイアーウォールのせいでした…
『システム > 管理 > ファイアーウォール』内の,その他のポートで,3306ポートを選択することで外部からの接続がOKになりました.

めでたしめでたし.

IPアドレスを固定にする(Fedora9ネットワークマネージャの罠)

DHCPの設定でインストールしてしまったため,固定のIPアドレスにしなくちゃと思い,
『システム > 管理 > ネットワーク』内の『デバイス』のeth0の情報を編集.
しかしこれが謎なことに,固定のIPアドレスをちゃんと設定してeth0をリスタートしても,ネットワークにつなげません.
(LANにはつなげるのに)

また,DHCPにしてるときでも,
『システム > 管理 > ネットワーク』内の『デバイス』のeth0の情報で,
『Network Managerで管理』のチェックを外していると,
-firefoxがオフラインモードで起動する
-『コンピュータ起動時にデバイスを起動』にチェックしてるのに,起動してくれない
という迷惑なことが起きるのです……

なんでなんで?

…と思ったら記事発見.
昨日は日本語入力できなーい!って悩んでたけど,これもバグだったんですねー

【重要】『Fedora9』について

というわけで,ネットワークマネージャをサヨウナラしたところ,あっさり動作してくれました.
それにしてもぐじゃぐじゃ悩んだ…><;
デフォルトゲートウェイ?ネットワークアドレス?ブロードキャストアドレス?
全用語を確認しなおして自分のネットワークに関する浅い知識を補う良い機会となりましたw

ちなみに,このネットワークの設定は,
/etc/sysconfig/network-scripts/ifcfg-eth0ファイルに記述されてるみたい.
だから,ここを書き換えるだけでもIPアドレスの設定などが可能でした.
(BOOTPRONTOの値をdhcpからstaticもしくはnoneに変えて,IPADDR・NETMASK・GATEWAYの3つの値を登録すればOK)

2009年1月15日木曜日

論文を書くときに気をつけること

せっかくだから,先輩に注意されたことをまとめておこうと.
当たり前のことかもしれないけれど,文章力のない私には必要.
(随時追加する)

・1文を短く分かりやすく

・「もの」を使わず具体的に.
比較対象なども分かりやすく.

・「〜が,〜」→「〜.しかし,〜」と2文に分けてシンプルに.
 ー「〜が,〜」は基本逆接だが順接にもとることができるため.

・主張→理由→例 の流れ
 ー「〜である.なぜなら〜.例えば,〜」がわかりやすい.

・アブストとイントロは実験のところ以外は未来形.まとめは過去形

・関連研究
背景はいらない.どのような手法で何を示したか.

・提案
抽象的→具体的

・実験
目的→手法→実験環境→結果→結論