火曜日, 2月 09, 2010

禁煙開始1日目

先週からやろうと思って1日やってだけど、
プロジェクトの関係で大忙しくなったので結局先週はあきらめ
今週に入ってまだ禁煙トライ中
月曜日は午前中にタバコを吸いきったから午後からは眠くて死にそう。
これも禁断症状なの?
稿も朝から眠い、仕事が頭に入らないね。




Powered by ScribeFire.

木曜日, 1月 28, 2010

なかなか眠れない人のための簡単に眠る10の方法

1.十分に眠れなかったとしても心配するな
あまり眠れなかったことをくよくよと考えるな、というアドバイス。あまり眠れなかったことを気にし始めると気分がネガティブになり、どんどん眠れなくなる悪循環に陥るため。

2.眠ることを自分に強制するな
眠ろう眠ろうと思えば思うほど、眠るのは難しくなる、と。

3.ベッドに行くのはあなたが本当に疲れて眠たいときだけにするべし

4.目覚まし時計を夜に見るな
目覚まし時計を見ると不安が加速され、時間に関して強迫観念的になるので、見ない方がよいそうです。

5.体を温める
いくつかの研究によると、お湯につかるなどの行為で体が温まると熟睡しやすいとのこと。

6.寝過ごすことを回避せよ
なかなか眠れないことが原因で逆に寝過ごすといったことがつづくと、体内時計がリセットされてしまって夜に寝ることが難しくなるそうです。

7.セックスする
セックスすることによってストレスが緩和され、体がリラックスし、さらに幸せに感じる化学物質が出ることによって、眠りやすくなるそうです。

8.寝るためにお酒を飲まない
夜遅くにお酒を飲んではいけないそうです。というのも、アルコールによって最初は鎮静剤の効果があるものの、結果的には睡眠を妨害する効果が出るとのこと。アルコールを飲めば寝やすくなるというのは迷信だそうです。

9.寝ることとセックスすること以外で寝室やベッドを使うな
テレビを見たり何かを食べたり、本を読んだりすることに使ってはいけないとのこと。確かにこれらのことをすることで眠ることができる人もいるが、そもそも眠りにくい人の場合、脳が「ここは寝る場所ではない」というように感じ取ってしまい、目覚めるようになってしまうらしい。

10.仮眠しない
もし不眠症で苦しんでいるのであれば、仮眠しようとしてはいけないとのこと。というのも、夜に眠りたいのに仮眠してしまうと、後々眠ることができなくなるため。

火曜日, 5月 27, 2008

IIS7で構成セクションエラー



XP Pro、IIS6でちゃんと動作しているアプリケーションが、Vista Business、IIS7では構成セクションエラーになってしまう。



IIS7機能をIIS6と下位互換にしても解決されず...

IISサーバーのWWWサービスのアプリケーション開発機能にほとんどチェックを入れる。

(ちなみに、
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
でもできるみたいだが、ためしてないのでわからん。)

先ほどの問題は解決できたが、こんどは認証設定の
でエラーが発生、なんか
パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。
と怒っているのでは!

inetmgr(IISマネージャ)を開き該当仮想ディレクトリを選択、
右ボタンクリックで「アプリケーションへ変換」を選択


上の問題は解決、だが、まだもや、ASSEMBLYの問題、
確認してみるとASP.NET Ajaxがインストールされていない。
マイクロソフトのサイトより「ASP.NET AJAX Extensions 1.0」ダウンロードおよびインストール
http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en

これで何となく落ち着いた。


金曜日, 4月 11, 2008

日本語キーボード

たまたま日本語キーボードがおかしくなり、「あA」を入力すると「ち」になったりとするが、
今まであんまり原因がわからなくって、いつもドライバーの再インストール…

調べてみら、こんなものが:
http://trendy.nikkeibp.co.jp/article/qa/trouble/20031016/106263/
Alt+Kana/Romanキーの入力で一応戻った。


木曜日, 3月 27, 2008

セッション状態要求をセッション状態サーバーに対して作成出来ません???

ようやくログイン画面が表示されたけど、下にデバッグ情報が表示され…
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
セッション状態要求をセッション状態サーバーに対して作成できませんでした。ASP.NET 状態サービスが開始されていて、クライアントとサーバーのポートが同じであることを確認してください。サーバーがリモート コンピュータ上にある場合、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection の値を調べて、このコンピュータがリモート要求を受け付けることを確認してください。サーバーがローカル コンピュータ上にあり、上記のレジストリ値が存在していないか 0 に設定されている場合、状態サーバー接続文字列ではサーバー名に 'localhost' または '127.0.0.1' を指定しなければなりません。

System.Web.HttpException: セッション状態要求をセッション状態サーバーに対して作成できませんでした。ASP.NET 状態サービスが開始されていて、クライアントとサーバーのポートが同じであることを確認してください。サーバーがリモート コンピュータ上にある場合、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection の値を調べて、このコンピュータがリモート要求を受け付けることを確認してください。サーバーがローカル コンピュータ上にあり、上記のレジストリ値が存在していないか 0 に設定されている場合、状態サーバー接続文字列ではサーバー名に 'localhost' または '127.0.0.1' を指定しなければなりません。    場所 System.Web.SessionState.OutOfProcSessionStateStore.MakeRequest(StateProtocolVerb verb, String id, StateProtocolExclusive exclusiveAccess, Int32 extraFlags, Int32 timeout, Int32 lockCookie, Byte[] buf, Int32 cb, Int32 networkTimeout, SessionNDMakeRequestResults& results)    場所 System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem)    場所 System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs)    場所 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    場所 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
調べてみたら、ASP.NETのState Serviceが起動していないのが問題のようなので、
サービスから「ASP.NET状態サービス」を起動して、再度アクセス見たら、
今度は問題なく画面が表示された。

ぐぐるって便利だね、^0^;

ユーザー 'sa' はログインできません???

IISの起動問題を解決すると、今度は
「System.Data.SqlClient.SqlException: ユーザー 'sa' はログインできませんでした。このユーザーは SQL Server の信頼関係接続と関連付けられていません」

プログラム側の接続設定は正しいものの、
なにやらSQLServer自体がSQLServer認証モードでログインできなくなっている。
SQLServerのプロパティーのセキュリティで、
Windows認証とSQLServer認証の両方を使えるように修正してから再起動してもNG。

SQLServerインストール時、Windows認証モードでインストールすると、
後で両方の認証モードに切り替えてもsaのログインは最初には無効になるのである。
http://msdn2.microsoft.com/ja-jp/library/ms366351.aspx  のメモを参照

saのログインを有効にするためには認証モード切替後、以下のスクリプトを実行する必要がある。
ALTER LOGIN sa ENABLE ; 
  GO 
  ALTER LOGIN sa WITH PASSWORD = '' ; 
  GO
注:の全部を有効なパスワードに書き換える。
http://msdn2.microsoft.com/ja-jp/library/ms188670.aspx

以上の手順でSQLServerに接続成功。

SQLServerってかなり面倒だね(Oracleに比べって?)

IISとSkypeが競合?

朝、パソコンを立ち上げ、昨日のプログラムを実行してみようとすると、
IISが停止中、Windowsスタートアップで自動起動するはずなのに?

IISコンソールから起動しようとすると
「IIS 予期しないエラー 0x8ffe2740」
が発生する。

調べてみたらIISとSkypeが(PORT:80)競合が発生するみたい。
とりあえずSkypeを終了してからIISを起動すると問題なし。

どっちが怪しい?

火曜日, 3月 25, 2008

asp.netとsqlserver接続でエラー発生

SQL Server連携プログラム作成中。。。

実行すると以下のエラー発生:
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
■デバッグ情報
サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました)

System.Data.SqlClient.SqlException: サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました)    場所 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)    場所 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)    場所 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)    場所 System.Data.SqlClient.SqlConnection.Open() 
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
何か面倒なこと一杯あるね。m(_,_)m;;;
ぐぐってみると、SQL Serverにasp.net実行用のデータベースが必要らしい。

