七転び八起き ~別に飽きてないよブログ~ -4ページ目

七転び八起き ~別に飽きてないよブログ~

人生浮きっぱなしの俺が綴るクソ日記。
たまには有意義な情報が垂れ流せるようアンテナ張って生きたい。

最近Adobe Fireworksを使ってちょっとしたデザインをする事があったので
普段も使える様にGIMP(フリーのグラフィックソフト)で実践、記録として残す。

ざっくり言ってしまうとwebで使えるボタンを作ろうというググればアホほどひっかかる話なのだがー(こことか)
個人的にちょっとしたカルチャーショック(web上のボタンはこんな風に作られていたのかーそりゃ俺のボタンは見た目クソな訳だあ!)を受けてしまったのでこの気付きをどうにかあなたと共有できないかとかそんな話。

2年前に作成したボタン(項目?)らしきもの
七転び八起き~やりなおしブログ~
黄色塗ったバージョンもあるのはマウスが載ったときに切り替えるつもりだったのでしょう。
原色ベタァな感じもあいまって素人臭さがアレですね。

続いて先日作成した「気付き」を得た後のボタンです。
webページで言うところのグローバルナビゲーションの左2つです。
七転び八起き~やりなおしブログ~
どうでしょう?2年前の物よりは格段にボタン感(?)が増したと思います。
ちなみに、同じボタンが上下2つならんで居るように見えますが、下半分の画像はグラデーション部分が上下反転しており上の画像から切り替えることであたかもボタンが押されているような演出になります。

さて、前置きが長くなりましたがGIMPを使って上記の様なボタンを作成していきましょう。
※GIMPの基本的な操作等の解説は他所に任せます。


1. 「ファイル」「新しい画像」から新しい画像の作成を開始する。サイズは640*400程度で。
$七転び八起き~やりなおしブログ~

2. 新しいレイヤを作成します。このレイヤでボタンを作成します。
レイヤウィンドウの左下のアイコンから~
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~
下記画像赤枠内の黄色い破線内が新しく作成したレイヤです。
$七転び八起き~やりなおしブログ~

3. この新しく出来たレイヤをグラデーションで塗りつぶします。
描画色、背景色を任意の色(両方同じ色に設定した後、片方だけ明度をいじるのが定番かも)に設定。
これで原色ベタ塗りクソボタンともおさらばです。
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~
グラデーションをかける。手順2で作成したレイヤの上端から下端に向けてマウスをドラッグするよろし。
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~上手いじゃないか!

4. ボタンらしくするため角を丸めます。
範囲選択を制する者はグラフィックツールを征する。と、かの偉い人は言わなかったとか。
レイヤーウィンドウにある手順2で作成したレイヤの上で右クリック
さらに現れたメニューの「不透明部分を選択範囲に」をクリック
$七転び八起き~やりなおしブログ~$七転び八起き~やりなおしブログ~
これでグラデーションを塗った部分だけが選択されます。
その状態でウィンドウ上部のメニューから「選択」「角を丸める」をクリック。
現れたウィンドウを画像の通りすすめる。
$七転び八起き~やりなおしブログ~$七転び八起き~やりなおしブログ~
↓こんな感じで角が丸まった選択範囲(黒の破線)になると思います。
七転び八起き~やりなおしブログ~
選択範囲を反転させ要らない角の部分を切り取ります。
ウィンドウ上部のメニューから「選択」「選択範囲の反転」とクリック
※画像を用意するのが遅れたため画像内の作業の進み具合が異なりますが無視してください;
七転び八起き~やりなおしブログ~
ウィンドウ上部のメニューから「編集」「切り取り」とクリック
$七転び八起き~やりなおしブログ~
↓の様に角が切り取られます。
七転び八起き~やりなおしブログ~

5. ボタンの縁を少し暗い色で塗り輪郭をはっきりさせます。
手順4で行った「不透明部分を選択範囲に」を再度行います。
$七転び八起き~やりなおしブログ~$七転び八起き~やりなおしブログ~
その状態で「選択」「縁取り選択」とクリック。
新しく出たウィンドウを画像の通り進める。
$七転び八起き~やりなおしブログ~$七転び八起き~やりなおしブログ~
↓の様に縁1ピクセルが選択範囲となります。
七転び八起き~やりなおしブログ~
描画色を変更します。ここではベースの色からさらに明度だけを下げています。
七転び八起き~やりなおしブログ~
鉛筆ツールをクリック
七転び八起き~やりなおしブログ~
縁取った選択範囲を塗りつぶします。
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~

6. ドロップシャドウを掛けて少し浮いたように見えるようにします。
手順4, 5で行った「不透明部分を選択範囲に」を再度行います。
もう3度目なので工程画像は貼りません笑
不透明部分の選択が出来たら「フィルター」「照明と投影」「ドロップシャドウ」とクリック。
現れたウィンドウを画像の通り進めます。
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~
↓の様になります。なかなか良い感じになってきたと思います。
七転び八起き~やりなおしブログ~
この新しく書き出された影の部分は別のレイヤとして書き出されているので
後の作業効率を考えてひとつにまとめてしまおうと思います。
レイヤーウィンドウの"背景"レイヤの目のマークをクリックし
"背景"レイヤを一旦、非表示にします。
右の画像のようになればおkです。
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~
レイヤーウィンドウ内の適当な場所で右クリックし現れたメニューの「可視部分をレイヤーに」をクリック。
目のマークが付いている複数のレイヤをひとつのレイヤにまとめて新しいレイヤとして書き出します。
右の画像の様なレイヤが生成されると思います。
七転び八起き~やりなおしブログ~$七転び八起き~やりなおしブログ~
※余談ですが同じメニュー内にある「可視レイヤーの統合」でも同じようなことが出来ますが、こちらは結合後のレイヤを生成した後、結合前のレイヤを破棄してしまいます。
作業のバックアップも兼ねて結合前のレイヤは残していくのが無難かと思われます。

分かり安い様に結合後のレイヤに名前をつけ、結合前のレイヤは非表示にしてしまいましょう。
レイヤの名前が表示されている部分をダブルクリックで名前を編集できます。
ここでは "ボタン・ボード完成" と付けています。
右の画像では結合前のレイヤの目のアイコンをクリックして非表示に切り替えています。
七転び八起き~やりなおしブログ~七転び八起き~やりなおしブログ~

7. 仕上げにテキストを配置します。
フォントはフォントリストの一番下にあったものを選んでます。
七転び八起き~やりなおしブログ~
"トップページ"を黒で、その下に"Top"を白で書いてます。
七転び八起き~やりなおしブログ~
完成。
下の画像は"Top"が背景の色と似ているのでアウターグローを掛けて輪郭をはっきりさせています。
アウターグローに関してはGIMPのデフォルトに入っていないのでここでは解説しません。
それでも気になるって方はこちらが詳しい
七転び八起き~やりなおしブログ~

ボタン作成工程の解説は以上で終了です。
ここまで読んで頂いた方に私が感じた様な気付きがあったなら光栄です。



# 記事作成に手間取りすぎて何が言いたかったか本題を忘れたのは内緒。
固定回線替わりに使っているLTEちゃんの128kbps制限にまきこまれておりました。
今月もそろそろ逝くのでしょう・・・。

それはさておきOS自作入門をぼちぼち読み進めていたのが1.5ヶ月程前。
やはり本の指示する通りに進めると得る物が薄いので
読むだけで放置していたはじめて読む8086とはじめて読む486を
ちゃんと実行して理解してからあらためてリベンジしようという訳で実行環境を構築しました。
多少面倒だったので使えるツールや解説へのリンクをまとめておこうと思う。

MSDOSをUSBフラッシュメモリから起動
http://lavendy.net/pc/2010/06/usbmsdos.html

仮想環境でのUSBブート(USBブートできないPCでUSBブート)
http://virtnote.blogspot.jp/2012/02/usbos1.html
※私がVMware上で実行した際はconfig.sysのdevice=emm386.exe noemsを
コメントアウトしないと起動画面でフリーズしました。
また、USBメモリに対して書きこみが出来ませんでした。

日本語キーボードへの対応
http://www.nnc.or.jp/~masaya/topics/kidou/boot_e.html
http://www2.gol.com/users/pbw/jkeyb98.htm

DEBUG互換のアプリケーションEXDEB
http://www.vector.co.jp/soft/dos/prog/se008450.html

Turbo C(Cコンパイラ)
http://cc.embarcadero.com/item/25636

Turbo Assembler(アセンブラ)
http://trimtab.ca/2010/tech/tasm-5-intel-8086-turbo-assembler-download/

日本語資料(IA-32 アーキテクチャー)
http://www.intel.co.jp/content/www/jp/ja/developer/download.html
かれこれ前に読み始めたもののいろいろあって結局実践できてなかった本「OS自作入門」
すこし時間が取れそうなのでそろそろ前に進めたいと思う。

前回までの進捗としては
マシン語をそのまま動かすためにはブート可能なディスクイメージを作成する必要があったので、そのプログラムを作成。
本の方はほぼ手付かずという状態(笑)

そんな訳でひとまず前回作ったプログラムをC#で書き直してGUIを実装した。

これで作業がそこそこ捗るハズだ!
使い方は簡単、埋め込みたいファイルをドラッグ&ドロップ。
任意の順番に並べ替えて保存先を選択。作成クリックでイメージファイルが書き出される。以上。
登録したファイルを解除したい場合はプログラムを再起動しなければならない
ほか、例外処理はめんどうだったのでとりあえず全無視という男気あふれる仕様。素敵!

せっかくなので作成したイメージファイルがちゃんと使えるか
複数の環境でブートしてみる。
前回はVMwareで動かしていて問題なかった。今回も問題なく動く模様。
QEMUとやらをダウンロードしてブート。
さっそくブータブルイメージじゃないと怒られる。
うむ。どこを変えればブータブルと判断してくれるのか・・・。

1つ手間の掛かる用事を片付けたぞー
そんな訳でまたDBA対策。
前回の九章続きと十章。

「LOG_ARCHIVE_FORMAT」パラメータ
特殊な意味を持つ文字列が使える
「%t」「%T」スレッド番号
「%s」「%S」ログ順序番号
「%r」「%R」リセットログID
大文字の方を使うと番号の左が0でうまる。

フラッシュバックテーブル
UNDO表領域を利用する
FLASHBACKオブジェクト権限が必要
行の移動を有効化しておく
索引や制約もリカバリされる。

フラッシュバックドロップ
削除された表は一時的に「recyclebin(ゴミ箱)」に格納。
SYSTEM表領域の中の表は復元できない。
recyclebin(ゴミ箱)から削除することをパージと言う。

---- ここから10章 ----
アラートやらアドバイザやら。

ADDM(Automatic Database Diagnostic Monitor)
ボトルネックの提示
デフォルトだと60分おき収集、7日間保存
手動で起動する場合、任意の期間の分析が可能。

MMON(メモリモニタ)
システムの統計情報を取得する。
この内、システム属性に関する統計情報のことを「メトリック」という。
SYSAUX表領域に書き込まれる。

スナップショット
SYSAUX表領域に格納されたADDMが使用する情報のこと

○○アドバイザ
・SQL SQL文
・MTTR インスタンスリカバリに係る時間
・UNDO UNDO表領域のサイズと保存期間
・ADDM データベース全体の問題の解決方法
・SQLアクセス 索引、マテリアライズドビューの作成
・セグメント 表領域およびセグメントの解放

よいしょー。残りは十一章の総まとめ問題だけなのでインプットは終了でございます!
試験までごりごり問題を解きましょうー。
眠気をこらえて第九章。
リカバリ、バックアップなど。

インスタンスリカバリ(クラッシュリカバリ)
インスタンスが異常終了した場合(停電やOSの停止)
1, REDOログファイルを用いてロールフォワード
2, コミットされていないデータをロールバック
これらは「OPEN」状態のときにバックグラウンドプロセスの「SMON」が行う。
「FAST_START_MTTR_TARGET」リカバリに掛かる時間を設定。

完全リカバリ
すべてのREDOログ情報を適用

不完全リカバリ(Point-in-Time)
特定期間のREDOログ情報を適用
必ずMOUNT状態で行う。

メディアリカバリ
データファイルのリカバリ

フラッシュバックテーブル・データベース
過去のある時点のデータに戻す。
無くなったファイルが元に戻るわけではない(?)

フラッシュバックドロップ
誤って削除した表を復元

アーカイブログ
いっぱいになったREDOロググループを記録しておくファイル。

ARCHIVELOGモード
障害時に最新の状態までリカバリ可能
OPEN時のバックアップ可能
フラッシュリカバリ可能

NOARCHIVELOGモード
障害時はバックアップ取得時点までリカバリ可能
OPEN時のバックアップ不可
フラッシュリカバリ不可

一貫性バックアップ
インスタンス停止中にREDO情報がすべて適用された状態の
データファイルのコピーを取得する。
よってリカバリ時にREDOログが必要ない。

非一貫性バックアップ
インスタンス稼働中に

メディアリカバリ
REDOログ情報を用いたリストア
手順自体はインスタンスリカバリと同じ?

九章なげぇ・・・
一旦休憩。