2011年12月28日水曜日

MySQL5.5からの変更点

MySQLは、バージョン5.5から設定内容がいろいろ変更になっているので、気づいた(ググって各サイトから教えて頂いた)点をメモしていく。

文字コード設定
# MySQL-5.5 default-character-set --> character-set-server
character-set-server=utf8

2011年12月27日火曜日

CakePHPテーブル定義

$fields に定義するテーブルのフィールドとして使用可能な項目と意味 type CakePHP 内部の型。現在は、string (VARCHAR にマップ)、text (TEXT にマップ)、integer (INT にマップ)、float (FLOAT にマップ)、datetime (DATETIME にマップ)、timestamp (TIMESTAMP にマップ)、time (TIME にマップ)、date (DATE にマップ)、そして binary (BLOB にマップ) という型がサポートされています。 key 値を「primary」にセットすると、そのフィールドは AUTO_INCREMENT 属性になり、テーブルの主キーになります。 length フィールドの長さを設定します。 null true をセットすると NULL を許可、false だと NULL を許可しません。 default フィールドの初期値を定義します。

2011年12月25日日曜日

SSHによるリモート接続設定

いつも使っているのだが、ついつい忘れがちな設定方法をメモする。

sshdによるファイル転送を行うため、Linux(SVR)側で設定内容を確認する。

アクセスの制限
/etc/hosts.allow にアクセスを許可先を設定。
sshd: 127.0.0.1 192.168.0. 192.168.1.
/etc/hosts.deny にアクセスを拒否先を設定。
sshd: ALL
/etc/ssh/sshd_configの編集
#Port 22
#■ポート番号を変更しても良い 例) 2222等

#Protocol 2,1
#↓■SSH 2 のみ接続を許可
Protocol 2

#PermitRootLogin yes
#↓■rootでのログインを禁止
PermitRootLogin no

#↓■パスワード方式ログインで設定する場合、パスワードでのログインを許可
PasswordAuthentication yes
#↓■鍵方式ログインで設定する場合、パスワードでのログインを拒否 PasswordAuthentication no #↓■ 空パスワードの禁止 PermitEmptyPasswords no

【ログイン方式で鍵方式を設定した場合】 手順は下記の2通り考えられます。サーバーとクライアントが身近な(同一建物)場合は【手順1】で行い、ネットワークでの転送が必要な場合には、【手順2】が良いかも...
【手順1】でネットワークを経由で転送も方法を考慮すれば問題ないかもね。(キーをパスワード付きで圧縮して送り、パスワードは別手段で伝える)
ここでは、公開鍵・秘密鍵ともにデフォルトの値(名前)を使用して説明します。(鍵の生成時の名前(鍵名)は好きな名称をつけることが可能)
デフォルトでは、公開鍵(id_rsa.pub)・秘密鍵(id_rsa)になります。

【手順1】

  1. サーバーでログイン方法(sshd_confing)の設定を行う。
  2. サーバーでクライアントの秘密鍵と公開鍵のペアを作成する。
    ※作成された公開鍵は、~/.ssh/authorized_keys に追加する。
    ■authorized_keysがない場合
    $ cat ~/.ssh/id_rsa.pub > authorized_keys
    ■authorized_keysがある場合
    $ cat ~/.ssh/id_rsa.pub >> authorized_keys
    
    ※登録したら、作成した id_rsa.pub(公開鍵)は削除します。
    
  3. 作成された秘密鍵(id_rsa)をクライアント(PC)へコピーする。
  4. クライアント(PC)がSSHクライアントで公開鍵による認証を行うように設定する。
【手順2】
  1. クライアントで秘密鍵と公開鍵のペアを作成する。
  2. 作成した公開鍵をサーバーに登録する。
    登録先は、ユーザーディレクトリのauthorized_keysに鍵を追加。
    ※この時は、パスワード認証で鍵を送る。(または、別方法)
  3. SSHサーバーのログイン方法を公開鍵暗号でのログインに変更する。
  4. クライアント(PC)がSSHクライアントで公開鍵による認証を行うように設定する。