以下のコマンド実行:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe
出てくるウィザードで、NEXT連打、サーバー名入力するところに、正しいサーバー名を入力したら
最後に完了をクリック。
SqlServerExpressで確認すると、aspnetdbとのデータベースが作成されている。
再度、プログラムを実行してみると…

やはり駄目か!!!




IISでaspxファイルが実行できない。

C#勉強中、
作成したaspxファイルをIISからアクセスしようとすると、以下のエラーが発生。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

XML ページを表示できません

XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。


無効な文字で名前が始まりました。リソース 'http://192.168.1.3/test/100.aspx' の実行エラーです。ライン 1、位置 2

 -^

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
原因はVS2005をインストールした後、IISをインストールしたため、
aspxの実行関連設定がIISに登録されていないようである。

以下のコマンド実行で問題解決。:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -i
ASP.NET (2.0.50727) のインストールを開始します。
...............................
ASP.NET (2.0.50727) のインストールが完了しました。


水曜日, 3月 12, 2008

水曜日, 12月 26, 2007

表の統計データを変更する

Ask Tom "SQL Tuning"

表の統計データを変更することで、大量データを作成せず、実行計画に影響を与えることができる。

通常の統計データの取得は
exec dbms_stats.gather_table_stats (user,'t');

統計データ変更方法は

exec dbms_stats.set_table_stats( user, 'PERSON', numrows=>1000000, numblks=>100000 );

プロシージャ:set_table_statsの詳細は
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/appdev.102/B19245-01/d_stats.htm#sthref8385



金曜日, 12月 21, 2007

PL/SQLで検索結果リストをIN句に利用する

Ask Tom "varying elements in IN list"

なぜか、パッケージの中にTYPE宣言をすると、エラーになってしまうので、
仕方なく、
CREATE OR REPLACE TYPE XXXTYPE AS TABLE OF NUMBER;
で作成して、

PL/SQLでは
AND XXX_ID IN (SELECT * FROM TABLE( CAST (memberIdList AS memberIdTab)))
のようにすることで、なんとなく解決。

ちなみに、ファンクションでCURSORを返すのは、
OPEN cur1 FOR
SELECT ....
;

RETURN cur1;
ではうまくいくが、
SQLを事前に宣言してから、OPENだけで、次にRETURNしようとするとエラーになってしまう。

なぜだ。。。

木曜日, 12月 13, 2007

Tomcat 6で実現! Ajaxを超える通信技術Comet (1/3) - @IT

Tomcat 6で実現! Ajaxを超える通信技術Comet (1/3) - @IT

なかなか面白い、
通常のWEBアプリケーションでサーバー側のデータ変更をリアルタイムで更新するためには
AJAXなどを利用して、定期的にサーバーにリクエストを送るしかいないが、
Cometを利用すると、HTTPコネクションを開きぱなしにして、
サーバー側から更新データを随時送る仕組み

WEBでチャットのようなリアルタイム更新アプリケーションの実装ができるって!

1Request:1Reponseを
「プル型の通信」と言うと
こちらは
疑似的な「プッシュ型の通信」になる。

TomcatではComet実行コネクタとして、
NIO(New I/O)とAPR(Apache Portable Runtime)がある。

Tomcatのserver.xmlを修正してNIOを利用する例:

protocol="org.apache.coyote.http11.Http11NioProtocol"

リバースAjax機能はAjax+Javaをもっとやさしくする?

木曜日, 11月 29, 2007

Geekなぺーじ : 10のUNIX小技

Geekなぺーじ : 10のUNIX小技

①:複数階層のフォルダを一回で作成する。

[root@localhost ~]# mkdir -p a/b/c

[root@localhost ~]# mkdir -p a/{lib,src/doc/{html,pdf,txt}}

