2017年09月22日

拡張行サイズ

これで4Kだ8Kだ16Kだのページ制限から開放されて、クッソ大量のカラムをもつリレーショナルなんて糞食らえな
テーブルが作成できるぜ!ィヤッホゥ!☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ

んなわけあるか。ヽ(`Д´)ノウワァァァン!! やめてくれ。
こんな機能はマイグレーション時やシステム移行時の一時的な救済措置にだけ使え。
はみ出たデータは内部的にはblobやclobだ、Reorg時にもペナルティ食らうぞ。
金貰ってるんだからちゃんと設計しろ!

(;´Д`)ハァハァ よし、愚痴言い切った!

詳しくはここ

今北産業用
  • 拡張可能なものはvarchar/vargraphic (またはそれに準ずるもの)だけ(要は可変長だけ)
  • 一定サイズ以下の場合は拡張されずに行内に保存(varcharは24 vargraphicは12)
  • 拡張が適用されてもメタ情報が埋め込まれるので、そのカラムのバイトは1でも0でもない、24だ

行サイズはこのへんを見ながらちまちま計算するよろし。
posted by koteitan at 10:16| Comment(0) | DB2 | このブログの読者になる | 更新情報をチェックする

2017年09月19日

IBMJREでの7.0と7R1(いわゆる7.1)の区別について

なんでこんなめんどくさい表記なのかわからないけど、普通にjava -version ってやっても7.1とはでてくれない。
7.0か7.1かを判別するにはJ9のバージョンを確認する。

7.0であればbuild 2.6
7.1であればbuild 2.7

(´・ω・`)こんなん役に立つかどうかわからんけど、
fix適用時とかにバージョンワカンネってなったときはどうぞ。


他のバージョンはちゃんと1.5とか1.8とか出るので、気にしなくていいんですが。

posted by koteitan at 14:39| Comment(0) | Java | このブログの読者になる | 更新情報をチェックする

2017年09月08日

cloc がコードメトリクスツールとして便利

windows版もあるしperl版もあるみたい。

Ubuntuなら、apt-get install clocでおk。
コマンドラインで各種メトリクスや差分、更新量がわかるので
プロジェクト管理とかにもいいかもですなぁ。
テキストやCSV,XMLで出せるので管理資料とも相性がよいかもですぞ。
VHDLにまで対応してたりしてすげぇなと思う。もうこれだけでいいんじゃないかってレベル。



posted by koteitan at 14:40| Comment(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする

2017年09月07日

V9でjythonが一気に2.7に!

今更遅いよ、って感はあるよね。(´・ω・`)
2.1から2.7まで一気に上げたみたいなので、
既存のscript、いろいろ問題でるでしょう。
予約語だって変わってるし。

マニュアル

リリース情報


ここから 備忘録 

pythonで予約語列挙するには

つ __import__('keyword').kwlist

pythonのバージョンを出力するには

つ sys.version