■鍵の作成方法
Linuxでの鍵の作成(Mac OS X Lion もほぼ同様です。)
$ ssh-keygen -t rsa
[hoge@hoge01 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ←そのまま[Enter]を押す。(鍵名と鍵の格納先フォルダ)
Created directory '/home/hoge/.ssh'.
Enter passphrase (empty for no passphrase): ←パスワードを入力
Enter same passphrase again: ←パスワードを再入力
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
b7:7b:f2:83:0b:da:6c:57:9a:51:93:4e:04:9a:b2:5f hoge@hoge01
[hoge@hoge01 ~]$

Windowsでの鍵の作成(WindowsXp TeraTerm Pro)
  1. TeraTermProを起動して、Cancelを選択して接続画面を閉じる。
  2. メニューの「設定」を選択して「SSH鍵の生成」を選択(クリック)します。
  3. 鍵の生成画面が開いたら(鍵:RSA、ビット数:2048)、そのまま「生成」ボタンを押します。
  4. 鍵の生成が完了すると「鍵を生成しました」と表示され、パスワードが入力可能の状態になります。
  5. パスワードを入力して「公開鍵の保存」を押す。
  6. パスワードを入力して「秘密鍵の保存」を押す。
上記で鍵を作成したら、秘密鍵はクライアントに保存し、公開鍵はサーバーのユーザー所定のディレクトリの authorized_keys に登録する。(なければ作成、あれば追記する。)

実際に確認してみると大した事ないのだが... (^_^)

2011年12月22日木曜日

テーブル定義情報をSQL文で出力したい。

 phpMyAdminで見れば良いだろうと言えばそうのだが、やはりSQL文で定義情報を確認および保存しておく事が必要(DBやテーブルの一括作成)な時も多々ある。

 CakePHPでschema.php に定義を追加する時なども必要になる。関連など後から作成した表が schema.php にない場合もあるので、定義情報を簡単に出力できるように確認しておくべきだ。

■MySQL では、下記の通りで対応できる。

■コマンド
[hogehoge@hoge]$ mysqldump -h[ホスト] -u[ユーザ名] -p[パスワード] -d [データベース名] [テーブル名]

■出力結果
CREATE TABLE `users` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) CHARACTER SET utf8 NOT NULL,
  `password` varchar(50) CHARACTER SET utf8 NOT NULL,
  `fullname` varchar(50) CHARACTER SET utf8 NOT NULL,
  `email` varchar(256) CHARACTER SET utf8 NOT NULL,
  `tel` varchar(20) CHARACTER SET utf8 NOT NULL,
  `memo` text CHARACTER SET utf8 NOT NULL,
  `created` datetime DEFAULT NULL,
  `updated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;

■オラクル(Oracle10g)では下記のコマンドになります。
■コマンド
set long 10000 (出力する文字数を指定…10000文字まで)
select dbms_metadata.get_ddl('TABLE','TABLE_NAME') from dual;

■出力結果(テーブル:users)
DBMS_METADATA.GET_DDL('TABLE','users')
--------------------------------------------------------------------------------

  CREATE TABLE "HOGE"."USERS"
   ( "ID" NUMBER(6,0),
 "USERNAME" VARCHAR2(50),
 "PASSWORD" VARCHAR2(50),
 "FULLNAME" VARCHAR2(50),
 "EMAIL" VARCHAR2(256),
 "TEL" VARCHAR2(20),
 "MEMO" VARCHAR2(512),
 "CREATED" DATE,
 "UPDATED" DATE,
  CONSTRAINT "USERS_PK" PRIMARY KEY ("ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"  ENABLE
   ) PCTFREE 20 PCTUSED 70 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 983040 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"

※上記は別ファイルの出力結果をMySQLのテーブルと項目名を揃えた編集版です。
 よって、領域の情報は元々のテーブルの値をそのまま表示しています。

2011年12月20日火曜日

SQLPLUS 備忘録

正しいSQL文なのに、SP2-0734 のエラーが発生する

分析関数やらを駆使してSQL文を作ると100行以上の長文になり、長い行は300文字以上になってしまう事もよくある。
その際には、行単位でインデントして少しでも見やすくしておくのだが、そのインデントの空白が徒になりエラーが発生するのがこの「SP2-0734」である。

■原因
一行が長い文に行頭インデントを行うための空白が実行時に空白行を生み出しているようである。

■解決策として下記のコマンドを使う
SET SQLBLANKLINES ON
このコマンドで空白行が除去されるため無事にSQL文が実行される。

エラー発生時のSQLPLUS画面

2011年12月17日土曜日

CakePHPによる実践Webアプリケーション開発

ログアウトがうまくいかない

 毎度の事ながら、書籍の通りにコーディングしてもうまくいかない機能が発生する。

 CakePHP初心者の私には、解決するのに時間がかかって困る。 (>_<)
 しかし、結果的には「CakePHPの辞典」やら別の実習書籍やらネットでググったりして少しづつ理解を深めていっているようだが... (・ ・?)

今回のお題はこちら...

action == 'add' || $this->action == 'edit') {
            $this->AppAuth->authenticate = $this->User;
        }
        if($this->User->findCount() == 0) {
            $this->AppAuth->allow('add');
            if($this->action != 'add') {
                $this->redirect('add');
                exit;
            }
        }
        return parent::beforeFilter();
    }
    function login() {
    }
    function logout() {
        clearCache('element_'.$this->AppAuth->user('id').'_action_menu', 'views', '');
        $this->redirect($this->AppAuth->logout());
    }
}
?>
 上記だけの抜粋での説明には無理があるかと思いますが、default.ctp にてログアウトを行うリンクを貼り、上記のlogoutが実施されるという手はずになていますが、ログアウトが行われない。
 ここで言う「ログアウトの成功」は、現在表示されている画面から「ログイン画面」に切り替わることを言います。もちろんセッション情報が解除(削除されていることは言うまでもなく前提条件になります。

 なかなか解決できずに困りググっていたところ「CakePHPによる実践Webアプリケーション開発」のサポート」サイトでログイン関連のスレッドがあったのでその内容を参考にさせてもらったところログアウトが実現できるようになりました。その方法は、下記のように beforeFilter() の先頭に $this->AppAuth->logout(); を追記するという内容です。

変更後の内容は下記のとおりです。
AppAuth->logout();
        if($this->action == 'add' || $this->action == 'edit') {
            $this->AppAuth->authenticate = $this->User;
        }
        if($this->User->findCount() == 0) {
            $this->AppAuth->allow('add');
            if($this->action != 'add') {
                $this->redirect('add');
                exit;
            }
        }
        return parent::beforeFilter();
    }

  ‥‥‥ 省略 ‥‥‥

}
?>

 上記の設定でログアウトはできるようになったが、ログアウト以外を選択してもログアウトされてしまう... 解決になってない。orz

ネットワークスペシャリスト試験 結果

 昨日、2011年10月16日に受験したネットワークスペシャリストの結果が発表された。試験勉強は試験直前に10日程度勉強したが、勉強不足と思いながら受験したが、試験内容は思っていたよりも簡単に感じ特に午後Ⅱについてはかなり上出来でした。これば結果が楽しみと考えていたら...

 なんと、結果は「不合格」という内容でした。

 試験ではOSPFやBGP-4の知識に不安があったのですが、実際の試験ではこの部分の割合が少なかったので「ヤッター」なんと心の中で喜んでいた次第でしたが、実際には午後Ⅱでなく、午後Ⅰで得点が 2点 足りずに不合格になっていました。

 まさかの午後Ⅰの得点不足で、午後Ⅱの出来を確認することも出来ず不戦敗のような感じです。
 結果は下記の通りで...

 この内容を戒めにして、今後は計画的に知識の吸収と確認を実施して合格を勝ち取ることにするぞ! (>_<)

2011年12月14日水曜日

ランニング不調だなぁ~

10月以降になってから、ランニングを中止(雨天等を含めて)する日が増加傾向にある。
 ここ数ヶ月は、「腰痛」やら「こむら返り」やらでどこかが痛んでいることが多いので少し天気が悪いとすぐ弱気になり危険(転ぶと)を意識してか、それとも深層心理でランニングを拒絶しているのか...orz

ここ数ヶ月では、下記のようにランニングを中止する日が増加している。
※気を引き締めねば...
・7月→1日
・8月→4日
・9月→1日
・10月→6日
・11月→10日
・12月→3日(12月14日までで)

この5年間では、多くても月に5日以内で推移していたのだが、先月と先々月はちょっと休み過ぎだったな...

ちなみに、10月10日から距離を延ばして6キロ強にした。
ランニング前には、腕立て伏せを30回、ランニング後には腿上げを250回と...鍛えているつもりなのだが...
最高タイム:29分01秒
目標タイムを28分台にしてみたが、未だ達成できず...orz
なんか、寒くなるにつれてタイムが出なくなってきている。
9月までは、5キロ強であったが、現在の5キロ強時点でのタイムと比較しても今よりも1分以上早く走れていた。9月までの調子なら6キロ強でも28分は楽勝と考えていたのだが...

とりあえず、28分を目標に頑張ろう!εε=ε=εε=┏( >_<)┛

2011年12月10日土曜日

Linux ファイルシステムの検査と修復について

 このLinuxマシンのディスクを交換してから初めておかしくなった。(このマシンでは初めてかも)  前回は、ディスク交換前のディスクでフリーズして再起動した際にディスクが修復できなくなった。
 現象としては、画面がブラックアウトしてキーボードやマウスを操作しても変化なし。しかし、ディスクランプや点灯しており、キーボードを打つと反応している風にも見えるが、画面は回復せず。
  ↓↓↓
仕方なくリセットボタンを押して再起動を実施する。
各種サーバー(DB・samba・httpd...)などが起動していので、案の定ジャーナルファイルの異常が表示され...

リセットボタンで強制終了させたので、再起動時にファイルシステムの検査と修復が行われているが、ふとファイルシステムのチェックについて確認をすることにした。

ファイルシステムのチェック

 ファイルシステムをチェックするには、対象のファイルシステムをアンマウントするか読み込み専用でマウントしておく必要がある。

fsck [-ANRTV] [-s] [-t fstype] device
オプション 内容
-s 複数のファイルシステムに対し、順を追って順々に処理する
-t tstype ファイルシステムを指定する
-A /etc/fstabに記述されているすべてのファイルシステムの検査と修復を行う
-N 実際には実行せず、実行内容だけを表示する
-R ルート・ファイルシステム以外の全てのファイルシステムの検査と修復を行う
-T 起動時にタイトルを表示しない
-V fsckから起動されるコマンドなどの詳細な情報を表示する
※ファイルシステムごと詳細に指定したい時には、下記のようなコマンドが用意されている。
 fsckは、実際にはファイルシステムごとに用意された下記コマンドのフロントエンドになっている。
 e2fsck(ext2/ext3)
 reiserfsck(reiserFS)
 xfs_check(XFS)

起動時に fsck が実行されるタイミングについて

【/etc/fstab】

LABEL=/                 /                       ext3    defaults        1 1
LABEL=/tmp              /tmp                    ext3    defaults        1 2
LABEL=/var              /var                    ext3    defaults        1 2
LABEL=/var/log          /var/log                ext3    defaults        1 2
LABEL=/usr              /usr                    ext3    defaults        1 2
LABEL=/usr/local        /usr/local              ext3    defaults        1 2
LABEL=/home             /home                   ext3    defaults        1 2
LABEL=/opt              /opt                    ext3    defaults        1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-hda12        swap                    swap    defaults        0 0
  • [フィールド1]
    マウントするブロックデバイスを記述します。 (/dev/sda1など)
  • [フィールド2]
    マウントポイント (/bootなど)
  • [フィールド 3]
    ファイルシステムのタイプ (ext3, nfs など)
  • [フィールド 4]
    マウントオプション (defaultsなど nfsの場合はnfs(5)を参照)
  • [フィールド 5]
    dumpコマンドの実行対象とするかどうか。不要の場合には0を指定。
  • [フィールド 6]
    システム起動時にfsckチェックする順番。ルートファイルシステムは必ず1にしてください。fsckチェックをしない場合は0を設定します。通常はルートファイルシステムに1、それ以外を2にします。

2011年12月6日火曜日

肩こり

先週から左肩の肩こりがする。先週は、ランニング中にも左肩から左腕が重痛いような感じでとても走りづらかった。
まくらの高さのせいかと思い、高さをを変えてところ先週末からかなり治まってきたが、また一昨日から発症してきた。
まくらのせいではなく、寝相が悪いのかも...
寝ている間に変な体勢になっているのかもしれない...
しかし、これだと対応のしようがないなぁ〜(ーー;)

2011年12月5日月曜日

CakePHPによる実践Webアプリケーション開発

何度も記載しているが、書籍の通りに記述しても実行できない箇所が多数あり、なかなか最後までたどり着けない。
 サポートのサイトを閲覧しても、こちらの疑問箇所はひとつだけ掲載されていたが、その内容はあくまでもcakephp1.2のみに通用する内容のようで、cakephp1.3以降で試す場合は、多数の箇所で問題にブチあたります。
 私と同じような内容で悩む方の助けになれば幸いですが...

関連(HABTM)を検索(find)する部分が動かない件について

書籍(CakePHPによる実践Webアプリケーション開発)では、下記のようにHABTMを検索するように記載されていましたが、エラーになってしまいます。

$user_ids = $this->Group->Belong->find('list', array(
        'conditions'=>array('Belong.group_id'=>$group_id), 
        'fields'=>array('Belong.user_id','Belong.user_id'), 
        'group'=>'Belong.user_id'));
エラー内容(habtmを検索できない)
Notice (8): Undefined property: Group::$Belong [APP/controllers/schedules_controller.php, line xx]

Fatal error: Call to a member function find() on a non-object in /var/www/cakephp/calendarnote/controllers/schedules_controller.php on line xx 
上記のようにエラーになるなので、habtmの関連モデル(Belog)を検索するように変更した。
$this->Group->Belong->find
$this->Belong->find
$user_ids = $this->Belong->find('list', array(
        'conditions'=>array('Belong.group_id'=>$group_id), 
        'fields'=>array('Belong.user_id','Belong.user_id'), 
        'group'=>'Belong.user_id'));
上記の変更で、無事に検索したいデータが検索されるようになった。
めでたし、めでたし...ヘ(ё_ё)ノ\ ワーイ

2011年11月29日火曜日

CakePHPによる実践Webアプリケーション開発

バージョンによる違いで時間を浪費

書籍では1.2の環境で行われているため、バージョンの違いによる変更箇所で時間を浪費する。
書籍とおりに行ってみて動かない場合は、ほぼバージョンアップによる変更があった機能である。(※しかし、コーディングミスもままあるけど..「('ヘ`;\ )

Html->link()

(1.2)
 $html->link($title, $url, $htmlAttributes, $confirmMessage, $escapeTitle)
   ↓
(1.3)
 $html->link($title, $url, $options, $confirmMessage)
上記のように変更になった。

リンクの付いた画像をHtmlヘルパーで表示する方法も下記のような変わる。
(1.2)
 $html->link($html->image('sample.png'),array('action' => 'hoge'), null, null, false);
 ※1.2では、linkの内容でimgのようなhtmlタグを出力する場合は、5つ目のパラメータをfalseにする。
   ↓
(1.3)
 $html->link($html->image('sample.png'), $url, array('escape' => false));
 ※1.3では、$options['escape']のようにしてエスケープしてimgタグを出力する。

2011年11月27日日曜日

CakePHPによる実践Webアプリケーション開発

CAKEPHP 1.3.11
下記の実行部分でエラーになってしまい対応できないでいた。
$session->flash();
$session->flash('auth');
↓ app_controller.phpで下記を設定することで解決した。
var $helpers = array('Session');
上記の解決に至ったのは、下記のサイトのおかげです。
http://stackoverflow.com/questions/8165192/cakephp-2-0-3-fatal-error-flash-on-object

内容は下記のとおりです。
Make sure you've added the Session helper to your public $helpers array.
class SomethingsController extends AppController {
    public $helpers = array('Session');
}
Or you could add it to a global AppController so that the Session helper is available to all controllers.
class AppController extends Controller {
    public $helpers = array('Session');
}
ネットで調べても日本語サイトの解決策がなかなかでてこないのでないので、仕方なく海外のサイトを確認して解決に至りました。

きっと、こんな簡単な内容はあまりネットに掲載しないのかなぁ...

cakephp 初心者の私には、大変助かりました。

2011年11月15日火曜日

Oracle の制約名を確認する。

Oracleの制約名を確認するには、user_constraints を検索(SELECT)すれば良いのだが、いつも困るのはsql worksheet(またはsqlplus)等で検索すると3番目の項目名欄が1文字しか表示されないので、3番目の項目で選択する際に項目名がわからずに困ってしまう。
3番目の項目名は、CONSTRAINT_TYPE列です。 C しか表示されないので困ってします。
この列は、下記のような値になっています。

  • C(表でのチェック制約)
  • P(主キー)
  • U(一意のキー)
  • R(参照整合性)
  • V(ビューでのチェック・オプション付き)
  • O(ビューで読取り専用)

2011年11月1日火曜日

CakePHPによる実践Webアプリケーション開発

書籍の内容と実際では異なる件について書き留めます。

■データソースからデータを検索

条件を満たすデータ件数を取得する。
(1.1 1.2 まで)
$this->User->findCount()
  ↓(下記のようになる)
(1.3以降)
$this->User->find('count')
※コマンドの詳細についてはマニュアルを参照して下さい。

■ログイン認証について

Authコンポーネントの利用条件
DIVでのレイアウト確認を行っています。 テスト

すべてをまとめて掲載しようと思っていたが、思うように時間が取れなかったり、cakephpが未熟なため思うように捗らなかったりするので、都度掲載していくようにする。

CakePHPによる実践Webアプリケーション開発

マシントラブルによる再インストールや繁忙な日々が続いていたため、すっかりCakePHPをご無沙汰してしまったので、再度「CakePHPによる実践Webアプリケーション開発」を学習して悩んだ点を書き綴ります。

名前付きパラメータ

以前、途中まで行ったのである程度は理解しているが、この書籍のが間違っているのか? それともCakePHPにのバージョン違い(書籍では1.2、現在は1.3.11が安定版・・・2.0もリリースされてますね。)のせいなのか、思い通りに動作しない点がいくつからあり困惑する。
書籍では、:id という名前付きパラメータをフル活用されているが、バージョン1.3では :id はデフォルトの名前付きパラメータではないため思い通りの動作が実現しない。もしかするとRoutesを設定すると可能なのかもしれないが、Routesを自由に扱えるような上級者でもないので、:id を無視してソースを変更して対応する。
(変更前)
$out = $this->Html->link($out, array('action'=>'edit', 'id'=>$schedule['Schedule']['id']));
      ↓
(変更後) 
$out = $this->Html->link($out, array('action'=>'edit', $schedule['Schedule']['id']));
というように変更して対応しました。
「CakePHPによる実践Webアプリケーション開発」のサポートサイトにも上記の件の問い合わせがありましたが、筆者はデフォルトで使用できるとの旨の解答でした。(バージョンの違いについては言及されていなかったためなのかなぁ?)

ほかにも悩んだ点がありますが、ボチボチと掲載していきます。

2011年10月29日土曜日

OSX Lion 前回起動したソフトが勝手に起動する?(2)

前回記載後にもう一箇所気になる点がありましたが、アップするのが遅くなってしまいました。

内容は、PCをログアウトもしくは再起動・シャットダウンさせる時に表示され画面についてです。既に誰もお気づきの事とは思いますが、私はこの画面に表示されているを特に気にせず対応していました。

上記の画面で。「再ログイン時にウィンドウを再度開く」にチェックがされているとログオフ前に開いていたアプリが再度開かれます。
しかし、きちんとアプリを終了させていれば「再ログイン時にウィンドウを再度開く」にチェックをしていても開かれることはないようです。

Apple Magic Mouse の電池蓋は敏感?

以前から悩まされていることなんだけど、Apple Magic Mouse を少し強く机に押したり、または2〜3センチくらいから落としたりしてもマウスの裏の電池のふた(蓋)が外れてしまうことがある。 (>_<)

丁寧に扱えば良いだけの話ではあるのだが、さほど粗雑に扱ってもいないのに電池の蓋が外れのが面倒でテープ等で止めたい衝動に駆られてしまう。

しかし、そんな事をしたらたとえ裏側と言っても折角の良いスタイルが台無しになってしまうと思い実行できない。

2011年9月23日金曜日

OSX Lion 前回起動したソフトが勝手に起動する?

OSX Lion にバージョンアップする前はなかったのだが、前回シャットダウン(ログオフ)する時に起動させたソフトが勝ってに起動しているように感じる。 (>_<)

下記の2つを確認してみた。
※実は、2番目の件がなかなか気がつかなくググってわかった。

    システム環境設定
  • 【ユーザーとグループ】の「ログイン項目」
  • 【一般】の「アプリケーションを終了して再度開く時にウィンドウを復元

ユーザーとグループ】の「ログイン項目」

この設定は、起動に時間のかかるソフトや常時起動(バックグラウンドで動作)するようなソフトの起動設定を行う画面である。

しかし、残念ながらここでは解決できなかった。
そもそも勝ってに起動されるソフトが登録されていなかった。

【一般】の「アプリケーションを終了して再度開く時にウィンドウを復元」

「アプリケーションを終了して再度開く時にウィンドウを復元」にチェックが入っていたのを解除したら、前回起動したソフトが勝手に起動されなくなりました。
 このような設定があった事に今まで気づかなかった。 (>_<)

2011年8月23日火曜日

Oracle 大容量データインポート時のUNDO表領域・TEMP表領域不足によるエラー対応

データをベースを再インストールするたびに忘れがちな、「大容量データインポート時のUNDO表領域・TEMP表領域不足によるエラー対応」について書き留めておきます。

結論からすると、大した事ではないのですがつい忘れてしまうオプションです。

IMPコマンドに下記のオプションを設定する。
COMMIT=Y

2011年8月19日金曜日

VNCSERVERの設定(備忘録)

再インストールになってしまったため、VNCもまた設定しなければならない。 しかし、年に何度も設定する訳ではないのでどうしても忘れてしまう。('ヘ`;まいったなぁ..\ 年のせいかなぁ。

なので、いつも行う設定はブログに書き留めておくことにした。

設定する内容
  1. VNCSERVERのインストール
  2. /etc/services にvncを追加
  3. /etc/xinetd.d/vncserver を作成
  4. xinetd を再起動
  5. セキュリティレベルとファイアウォールの設定
    (iptableの設定)/li>

VNCSERVERのインストール

CENTOSでも最新版では、通常のインストール時に選択しておけばインストールされる。仮りに、インストールされていなかったとしても、インストールすれば良い。

yum install vnc vnc-server


/etc/services にvncを追加

# Local services
vnc 5901/tcp # VNC SERVER


/etc/xinetd.d/vncserver を作成

service vnc
{
   socket_type     = stream
   wait            = no
   user            = nobody
   server          = /usr/bin/Xvnc
   server_args     = -inetd -query localhost -once -geometry 1024x640 -depth 16 -SecurityTypes None
   log_on_failure  += USERID
   disable         = no
}


設定したら、xinetd(スーパーサーバ)を再起動する。

[root@hoge ~]# service xinetd restart
xinetd を停止中:                                           [  OK  ]
xinetd を起動中:                                           [  OK  ]
[root@ora02 ~]# 


セキュリティレベルとファイアウォールの設定
(iptableの設定)
下記の画面でVNCで利用するポート番号を設定する。

コマンドでiptablesを設定する場合は、vncserverのポートを開ける。例えば、192.168.1.0/24にアクセスを許可する場合は次のようにする。

■設定する内容。
[root@hoge ~]# iptables -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT 
  ↓(実際は、定義に挿入するので -I(insert)オプションで設定
[root@hoge ~]# iptables -I RH-Firewall-1-INPUT 18 -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT 

■ -I オプションを行うために事前に下記のコマンドで行番号を確認する
[root@hoge ~]# iptables -L --line-bumber

■設定後下記のコマンドで確認。
[root@hoge ~]# iptables-save 

■設定ファイルに反映さえる。(事前に変更前のバックアップを取ることを勧めます)
[root@hoge ~]# iptables-save > /etc/sysconfig/iptables
 または、
[root@hoge ~]# service iptables save

■iptablesを再起動する。
[root@hoge ~]# service iptables restart

2011年8月16日火曜日

Apple Magic Mouse 交換してもらえた!

昨日、Apple Magic Mouse を修理に持ち込もうと一応購入元の修理受付(ヨドバシの修理)に電話したら、「購入店舗に持って行けば修理受付してくれる」との事。しかし、ネットだとアップルストアに持ち込むような感じがしたが、とりあえずヨドバシアキバへ GO!

ヨドバシに着き、早速店員さんにお願いするとなんと「Apple製品の修理受付はヨドバシでは行っていないので、お近くのアップルストアへ」と言われ愕然 ◇\(;_;)/◇ 

一応、なぜここに来たかの経緯(電話でヨドバシの修理センタで言われた)を説明したところ、少し待たされてから...

なんと、新品に交換してもらえた。

「修理センターの担当者の間違いなので交換でお許し下さい。」と...

流石 ヨドバシ やるなぁ〜 と思わず感心してしまった。

ここの中では、はてさて どこのアップルストアへ向かうかと考えていたところだった。(そう言えば、家の近所のケーズデンキの中にアップルストアが出来た事を思い出し、なんてアホな! と自己嫌悪に陥りそうになっていたところだった)

以前も似たような対応を受けた事があり、益々ヨドバシが気に入ってしまった。

ヨドバシはサービスが良いぞ!

2011年8月11日木曜日

Apple Magic Mouse 故障 ?!

昨日、突然マウス(Apple Magic Mouse)が動かなくなった。
いつものように、電池が切れたのか(またかよ)と思いながら電池を交換したが...
なんで〜... 動かないじゃないか?
電池がおかしいのか? と思い別の新品の電池と交換してもやはり動かない。

なんか変だな〜、と思いマウスの設定や動作確認をすると Bluetooth にもしっかりと認識されており、マウスのクリックやスワイプも動作するが、マウスカーソルだけが動かない状況だった。

ネットで同様の現象がないか検索すると早速発見!。
やはり、Magic Mouse のレンズ部分が汚れもしくは故障のようだ。
汚れの場合は、エアーやレンズクリーナー用の布で清掃することで解消されるとのようだが、我輩の Magic Mouse のカーソルは一向に動いてくれなかった。

修理に出すしかないようだ...
週末にでも修理にだすか... (/_;)

2011年7月26日火曜日

VirtualHostの設定ミス

httpd.conf を変更(書き直し)していたら、apache の起動時に下記のエラーが発生。(オヨヨ)

[root@hogehoge ~]# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: [Tue Jul xx hh:mm:ss YYYY] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
 
httpd.conf に設定ミス(漏れ)があった。
NameVirtualHost *:80
設定を追加(コメントを解除)して完了!(OK!)

CAKEPHP でそのまま実行すると下記のようにエラーになる。(いつも事だな。)

Release Notes for CakePHP 1.3.10.
Read the changelog

Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 684]

Warning: touch() [http://php.net/function.touch]: Utime failed: Permission denied in /var/www/cakephp-1.3.10/cake/libs/file.php on line 125

Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE/cake/libs/debugger.php, line 688]

URL rewriting is not properly configured on your server.

    Help me configure it
    I don't / can't use URL rewriting

Your tmp directory is writable.

The FileEngine is being used for caching. To change the config edit APP/config/core.php

Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
saltの変更を促す警告
Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 684]
(変更箇所)
/**
 * A random string used in security hashing methods.
 */
 Configure::write('Security.salt', '****************************************');
Security.saltに設定する値は、mkpasswd で作成するのが便利。
mkpasswd -l 40
※mkpasswd は、ecpectパッケージに含まれています。


cipherSeed 値の変更を促される。
セキュリティ強化のため、今回の cakephp-1.3.10 あたりで追加されたらしい。
Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE/cake/libs/debugger.php, line 688]
(変更箇所)
/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
 Configure::write('Security.cipherSeed', '******************************');

Security.cipherSeedに設定する値も mkpasswd で作成するのが便利。
mkpasswd -l 30 -c 0 -d 30 -C 0 -s 0


mod_rewiteの設定に問題あり?
URL rewriting is not properly configured on your server.
バーチャルホストの設定で、下記のディレクティブを設定。
    
        Options FollowSymLinks
        AllowOverride All
    
ようやく無事に初期画面が表示されたぜ。
※データベースの設定はまだだけどね。

PHP5.3 タイムゾーン エラー?

ディスクがクラッシュして再インストールしているが、CAKEPHP(1.3.10)を実行しようとすると下記のエラーが発生。

Warning (2): strtotime() [http://php.net/function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead [CORE/cake/libs/cache.php, line 597]

Notice: Trying to get property of non-object in /var/www/html/cakephp/cake/libs/cache/file.php on line 248 Fatal error: Call to a member function cd() on a non-object in /var/www/html/cakephp/cake/libs/cache/file.php on line 248 
今回は PHP5.3 をインストールしてしたが、PHPの設定タイムゾーンの設定が必要なようだ。(いつの間に r(?_?);)
変更前 PHP.ini
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
;date.timezone =
変更後 PHP.ini
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = Asia/Tokyo

2011年7月23日土曜日

SELinux でつまずく

ファイルおよびフォルダに設定されいるタイプの詳細を確認しようと考え、seedit-gui をインストールして seed-init を実行する。しかし、これがいけなかったようだ。seed-init 実行後に再起動をしたら起動できなかった。

とりあえず、boot時にselinuxを無効にして起動をさせた。

boot時に selinuxを無効にする。
起動時に F2 を押し boot オプションを選択する。

title Turbolinux
kernel (hd0,0)/boot/vmlinuz root=0802 selinux=0
initrd (hd0,0)/boot/initrd

Gnomeがハング?

Gnomeテキスト・エディタでテキストファイルを開こうしたら、ファイルは開いたが「既に開かれているので修正できない」主旨のメッセージが表示された(強制修正は可能)。

画面を見る限り別ウィンドぅでも開いていないので、とりあえずろ「ログオフ」してから再ログインしようとしたらログオフされない。

しばし待機したがログオフされないので、シャットダウンでもするかと思ったがキーがきかなかった。
マウスは動くが、何も選択できない。

何か対策はと思い、X Window を終了させれば良いのだと考え、下記を実施した。

[Ctrl]+[Alt]+[BS]

上記でX サーバーが終了する。特に重要なプロセスも動かしていないので、実行し、ログイン画面に復帰。

ディスク故障で痛い目にあっているので、リセットボタンや電源ボタンによる不用意な再起動は避けねば...

2011年7月20日水曜日

Mysqlの設定

Mysqlの uid gid を何番にしたらよいか...
とりあえず、登録されているユーザーを uid 順に並べて確認する。

[root@ora02 ~]# awk -F":" '{print $3 " " $1}' /etc/passwd | sort -n
0 root
1 bin
2 daemon
Apacheはシステム用の予約済(固定) UID/GID 一覧にあるが、MySQLはなかった。

Yumからインストールすると uid gid ともに 27 であった。

MySQL5.5をインストール

CENTOS(5.6)の通常のリポジトリからだとMySQL5.0になっていまいます。CENTOEはすべてにおいてバージョンがかなり遅れているので、できるだけ最新版を使うには最新版をソースから新ストールするかパッケージにされたリポジトリを探し出します。(実際、いろいろな方がパッケージにしてくれている)

今回は、remi-testリポジトリからインストールします。

コマンドから yum でインストールするか GUI(Yum Extender)からインストールを行います。
以前は、いつもコマンドからyumで行っていましたが、UI(Yum Extender)を知ってからはほとんどGUIで対応しています。 GUIのほうが、多数のリポジトリを指定し特定のリポジトリのものを指定してインストールできるから大変便利です。

データベースの格納先を変更する

yumでインストールとすると、ユーザー:mysql のホームディレクトリが /var/lib/mysql に設定されます。
データベースの格納先を別の場所にしたいので、mysql のホームディレクトリを変更し、my.cnf でデータベースの格納先も合わせて変更することにします。

mysqlのホームディレクトリの変更先のディレクトリを作成。
mkdir /opt/mysql

ディレクトリのユーザ:グループの設定
chown mysql:mysql /opt/mysql
※アクセス権は 755

セキュリティコンテキストの設定
chcon system_u:object_r:mysqld_db_t /opt/mysql
   ↓下記に変更
chcon -R --reference=/var/lib/mysql /opt/mysql

2011年7月19日火曜日

バーチャルホストの設定

http.confを編集してバーチャルホストの設定ファイル(httpd-vhosts.conf)を読み込むように設定する。

httpd-vhosts.conf
# Virtual hosts
Include conf.d/httpd-vhosts.conf
※redhat系でない場合は、/etc/httpd/extra/httpd-vhosts.confに書くようだ。
httpd-vhosts.conf
# www.hogehoge.org
<VirtualHost *:80>
    DocumentRoot /var/www/vhosts/hogehoge
    ServerName www.hogehoge.org
    ServerAlias hogehoge.org
    ErrorLog logs/hogehoge.org-error_log
    CustomLog logs/hogehoge.org-access_log combined
</VirtualHost>
http://www.hogehoge.org にアクセスしたときに /var/www/vhosts/hogehoge/ ディレクトリのファイルを表示する。エイリアスとして www なしの http://hogehoge.org/ でも同じ設定を使うようになっています。また、ログも分けて出力する。

バーチャルホストが多数ある場合

バーチャルホストの設定が多数あるときは、それぞれのサイト毎にファイルを分けた方が管理し易いと思います。その場合は、下記のように設定すると良いかも。

httpd-vhosts.conf
# Virtual hosts
Include conf.d/vhosts/*.conf
上記のように、conf.d/vhosts/*.conf を読み込むように設定しドメイン事に hogehoge.org.conf や hogehoge2.org.conf などのファイルを作っていきます。
hogehoge.org.conf
# www.hogehoge2.org
<VirtualHost *:80>
    DocumentRoot /var/www/vhosts/hogehoge2
    ServerName hogehoge2.net
    ServerAlias www.hogehoge2.net
    AddDefaultCharset euc-jp
    <Directory "/var/www/vhosts/hogehoge2">
      Options Includes ExecCGI FollowSymLinks MultiViews
      php_value mbstring.language Japanese
      php_value mbstring.internal_encoding EUC-JP
      php_value mbstring.http_input auto
      php_value mbstring.http_output EUC-JP
    </Directory>
</VirtualHost>
上記は、www.hogehoge2.org をEUC-JPで稼動させ,PHPの内部コード(internal_encoding)と出力(http_output)もEUC-JPに設定している。

しかし、再インストールは面倒ですなぁ〜 (/_;)
※ディスクが故障し交換のため、すべて再インストールになった哀れな者

2011年7月17日日曜日

GnomeからFirefoxが起動しない!?

Firefoxを 3.6 系から 5.0.1 にバージョンアップをしたが、再起動後にGnome端末からFirefoxが起動しない。

コマンドラインから入力して確認すると下記のエラーが発生。
Cannot find Firefox runtime directory. Exiting.
なんてことなく、解決。
/usr/bin に直接スクリプト(firefox)をコピーしてしまったのを、新バージョン(5.0.1)のリンクを登録することで解決した。

2011年7月14日木曜日

Linux版(firefox) Evernote Web Clipper が動かなくなった。

ディスクが故障して再インストールを余儀なくされたマシンが、再インストール後にEvernote Web Clipper が動かなくなった。WindowsXp版のFirefoxでは以前にも経験し、奮闘の結果復旧を遂げることができた(コメントを頂いた方のアドバイスもあり)が、今度はLinux版かよ....

CENTOS5.6をインストールしたので、Firefoxのバージョンは3.6代とかなり古い(しかし、故障前はこのバージョンで動作していた)ので、念のため最新版である 5.0.1 をインストールしてみたがやはりダメであった。 (/_;)(泣)

また、時間がある時に奮闘努力をすることになってしまった。(泣)

2011年7月10日日曜日

Linux 再インストール

ディスクが故障したため、仕方なく再インストールすることになった。
 3日間ほど故障からの復帰にトライを続けたが、テキストモードまでの起動にはこぎつけたが、残念ながら肝心のデータが保存されているパーティションにアクセスできなかった。
 故障で起動しなくなる2週間前あたりから、SELinux Troubleshooter からのメッセージが発生しているアイコンが表示されていたが、内容を確認しないままでいてしまった。また、その他にもシステムログ等を確認していなかった... なんてこった。(ーー;)

    【交換したディスクの内容】
  • 故障HDD:Western Digital 500GB  5400rpm
  • 新HDD  :Buffalo          1TGB  7200rpm

故障したディスクの復旧・検証用

故障したディスクの復旧・検証を行うためにハードディスクをUSBを直付けできる変換ケーブルを購入する。今までは、今回も行ったようにCD起動のLinuxである Knoppix でデータの復旧(取り出し)を行い、Knoppix で出来ない場合は諦めていた。
他にも故障したマシンがあり(電源)、こちらのディスクも検証・復旧したいので調べていたら、面白いケーブルがあったので、早速購入して試して見ることにした。

リポジトリの追加

RPMForge・DAG・EPELを追加する。

base CentOS 5.0のベース
updates CentOS 5.0のアップデート
addons CentOS 5.0のアドオン
extras CentOS 5.0の追加パッケージ(addonsとの切り分けが今ひとつ不明)
centosplus CentOS 5.0の拡張パッケージ(デフォルトではOff)
epel Extra Packages for Enterprise Linux(EPEL) FedoraExtraなどでは提供されているものがある
dag Dag、Red Hat Enterprise Linux向け。パッケージの種類は豊富
rpmforge Dag 氏を含む何名かのメンバーが中心になりメンテナンスを行っているようです。

smb 設定

■/etc/services の設定
(下記の設定がない場合は追記する。) netbios-ssn 139/tcp
netbios-ns 137/udp
■samba-swatのインストール
[root@centos ~]# yum -y install samba-swat ← SWATインストール
■swat設定
[root@centos ~]# vi /etc/xinetd.d/swat ← xinetd用SWAT設定ファイル編集 service swat
{
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1 192.168.1.0/24 ← 追加(内部ネットワークアドレス)
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = yes
}

とりあえず、ファイルサーバーとしての機能を優先して復旧させた。

実際は、sambaの設定でつまずき時間を要してしまった。(SELinuxがらみ)この対応については、後日掲載します。
※SELinuxには、まだまだ未熟なようでやたらつまずく。 (_ _ ;)尸 マイリマシタ…

2011年6月28日火曜日

【CakePHP】でNoticeエラーを表示させない

http://blog.livedoor.jp/loopus/archives/50214277.html

CakePHPで開発を行っているときは、app/config/core.php にて debug を1もしくは2に設定すると思います。
しかし、それだと Notice が発生した場合にも表示されてしまいます。
php.ini でNoticeを出さないように設定しても、Cakeは親切なので? きっちりNoticeを表示してくれます。

本来はNoticeを表示させないようなプログラムを書くのが望ましいですが、どうしてもという場合の解決方法をお教えします。

cake/libs/configure.php の修正

cake/libs/configure.php の273行目あたりを以下のように修正し、強制的にE_ALLにされるのを回避する。
if (isset($config['debug'])) {
if ($_this->debug) {
// error_reporting(E_ALL);
cake/libs/debugger.php の修正
cake/libs/debugger.php の193行目あたりを修正し、E_NOTICEが表示される時にハンドリングされないようにする。
$level = LOG_DEBUG;
switch ($code) {
case E_PARSE:
case E_ERROR:
case E_CORE_ERROR:
case E_COMPILE_ERROR:
case E_USER_ERROR:
$error = 'Fatal Error';
$level = LOG_ERROR;
break;
case E_WARNING:
case E_USER_WARNING:
case E_COMPILE_WARNING:
case E_RECOVERABLE_ERROR:
$error = 'Warning';
$level = LOG_WARNING;
break;
/* case E_NOTICE:
case E_USER_NOTICE:
$error = 'Notice';
$level = LOG_NOTICE;
break;*/


これで、debugを有効にしてもNoticeを表示しなくなる。

CakePHPによる実践Webアプリケーション開発

随分と記載するのが遅くなってしまったが、「CakePHPによる実践Webアプリケーション開発」でCakePHPを学習していて戸惑った件を記載します。まだ、勉強中の身ですが...

『CakePHPによる実践Webアプリケーション開発』を書籍通りに入力しても登録した予定の表示は問題ないが、表示された一覧(月・週)から指定の日付を選択しても別の日付が表示されてしまう。

『なんで指定した日が表示できないんだ?』
と思いデバッグ(変数を表示させる)を進めていくとカレンダーの一覧表示を選択した日付を受け取る部分で『年』が正しく受け取れていない。という現象になっている。

もしかしたら、何か設定に問題があるのかと思いいろいろ調べたが、わからないのでプログラムを直接修正して対応した。
   ↓
【AppFolder】/controllers/components/calendar.php
11行目を下記のように修正。
$from_time = mktime(0,0,0,$month,1 - date('w', $firstday), $year);
   ↓
$from_time = mktime(0,0,0,$month,1 - date('w', $firstday), date('Y'));

本来は、ここではなくココを呼び出す部分である schedules_controller.php で対応するべきなのかと思い controller 部分をデバッグしたように思うが(しなかったのかな?).....
結局は、とりあえず早く先に進みたいという事で components の calendar.php を修正してしまった。
よかったのかなぁ? ... 後で再度確認するかなぁ〜 (不安)

2011年6月15日水曜日

Eclipseの起動時に「eclipse faild to create the java virtual machine」 エラー

Oracle SQLDeveloper 等のJava系ツールと同じ様な感じのエラーなのかと思いや、ある意味では似ている現象であった。

起動対応と日本語化で下記の3行を eclipse.ini 追加した。
【起動対応】
-vm
C:/Program Files/Java/jdk1.6.0_24/bin/javaw.exe

【日本語化】
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.modeling.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vm
C:/Program Files/Java/jdk1.6.0_24/bin/javaw.exe
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

2011年5月29日日曜日

Oracle SQL Developer 奮闘録(続)・・・一部解決

Oracle SQL Developer 3.0 で無事に Oracle10g、Oracle11gに接続できるようになった。

SQLDeveloper1.5 と SQLDeveloper2 以降では、接続の設定方法が違っていることに気づかなかった。というか、この設定が本当に正しいのか少し疑問に感じてしまっているが...

SQLDeveloper2 以降では、現時点では残念ながら「接続タイプ:TNS」でしか接続できない。
TNSでの接続の設定が自動的に表示される別名(tnsnames.ora)を選択しても接続できず、接続識別子で識別名(tnsnames.oraで定義している識別名・・・要するに別名)を入力すると問題なく接続ができた。
また、SQLDataModelerでは、JDBC ODBC Bridgeでの接続はできたので、同じようにJDBC ODBC でも接続は可能ではと思います。

設定にあたっての注意点

SQLDeveloper1.5は、Oracle9i および 10g のクライアント環境があれば動作するが、SQLDeveloper2.1 および SQLDeveloper3.0 を動作させるには、Oracle11g のクライアント環境が必要になります。また、javaのバージョンについても差異がありますが、OTNからJavaJDKを含んだクライアント環境をインストールすれば問題ないですが、それぞれに必要な java 環境へのパスが適切に通っている必要があります。(当然ながらパスの先に出現する環境が利用されます)

SQLDeveloper1.5 での設定内容

SQLDeveloper3.0 での設定内容

2011年5月26日木曜日

Bloggerがログインできない

LinuxのFirefox でBloggerにログインできないという現象が発生した。 他のPCのFirefoxやSafariでは問題なくログインができた。

ググってみたら、「キャッシュとクッキーを消去する」と解決するという内容をみて早速実行したところ、問題なくログインできるようになった。

2011年5月24日火曜日

ORA-12518

最近またもや「ORA-12518: TNS: リスナーはクライアント接続をハンドオフできませんでした」のエラーが頻発するようになった。

以前にも発生した事があったが、少し時間を置くを発生しなかったりしたので放置していた。 エラーの原因は、メモリにあることは感じていたがこの機会にスッキリと解決に向けて努力することとした。 発生するマシンは、Macbook PRO のBootCamp にインストールした Oracle10g です。

現象としては、ウィンドウズのコマンドから sqlplus での接続は問題なく接続できるが、sqlworksheet や OEM や クライアントアプリケーションから OracleDB(10g)に接続にいくとエラーが発生するという現象である。

  • コマンドからのSQLPLUSでの接続 → 問題ない
  • Windowsアプリケーションからの Oracle DB への接続 → エラーが発生する。

いろいろと調べた結果、通常 ORA-12518 が発生する場合は、Oracleの仮想メモリが2GBを超えた場合に発生する。(Windows 4GT参照)

しかし、私のマシンで発生している原因は上記の問題ではなく、hostsの設定によるものであった。
  ↓
テスト用にノートPCにOracle10gをインストールしているが、使用する無線LANによるアドレスが変わるので、その都度設定ファイルを変更するのが面倒なので hosts ファイルでPCのホスト名のアドレスを 127.0.0.1 に設定して対応したためのようであった。
この設定を行ってたまにエラー(ORA-12518)がでたが、少し時間をおくと問題なく使用できたので気にせずに利用を続けていた。

しかし、127.0.0.1 はループバックアドレスであるので通常のアプリでの利用には問題がある旨が記載されいる情報を発見し、早速正しいIPアドレスに変更して行ったところエラー(ORA-12518)は発生いなくなった。

面倒だけど、使用する無線LANが切り替わる時は、hostsファイルでアドレスを変更して対応することになった。

2011年5月14日土曜日

Xcode4は日本語対応していない

何気なくiphoneアプリの制作実習を続けていて、ふとOSのバージョンアップはあるがXcodeのバージョンアップのお知らせが来ないなぁと思い確認してみたら、2011年3月に Xcode4がリリースされていた。

確認してみると、どうやら誰でも無償でダウンロードできる訳でないらしい。Xcode は Mac OS X のインストールディスクに含まれており、Xcode3では無償でダウンロードも可能だったが、Xcode4 からは有償になったらしい。
Xcode 4 は現時点では 99 ドル / 年の Mac Developer Program もしくは iOS Developer Program 加入者のみに無償で提供されており、それ以外のユーザーは Mac App Store で 4.99 ドルで購入する必要ある。 (Apple Insider の記事より)

私はとりあえず、iOS Developer Program に加入しているので早速 Apple Developer の Member Center からダウンロードを行って早速試してみたら... なんと日本語対応していなかった。
これだと、他にも何か機能が変わっているものがあるかもしれなと考えググってみると「ローカライズ」の方法が変わっているらしい。

とりあえず、ボチボチと実習を兼ねて確認していく事とする。

今回の教訓:「情報は常に最新に!」
3月に気がついていれば、この2ヶ月の間に Xcode4 を理解できていたのに...

自分の鈍感さに 飽きれてしまう。┐(´〜` ;)┌

2011年4月27日水曜日

Oracle SQL Developer 奮闘録

以前は、WindowsXpに問題なくインストールできていたのですが、3.0系をインストールしたらDBへ接続できない。
DBはWindowsXpの端末の10gがインストールしてあり、Linuxサーバーには11gをインストールしてあるので、それぞれ DB に Oracle SQL Developer で接続を行おうしても接続できない。

Oracle SQL Developerにもいくかバージョンがあり、1.5系、2.*系、3.0系 とありますが、1.5系以外がDBへの接続設定を行うとエラー(ステータス:失敗)接続ができない状態です。

はやめに3.0系を使えるようにしたいのだが...
時間が... ◇\(;_;)/◇

2011年4月24日日曜日

既存メディアにはうんざり!

大新聞や大手民放テレビ局の情報操作(使い分け)には、もうウンザリする。そろそろ、日本でも政府とメディアの癒着のような情報操作に立ち上がるべきだと思う。

4月22日(金)の孫正義氏のエネルギー政策の転換に向けて」記者会見があったが、大手メディアはやはり黙殺を決め込んでいる。ニコニコ動画で生放送されていたが、大手メディアはどうでも良い記者会見には大勢で出席して無意味は質疑を行っているが、今回のような記者会見にはをダンマリを決め込む。

ジャーナリズムって何なんだ?

このような国難の時こそ、いろいろ情報を選択肢を脚色せずに正しく伝えるのが大手民放テレビ局と大手新聞社の役割(役目)なのではないか?

4月22日の孫正義氏の記者会見

アメリカでは昨年から太陽光による発電コストが原子力発電を下回るようになった。孫氏は世界中の科学者100人を集めて太陽光発電を中心に自然エネルギーの普及を目指す。

なぜ、大手メディアがこのような情報を伝えていないのか?

大手メディアが「電気代の値上げ」や「増税容認的発言」のみを報道し、世界の趨勢や情報を密閉するような行為をしているように感じる。

日本はもっと良い国であったと思っていたが、錯覚だったのか ?!

自分もできることから行動しようと思う。孫正義氏を応援しよう。

2011年4月13日水曜日

CakePHP つまずき

久々に Cakephp をさわったら、「Warning (512): Could not find validation handler ... 」と Warning が多発。

良く確認したら、CakePHPを複数アプリを起動できるようにしていたので、起動方法(URL)が間違っていたためであった。しかし、久々に操作だったので事をすっかり忘れてしまって解決に思わぬ程時間がかかってしまった。 (_ _ ;)尸 マイリマシタ…

vhost.conf で起動アプリを制御する。

CakePHPで複数アプリを起動させるため、httpd の vhost.conf でバーチャルホストを定義して起動するアプリごとに起動するパスを分けることで、アプリのベースパス(URL)を制御する。

2011年3月24日木曜日

Oracle-主キーに後から項目を追加する

最初から主キーを定義する場合は問題ないのですが、仕様変更が発生して主キーの変更が必要になった場合についつい忘れがちなのがこのコマンドです。(主キーの変更が必要になる仕様変更は初期の段階でないかぎりめったに発生するものではないので...)

主キー Create文
CREATE TABLE テーブル名
(項目名 属性,
項目名 属性,
…,
〔CONSTRAINT 主キー名〕 PRIMARY KEY (項目名, 項目名, …)
);
CREATE TABLE テーブル名
(項目名 属性 〔CONSTRAINT 主キー名〕 PRIMARY KEY, --この方法は、主キーが一項目だけの場合のみ使用可能
項目名 属性,

);
主ーに後から項目を追加
■まず、主キー制約を削除する。
ALTER TABLE テーブル名 DROP PRIMARY KEY;

■主キー制約を追加する。
ALTER TABLE テーブル名 ADD 〔CONSTRAINT 主キー名〕
PRIMARY KEY(項目名, 項目名, …)
;

2011年3月21日月曜日

Oracle Database キャラクタセットについて

新規DB作成時の注意事項

ふと忘れてしまうのが、キャラクタセットのコード設定。11gのインストールがうまく終了しない ことに気をとられてしまい、キャラクタセットのコード設定でつまずく。
 Oracle11gのキャラクタセットは、無指定だと「AL32UTF8」で作成されます。 ここで注意が必要なのが JA16SJIS で作成されたDBを移行する場合です。

Oracleで許可されているデータベースオブジェクト名のサイズはマニュアルに記載されているように、データベース名とデータベースリンク名を除いて 30バイトまでとなっています。

JA16SJIS → AL32UTF8
  • ディスク容量の見直。
  • JA16SJIS2バイトであった文字がAL32UTF8では3バイトになる。

JA16SJISのデータベースで表示名や列名を日本語(マルチバイト)11文字以上で定義していた場合、キャラクタセットが AL32UTF8 であるデータベースではDDLすべてがエラーになる。
 それらを修正するとなるとSQL/DDL文・その他プログラムに至るまで、その影響は広範囲に渡ります。

DBをインストールする機会がたびたびある訳ではないので、以外に上記のことを忘れがちです。 JA16SJISで日本語で15文字以内で項目名や表名を定義しているとAL32UTF8では、10文字以内にすることが必要になり、日本語10文字ですべてをうまく表現するのはなかなか難しいものです。

いずれAL32UTF8にしようと考えている場合は、修正コストは掛かりますが日本語名から英数字名に変更するか、日本語項目名を10文字以内にして修正を行っておくことを薦めます。

2011年2月13日日曜日

Samba-フォルダ名の変更ができない

メインで使用したPCの様子が変なので、重要データの持ち方をサーバーと2台のクライアント間の更新しあう環境に変更を行っていたところ、クライアントからSambaの共有フォルダ直下に作成されているフォルダ名を変更できない事が判明。

Sambaは今までも使用していたが、以前からこの現象に気づいていたがそれまでは特に困らなかったので放置していた。しかし、PCの故障等からデータを紛失しないためにもメインで使用するPCを切り替え使用可能にするためにも、この現象というかSambaの設定を正しく行うようにする必要がある。

Sambaの設定に問題があるのかと思っていろいろと試行してみたが、なんと問題はSELinuxにあった。 SELinuxを無効にすると問題なく共有フォルダ直下のフォルダ名を変更することができた。

ということでSELinuxの変更に着手を開始しようとしたが、現在のマシンのSELinuxの設定を自分で独自設定したためにSambaで使用するタイプやコンテキスト変数が定義されていない。
手動で作成していくのは大変かと考えてとりあえず、SELinuxのポリシータイプを現在のseeditからtargetに変更して対応することにした。

   ↓(ここでまたやらかしてしまった。)

ポリシータイプを変更したのに、SELinuxのモードをEnforcingのまま再起動をしてしまい起動できなくなってしまった。

お決まりのブートオプションを指定して起動させて難なく対応する。
ブート時に A を押してブートオプションを指定する。(enforcing=0を追記する)

kernel /vmlinuz-2.6.18-194.32.1.el5.centos.plus ro root=/dev/VolGroup00/LogVol00 rhgb quiet  enforcing=0

起動できたら、次回起動時にラベルの振り直し(SELinux AdministratorでRelabel on next rebootをチェックする)設定をして再起動を行う。
あとは、地道に環境を整えて早くSELinuxのモードをEnforcingに戻すことにします。

2011年2月6日日曜日

BootCamp上のWindowsXpでのマウスとトラックパッドの動きがおかしい。

BootCamp上のWindowsXpでマウスと左利き用に設定(マウスのプロパティで「主と副のボタンを切り替える」にチェック)をするとトラックバッドの動きまで変わってしまう。

  • マウスが右利き用の設定時
      トラックパッドの動き
    • 1本指操作・・・タップでクリック
    • 2本指操作・・・副ボタンのタップ
  • 左利き用の設定時
      トラックパッドの動き
    • 1本指操作・・・副ボタンのタップ
    • 2本指操作・・・タップでクリック
Mac(SnowLeopard)の方では、マウスの設定を変更してもトラックパッドには何も影響がでないが、BootCamp上のWindowsXpでは、トラックパッドの動きがおかしくなる。参るよね。(T_T)

ここ数日は、ネットで同様の現象についてコメントされていないかと検索したが...

仕方がないのでAppleサポートへ問い合わせを行ったところ、サポート側でも同様の現象を再現できたが、残念ながら現時点では改善の方法がないので、上申して改善に努めるとの話でした。

しかし、つい最近購入した俺がすぐに出くわすようなこの現象がなぜ今まで気づかれなかったのか...
マウスを左で操作するのは、右利きの人でも左でマウスを操作する人をいるはずなのにね。
それとも、マウスとトラックパッドの両方とも使う人がいないのか...(・・?  まさか、俺だけ..^_^;

何にしても早くパッチがリリースされることを望みます。

マネジメント - 基本と原則

20年ぶりくらいに「マネジメント」を読んだ。当時の上司に薦められて読んだ覚えがある。何年か前に資料と古くなった本を処分する時に誤って処分してしまい、購入して再読した。前の本は白いハードカバーあったと記憶しているが、今回の本はソフトカバーであった。(種類が違うのかも・・・)

以前は、あまり興味がなかったのか当時はマネジメントよりも「孫子の兵法」・「諸葛孔明の兵法」や「韓非子(悪の管理学)」の方を読み、管理者たる者の理解と行動の指針にしようとしていた。

昨年よりドラッカーを何冊か読んで内容は重複しているが、改めて(久しぶり)「マネジメント」を読むとビジネスのみならず、日々の営み(家庭を含み)にも通じドラッカーの洞察力の深さを痛感します。

「マネジメント」は、マネジメントを使命・方法・戦略についてを人・仕事・企業(組織)・社会がどのように関わることによって成果を実現していくかについてが分かりやすく書かれている。
 なぜ、以前読んだ時はこの本について興味を覚えなかったのか... 昔の自分の浅はかさを感じてなりません。もっと早くこの内容を自分の糧にして行動出来ていればと思うと残念でなりません。

本の内容についての感じ方は人それぞれでしょうから、詳細は記載しませんが是非とも一読したい本だと思います。
 私は、「イノベーション」と合わせてバイブル的に何度も読み直して自分に取り込んで生きたいと考えています。

2011年1月27日木曜日

GIMP2

GIMP2についてもっと詳しく学ぶ事にしました。photoshopを少々使っていましたが、使用するマシンがWindows・Linux・Macとあり、それぞれ別個にソフトを購入していたのでは費用がかかりすぎます。

そこで、GIMP2の登場です。GIMP2もWindows・Linux・Macのそれぞれで対応ができ、なんと無料です。ちょこっとだけ操作しましたが、レイヤーやら諸々がほとんどphotoshopと遜色なくできるようであるのに無料だなんて! うれしい限りです。

この書籍は、初心者から中級者までを網羅している。なによりも、リファレンスとして「あれはどのようにしたら良いのだったけ?」という使い方も可能かと...

本来は、はじめの一歩(初歩)から学ぶべきかと思い、用途が発生したらすぐに対応できるように下記の本で開始しました。
必要な事項をすぐに探せて、確認・実行できるように必帯しておく書籍です。はやくすべての機能を使いこなせるようになりたいと思う今日このごろ。

やはり、基本からきちんと学ぶ必要があると考えて、この本も購入して実習してみました。ただ、GIMP2でなく前のバージョン対応ですが基本はあまり変わらないのでとりあえず実習あるのみです。

2011年1月25日火曜日

Windows で Oracle Database 接続できない?

久しぶりにWindowsXpにOracleDatabaseをインストールしていたら、なぜか他の端末からDBに接続できない?

なんて事はない、ファイアウォールに例外の設定を忘れていただけでした。

2011年1月22日土曜日

Macお役立ちコマンド

知って得するマック(Hack)なコマンド(・・?
  • fn+delete カーソルの後ろ一文字削除。
  • shift+cmd+3 全画面をハードコピー(画面キャプチャー)
  • shift+cmd+4 十字カーソルで範囲指定(ドラッグ)をハードコピー(画面キャプチャー)
  • shift+cmd+4+space 十字カーソルで指定したウィンドウをハードコピー(画面キャプチャー)
  • ctrl+スクロール ズームイン・ズームアウト。
  • ctrl+space spotlightが表示され、アプリ名を入力するアクティブ画面が移動。
  • ctrl+option+cmd+8 画面が白黒反転モードになる。
  • cmd+tab 直近使用した6つのアプリが表示され選択可能に。
  • cmd+space 日本語入力と英語入力の切り替え。
  • cmd+非アクティブウィンドウをドラッグ 非アクティブのまま移動できる。
  • cmd+option+k リンゴマーク表示。
  • フォルダ名に「.app」をつけるとDockに登録できる。登録したあとは.appを外す。
  • option+cmd+D Dockを表示・非表示の切り替え。
  • cmd+tab+Q 全アプリを終了させる。
  • cmd+↑ ↓ 高速スクロールして最上部・最下部へ移動。
  • cmd+fn+↑ ↓ ウィンドウの表示高さ分高速スクロール。
  • ctrl+shift+eject ディスプレイをスリープにする。
  • タップ2回で1つの語句を選択状態にする。
    タップ3回で1行の文章を選択状態にする。
  • 漢字変換について
    • option+Z 「全角かな」に変換。
    • option+X 「全角カナ」に変換。
    • option+A 「半角カナ」に変換。
    • option+C 「全角英数」に変換。
    • option+S 「半角英数」に変換。

上記の内容は、「知らない人は損してると思うMacの使い方」 さんから参照させてもらいました。ほかにもたくさん掲載されていましたが、私的に書き留めておきたい(備忘録)と思う内容について記載しました。

ネット上のこうした善意に支えられて、Macの操作(扱い)が向上していけることをとても感謝しています。私も、少しでも参考になる情報を提供(掲載)できるようにしていきたいと思います。

Macbook Pro に少し慣れてきたかな…

Macbook Proを購入して10日を経過し、やっと慣れてきた感じがする。 まだまだ、WindowsやLinuxのようにどこに何があるやら、設定情報はこのように修正するとこうなるなんて具合にはほど遠いですが、基本的な操作はなんとかつかめてきましました。

助けになったのが、ターミナルからのコマンド操作です。MacのFider(windowsでのエクスプローラ)でディスクの構成(ディレクトリツリー)を見ると日本語化されていていまいち把握しにくく感じましたが、ターミナルからコマンド操作をするとLinuxと同様にUNIX系の操作ができるので助かりました。探したいファイルやディレクトリの位置やファイルの内容についても、findやらcatですぐに確認できて助けになった。

これからは、ブログも Macbook Pro から更新するようにしてよりMacに慣れるようにする。しかし、ソフトの問題があるので、Windowsで使っていたソフトのMac用を買うことになるとかなりの金額になるので、Macに搭載されているソフトからフリーで対応できるようにするには、まだ少し時間がかかるかもね。(ボチボチ確認してインストールをしているところです。)

2011年1月20日木曜日

Visual Basic 6.0 のコントロールを Visual Studio .NET で使用する方法

WindowsPCのインストールが発生するたびに引っかかるのがこの問題です。単に使いたいOCXをコピーしただけでは、エラーが発生してしまいます。

【現 象】
Visual Basic 6.0 に含まれていた ActiveX コントロール(OCX)が使われている Visual Studio .NET のダイアログ(form)を呼び出すと、下記のようにエラーメッセージが表示されます。
Microsoft Development Environment
ActiveXコントロール "Micronsoft FlexGrid Control, version 6.0" はデザインタイム ライセンスを必要とするためインスタンス化できません。

【解決方法】
方法は下記の2つの方法があります。
  • 方法 1 : Visual Basic 6.0 を Visual Studio .NET コンピュータにインストールする
  • 方法 2 : ライセンス キーをレジストリに追加する 。
    1. ¥Extras¥VB6 Controls フォルダのある Visual Studio .NET インストール ディスクをCD-ROM ドライブまたは DVD-ROM ドライブに挿入します。
    2. ¥Extras¥VB6 Controls フォルダを参照し、VB6Controls.reg ファイルをダブルクリックします。
    3. レジストリ エディタ
      ¥Extras¥VB6 Controls¥vb6controls.reg 内の情報をレジストリに追加しますか?
      「はい(Y)」を選択(クリック)します。

    4. レジストリ エディタ
      ¥Extras¥VB6 Controls¥vb6controls.reg の情報が、レジストリに正しく入力されました。
      「はい(Y)」を選択(クリック)します。
      これで完了です。しかし、VS.NET 2002 の場合は上記では一部問題が発生します。

方法2を実行して、Micronsoft FlexGrid Control が使用されたプログラムのダイアログ(VC++で再現しています。)を表示させると下記のようにエラーが表示されます。

Microsoft Development Environment
2 ActiveXコントロールをインスタンス化できません。
コントロールを再インストールするかまたは再登録してから再度行って下さい。
マイクロソフトのサイトでは、下記のように表示されています。

* Visual Studio .NET 2002 の VB6Controls.reg ファイルには、FlexGrid Control 6.0 のライセンスに誤りがあります。Visual Studio .NET 2003 の VB6Controls.reg ファイルでは、この誤りが修正されています。

注 : 修正された Vb6control.reg ファイルを入手するには、Visual Studio 使用許諾契約が必要です。このサポート サービスは無償で提供されます。

上記のように、チョット面倒な内容であり稀にしか行わない作業なので書き留めておかないと忘れてしまいますね。(^_^)v

2011年1月19日水曜日

Mantis のバグかな?

Mantisで案件管理をしているが、検索のソート順で2項目を指定した場合にカスタム項目が含まれているとエラーになる。

「データベースの検索に失敗しました。データベースからエラーを受け取りました。 #1066: Not unique table/alias: 'mantis_custom_field_string_table' 」

バージョン:1.1.18 のバグなのか、最新版に入れ替えて確認したいところだが...
今は、とりあえずエラーがでないように検索を行って後で検証することにしよう。

2011年1月16日日曜日

BootCamp上のWindowsでのキーボードについて

BootCamp上のWindowsで操作をすると、すぐに困り出すのがMacのキーボードにはないWindows(Linuxも)のキーをどのようにして使ったよいのか? という点です。

「コントロールパネル」→「パフォーマンスとメンテナンス」→「Boot Camp」を選択します。下記のように「F1、F2 などのすべてのキーを標準のファンクションキーとして使用(F)」がチェックされていることを確認します。チェックされていると本来の機能を使用できるようになります。

主なものを列挙します。(良く使うもの)
  • 日本語(全角)と英数(半角)との切替え方法
  • shift + option(alt) + かな
  • Back Spaceキーの動作
    (カーソルの右側一文字削除)
  • Back SpaceキーがMacのキーボードにはない。
          ↓
    delete キーが Back Space とおなじ動作をする。

  • Windows等でのdeleteキーの動作
    (カーソルの右側一文字削除)
  •       ↓
    fn + delete でWindowsでの Delete とおなじ動作をする。

  • 文字列のコピー( CTRL + C )
  •       ↓
    fn + delete でWindowsでの Delete とおなじ動作をする。

  • CapsLock(大文字にロックする)
    …Windowsでは、Shift + CapsLock(英数)
  •       ↓
    shift + caps (同じだね)
    文字列のコピー(Control + C)や文字列の貼り付け(Control + V)も同じ。

  • 全画面のハードコピー(PrintScreen)
  •       ↓
    fn + shift + F11

  • アクティブ画面のハードコピー(Alt + PrintScreen)
  •       ↓
    fn + shift + option + F11

キーボード対応
Windows用キーボード MacBookPro用キーボード
Ctrl+Alt+Delete control+option+delete
Windows スタートメニュー command
Alt option
AltGr
(右Alt)
control+option
Enter return
BackSpace
(カーソルの左を削除)
delete
Delete
(カーソルの右を削除)
fn+delete
PageUp fn+↑
(矢印カーソルキー)
PageDown fn+↓
(矢印カーソルキー)
Home fn+←
(矢印カーソルキー)
End fn+→
(矢印カーソルキー)
Insert fn+enter
NumLock fn+F6
(テンキーを使用時のみ)
PrintScreen fn+shift+F11
Alt+PrintScreen
(アクティブウインドウをプリント)
fn+shift+option+F11
ScrollLock fn+shift+F12
Pause fn+esc

Evernote Web Clipper(Firefoxアドオン)の摩訶不思議!?

既存のWindowsXp端末で;Evernote Web Clipper(Firefoxアドオン)でログインできないという現象に悩まされていたが、先日より MacBook Pro のBootCamp上で WindowsXp をインストールしてすぐにFirefoxをインストールして Evernote Web Clipper を検証してみたら、あ~ら不思議・・・LinuxのFirefox同様にきちんと動作しました。

やはり、既存の WindowsXp 端末に Evernote Web Clipper を入れた時は、Firefoxのアドオンとは別に何か相性の悪いソフトが入っていたのだろうか?
既存の WindowsXp 端末に Evernote Web Clipper での確認の時も、すべてのアドオンを削除して確認もしたので、Firefoxのアドオンとは別のもの(Firefox以外のソフト)との相性があるのかなぁ?

今回も原因を究明するには至らず、とても残念です。もっと追求して究明したいところですが、BootCamp上の WindowsXp に各種開発環境(VSやら各種IDE)やデモを実施するために OracleDBなどをインストールやらテストを行わなければならず、この件であまり時間をかけられず残念です。

誰か原因を教えてくれ~ (T_T)

2011年1月11日火曜日

HTMLでの同一行での画像とテキストの垂直方向の揃え方

align属性を指定しがちですが、imgタグでのalign属性は非推奨でvertical-align属性を使います。 vertical-align は、行内における垂直方向の揃え方を指定するプロパティです。

vertical-align: top;

私の場合は、画像とテキストを同一行に表示される時に、画像とテキストの縦位置の中心を揃えるために利用します。

vertical-alignを指定しない

style="vertical-align:middle"を指定する。

2011年1月9日日曜日

Mantis 日付(年)の選択範囲を変更

Mantisで昨年の案件を追加しようとしたら、追加した日付のカスタム項目の年が 2011 ~ 2015 と表示され昨年(2010)が表示されないため選択できない。(日付はセレクトボックスで年・月・日が表示される)

昨年も同様の現象があったように思うが、昨年はセレクトボックス表示を解除して対応したのかもしれないが、今年は昨年から表示されるように改良することにした。

修正前は、2011年から2015年が表示される。
2010年を指定したいのだが表示されないので指定できない。

修正後は、2010年から2014年が表示されるよになり、2010年を指定することが可能になった。
めでたし、めでたし。(^^ゞ

修正するプログラムは、core フォルダの中の date_api.php です。(coreの中を修正するとバージョンアップの時に再度修正が必要かも)
下記に修正箇所を記載します。
date_api.php の中の print_year_range_option_list関数の先頭を修正します。
修正前 → $t_current = date( "Y" );
修正後 → $t_current = date( "Y" ) - 1;

  function print_year_range_option_list( $p_year = 0, $p_start = 0, $p_end = 0) {
    $t_current = date( "Y" ) - 1; /* 2011.01.08 */
    $t_forward_years = config_get( 'forward_year_count' ) ;

    $t_start_year = $p_start ;
    if ($t_start_year == 0) {
      $t_start_year = $t_current ;
    }
    if ( ( $p_year < $t_start_year ) && ( $p_year != 0 ) ) {
      $t_start_year = $p_year ;
    }

    $t_end_year = $p_end ;
    if ($t_end_year == 0) {
      $t_end_year = $t_current + $t_forward_years ;
    }
    if ($p_year > $t_end_year) {
      $t_end_year = $p_year + $t_forward_years ;
    }

    for ($i=$t_start_year; $i <= $t_end_year; $i++) {
      if ($i == $p_year) {
        PRINT "" ;
      } else {
        PRINT "" ;
      }
    }
  }

Evernote Web Clipper がWindowsXp でサインインできない。

Google Notebook が近い将来になくなるという噂を聞き、昨年末からノート機能をEvernoteに切り替えはじめて困ったことにぶち当たりました。はじめは、Linux Firefox で利用していたので特に問題を感じませんでしたが、WindowsXpマシンでも同様にサイトで検索してメモ対象と思ったページをクリップ(Web Clip)しようとするとサインインできないという現象にぶち当たりました。Windows版のEvernote Web Clipperでは、「Evernote Web」にクリップとE「vernote on your desktop (if installed)」にクリップの二つの方法がありますが、「Evernote Web」にクリップができません。
LinuxのFirefoxアドオンでは、「Evernote Web」のみしか機能がないのですが問題なくクリップすることが可能です。

サインイン画面で「ユーザー名」と「パスワード」を入力

サインイン処理を行ってもサインインされず、ひたすらサインイン画面が再表示される。

いろいろググってみたら、このような現象は「Firefoxに導入したアドオンの相性によって引き起こされている」のではないかとコメントがあったので、順番にアドオンを削除していき確認作業を実施しましたが、結局ダメでした。アドオンをすべて削除してからEvernote Web Clipperを導入して確認もしましたがやはりダメでした。

結局、WindowsXpでは「vernote on your desktop (if installed)」でクリップしてから「Evernote Web」と同期をとることにしました。ちょっと残念。(ーー;)

2011年1月8日土曜日

TWIST RING NOTE

昨年から「TWIST RING NOTE」を使い始めました。何か使いやすいノートはないかと探していたところでネットで見つけ、文具店で取り寄せしてもらい使い始めました。

見た感じは少し留め具(リング)がゴツイ感じの普通のリングノートに見えます。
しかし、リング(留め具)はルーズリーフの取り外し留め具になっている。この留め具の扱いがとても簡単でノートの取り外しが楽なのである。

ノートを取りはずしたい時は、ノートを開き右のように「左側のページ上部を上へ」「右側のページ下部を下へ」引くことでリング(留め具)が開きます。

リングを開いた時は右のようになります。

リングはできるだけ小さいに越したことはないですが、私が使っているリーフ数:70枚のものなので、このくらいが限界と思います。
ノートのリーフ数は、30枚と70枚の2種類があります。私が使っているのは70枚なので、30枚のもののリングの大きさは未確認です。(もしかして、30枚も70枚も同じリングかも)

リングを閉じる時は、開いたリングを手で閉じるだけです。(当然か(笑))

上記の画像は、LIHIT LAB.(リヒトラブ)の製品の紹介ページのものです。 ( LIHIT LAB./TWIST RING NOTE/ツイストリングノート

余談ですがこのTWIST RING NOTEは、LIHIT LAB.(リヒトラブ)という会社が扱っているのですが、販売店で検索したらよく行く文具店である荒川区の「南進堂」が載っていたので、置いてあるかと思ったら取り寄せでした。まだ人気がないのか、それとも価格面のため置かないのか...
これからは置いてもらいたいと思うこの頃です。