mkdirに-pオプションがない場合、mkdirhierを使うことが出来るらしい。
と書いてあったけど、RadhatAS4ではだめだった。
[root@localhost ~]# mkdirhier -p a/{lib,src/doc/{html,pdf,txt}}  -- NG

②:tarの解凍先を指定する。

[root@localhost ~]# tar xfv a.tar -C /tmp/a/b

③:コマンドを演算子で繋げる

一つ目のコマンドが成功した(return 0)場合にだけ実行
[root@localhost ~]# cd tmp/a/b/c && tar xvf ~/archive.tar

一つ目のコマンドが失敗した(return 0以外)場合にだけ実行
[root@localhost ~]# cd tmp/a/b/c || mkdir -p tmp/a/b/c
[root@localhost ~]# cd tmp/a/b || mkdir -p tmp/a/b && tar xvf -C tmp/a/b ~/a.tar

④:変数と「"」の組み合わせは慎重に

[root@localhost ~]#
[root@localhost ~]# ls tmp/
a b
[root@localhost ~]# VAR="tmp/*"
[root@localhost ~]# echo $VAR
tmp/a tmp/b
[root@localhost ~]# echo "$VAR"
tmp/*
[root@localhost ~]# echo $VARa

[root@localhost ~]# echo "$VARa"

[root@localhost ~]# echo "${VAR}a"
tmp/*a
[root@localhost ~]# echo ${VAR}a
tmp/a
[root@localhost ~]#

⑤:長い入力にはエスケープシーケンスを利用

[root@localhost ~]# cd tmp/a/b/c || \
> mkdir -p tmp/a/b/c && \
> tar xvf -C tmp/a/b/c ~/archive.tar

でも
[root@localhost ~]# cd tmp/a/b/c \
はNGだった。

⑥:コマンドをグループ分けする

[root@localhost ~]# ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) \
> | mailx admin -S "Archive contents"

<>
[root@localhost ~]# { cp ${VAR}a . && chown -R guest.guest a && \
> tar cvf newarchive.tar a; } | mailx admin -S "New archive"

「{}」の前後にスペースが入るように注意しましょう。
スペースを入れないと正しく動作しないかも知れません。
また、「}」の前に来る最後のコマンドの後に「;」を入れる。

⑦:xargsをfind以外と組み合わせる

[root@localhost ~]# find 何か どこかへのパス | \
> xargs ファイル名を使う何らかのコマンド

$ xargs
a
b
c
コントロールキー+p
a b c

ファイル名を出力する他のコマンドと組み合わせる事も可能です。

$ ls | xargs
December_Report.pdf README a archive.tar mkdirhier.sh
$ ls | xargs file
December_Report.pdf: PDF document, version 1.3
README: ASCII text
a: directory
archive.tar: POSIX tar archive
mkdirhier.sh: Bourne shell script text executable

複数行を一行にまとめる事も出来ます。


$ ls -l | xargs
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 \
root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 \
16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 \
joe joe 3239 Sep 30 12:40 mkdirhier.sh

xargs利用上の注意

「_(アンダースコア、下棒)」はEOFとして扱われます。
そのため、その文字がxargsに渡されると、
それ以降の項目は無視されてしまいます。
この問題を回避するには-eオプションを利用してください。

⑧:grepに行数をカウントさせる

wc -l と組み合わせるのではなく、grep の-cオプションを使った方が行数の計算は速いです。

$ time grep PATTERN longfile.txt | wc -l
2811

real 0m0.097s
user 0m0.006s
sys 0m0.032s
$ time grep -c PATTERN longfile.txt
2811

real 0m0.013s
user 0m0.006s
sys 0m0.005s

grepがカウントすべきではないとき

-cオプションは、マッチした行数のみをカウントします。
-oオプションは、マッチしたパターン自体を出力します。
単一行にマッチするパターンが複数回登場する時などには、
-oオプションにより標準出力に出される行数と、
-c が行った結果のカウント数が異なってしまいます。
そのような場合には、wc -l を使いましょう。

grep -o PATTERN longfile.txt | wc -l

⑨:パターンマッチは行全体ではなくフィールドで

grepなどで行全体をマッチするのではなく、
awkで特定のフィールドを指定してパターンマッチをすべきです。

grepで行全体をマッチさせてしまうと、意図しないものも結果に入ってしまうことがあります。
例えば、ファイル更新日が12月のものを探している時に、
1月に更新したDecemberReport.pdfが結果に入ってしまう場合があります。

悪い例

ls -l | grep Dec
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf
-rw-r--r-- 1 root root 238 Dec 03 08:19 README
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
良い例

ls -l | awk '$6 == "Dec"'
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
-rw-r--r-- 1 root root 238 Dec 03 08:19 README

⑩:無駄なcatとパイプは行わない

grepなどのコマンドを使う時に、catをパイプで繋げてgrepの標準入力に流し込むのは無駄です。
grepなどの大抵のコマンドには、ファイル名をオプションとして渡せる機能があります。
以下に速度の比較を示します。


$ time cat longfile.txt | grep PATTERN
2811

real 0m0.015s
user 0m0.003s
sys 0m0.013s

$ time grep PATTERN longfile.txt
2811

real 0m0.010s
user 0m0.006s
sys 0m0.004s

---------------------------
いろいろ出来ますね。勉強になりました。

木曜日, 11月 08, 2007

Ask Tom "SQL Query to find gaps in date ranges"

Ask Tom "SQL Query to find gaps in date ranges"

create table t ( a int, b date, c date );

insert into t values(1, to_date( '01-jan-2007'), to_date( '15-jan-2007'));
insert into t values(2, to_date( '03-jan-2007'), to_date( '10-jan-2007'));
insert into t values(3, to_date( '12-jan-2007'), to_date( '25-jan-2007'));
insert into t values(4, to_date( '20-jan-2007'), to_date( '01-feb-2007'));
insert into t values(5, to_date( '05-feb-2007'), to_date( '10-feb-2007'));
insert into t values(6, to_date( '05-feb-2007'), to_date( '28-feb-2007'));
insert into t values(7, to_date( '10-feb-2007'), to_date( '15-feb-2007'));
insert into t values(8, to_date( '18-feb-2007'), to_date( '23-feb-2007'));
insert into t values(9, to_date( '22-feb-2007'), to_date( '16-mar-2007'));

From the above example, the gap that exists is:

02-feb-2007 --> 04-feb-2007

and we said...

Here is one approach. I used "50" - you can replace 50 with a 'better' value, or you could use

with data as (select max(c-b) c_b from t), r as (select level-1 l from data connect by level <= c_b) select .....

if you do the "data" one, you do not need the case statement as protection...

ops$tkyte%ORA10GR2> variable x number
ops$tkyte%ORA10GR2> exec :x := 50
PL/SQL procedure successfully completed.
ops$tkyte%ORA10GR2> with
2 r as
3 (select level-1 l
4 from dual
5 connect by level <= :x
6 )
7 select last_dt+1, dt-1
8 from (
9 select dt, lag(dt) over (order by dt) last_dt
10 from (
11 select distinct t.b+r.l dt
12 from t, r
13 where r.l <= t.c-t.b and case when t.c-t.b > :x then 1/0 end is null
14 )
15 )
16 where last_dt <> dt-1
17 /

LAST_DT+1 DT-1
--------- ---------
02-FEB-07 04-FEB-07

writing is gleaned through experience, time, effort and mentoring. Anyone can do it.



木曜日, 3月 01, 2007

ブログが正式番になったのね。

これからどんどん書き込むかね。

ただ認証キー入れるのはやっぱ面倒ね。

水曜日, 11月 29, 2006

AskTom "Update statement tuning"

AskTom "Update statement tuning"

and multi_block_read are always physical I/O?
NO!

say your multi-block read count is set reasonable (1000 isn't even borderline
reasonable), say at 64.

[quote]
but block 15, 30, and 45 are in the cache.

we'll multiblock physical IO 1..14
single block logical IO 15
multiblock physical IO 16..29

and so on.
[/quote]