posted by koteitan at 18:24| Comment(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

2017年08月22日

system uptime の取得方法(JVMのuptimeではない)

/proc/uptime を読むとか、PurocessBuilderでuptime叩くとかではなく、
nanotimeの計算式を逆手にとった方法があるみたい。
当然OSに依存すると思うので、テストしてから使用を推奨。

System.out.println("System.nanoTime " + System.nanoTime() / 1e9);

どういう状況で必要になるかはわからんけど。(´・ω・`)

How to get UNIX uptime in Java?
posted by koteitan at 14:34| Comment(0) | Java | このブログの読者になる | 更新情報をチェックする

2017年08月15日

lsattr

AIXだとデバイスの情報表示、
linuxだとファイルの拡張情報表示、
windowsで拡張情報表示はlsattrではなくて、attrib。

ややこいw


うまいぼうぶろぐ linuxとhttpdとperlのメモ
extファイルシステムの拡張属性

RHELのバニラでインストールだとxfsでも使えたな。
対応したのかも。
posted by koteitan at 16:37| Comment(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする

2017年08月06日

システムディスクの回復に使用できるディスクが見つかりません (0x80042414)の原因

一日悩んだので、同じ症状にハマった人用にメモを残しておきます。

事象でgoogle先生を検索すると、大抵は元のHDDよりSSDのが小さいからだ、
パーテンションを小さくしてからバックアップを取り直すとよい。 っていうのにあたると思います。
これは事実で同じエラーが出ます。
しかし私の場合は、元が120GBから360GBへの換装だったので、該当しません。
ドライブのエラーもありませんし原因は別でした。

原因

リストア先のディスクがシステムディスクとして認識されておらず
別のバスに接続されているデータドライブをシステムディスクだと認識されていたために
リストア対象から除外されているので当該のメッセージに至っていた。


何を言っているのか順番に説明します。
まず私のPCにはSSD(システム)、SSD(BF4用)、HDD(データドライブ)、USB-HDD(バックアップ用)と
4機接続されています。今回はSSD(システム)の換装なので、リストア時にSSD(BF4用)、データHDDは
リストア対象から除外するように選択しました。(USB-HDDはバックアップ格納場所なので自動除外)
そしてリストア実行すると、表題のメッセージがでます。
理由はSSD(BF4用)にリストアをしようとしているが、除外されている、という状態に陥っていました。
事象の確認のために一旦リストアをキャンセルし、コマンドプロンプトを開きます。
(システム回復メニューから、コマンドプロンプト)

(1)diskpart を実行します。
(2)list disk と入力します。

搭載されているディスク一覧が出力されます。換装しようとしているSSDがディスク何番と認識されているか
確認してください。

(3)select disk=system と入力します。

windows がシステムディスクだと認識している番号が表示されます。
換装しようとしているSSDのディスク番号以外が表示された場合は、同じ事象です。

対応方法

換装しようとしているディスクの起動順序を上げて、システムディスクと認識させましょう
マザーボードによって操作は異なるので、お使いのマザーのマニュアルを参照して変更します。
(BOOTメニューのHARDDRIVE BBS Priority のようなところです)

BIOSを変更し、再起動後、再びdiskpartからシステムディスクを確認し
換装対象のSSDがシステムディスクと認識されていればOKです。
あとは通常のリストア操作で大丈夫です。

市販のPCの場合はディスクは1機のことが多いので、こういうレア事象には至らないのかもですね。

こちらのyoutubeに大変助けられました。

posted by koteitan at 13:39| Comment(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする

2017年08月04日

シェルスクリプトのデバッグ

めちゃくちゃいい情報をみつけた。
これは素晴らしい。

超ウィザード級ハッカーのたのしみ
異常時にちゃんと止まるシェルスクリプト

kshでも使えそうです。\(^o^)/


posted by koteitan at 17:00| Comment(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする

2017年07月31日

Windows7をUSBHDDドライブからリストアする時の注意点

結論 HDDはUSB2.0ポートに挿しなおしておこう

USB3.0だとドライバを読ませなくてはダメなので、MBのメーカーからダウンロードしてきたりDVDに書き込んだりとか
めんどくさいので。(´・ω・`)

ちゃんとシステムイメージを含むWindowsBackUpを取っているなら、

(1)修復メディアからブート
(2)システムイメージで修復
(3)対象ドライブを選ぶ(データディスクなどは破損していない場合などは除外すると早い)

破損したわけじゃなく、Cドライブの容量がいっぱいいっぱいなので、
SSDを換装しただけですけどね(120GBから480GB)

一時ファイルとかをCのユーザー領域とかに作るソフト多いもんなー・・。

posted by koteitan at 16:34| Comment(0) | TrackBack(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする

bashでfindでループで

kshだと以下はちゃんと動く

hoge=0
find aaaa | while read f
do
   let hoge=hoge+1
done

if ($hoge -ne 0];
then
  echo "not zero!"
fi

bash ではこう書かないとだめ(パイプの先が別プロセスになるから)
hoge=0
while read f
do
   let hoge=hoge+1
done < <(find aaa)

if ($hoge -ne 0];
then
  echo "not zero!"
fi

aixばっかりやってるとあきまへんなぁ。(´・ω・`)

参考

posted by koteitan at 16:25| Comment(0) | TrackBack(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする