新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。


楽観的ロック、悲観的ロック。

更新時のロック手法として使われているもの。

悲観的ロックの場合。
悲観的ロックは「一つのリソースを同時に更新することが頻繁にありうる場合」に利用する。
具体的には、更新のための参照をした時点でロックをかける(SELECT FOR UPDATEとか)
ロック中は別処理では更新できないため、整合性が保たれる。
ただし、処理件数が多いと、その分ロックの時間も増えるため注意も必要。


楽観的ロックの場合。
楽観的ロックは「一つのリソースを同時に更新することはほとんどない場合」に利用する。
具体的には、レコードに更新日時などを持たせておき、
1.参照時に更新日時もを取得
2.更新時の条件句に更新日時を指定し、処理中に更新がないことを確認して更新実施。
悲観的ロックよりも簡単にロックができるが、名前のとおり安全性は悲観的のほうが高い。


楽観的とか悲観的とかなんか嫌だな。つって。
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。


try-catch文の例外処理について


try{
// 通常処理
} catch(final Exception e) {
// 例外処理
}


上記のように、catchしたいExceptionにfinal修飾子をつける時とはどんな時が予想されるのか?

既存のソースを修正していたら、上記のようなコードを見つけましたが
正直finalをつける理由がみつかりませんでした。

結論としては
eclipseの自動挿入機能で勝手に入る可能性。
コーディングチェックツールなんかのワーニングをなくすため。

このfinal修飾子にはほとんどの場合で意味がないためいらないという結論に至った。

意味のないコーディングは修正者を惑わせる。

テーマ:プログラミング - ジャンル:コンピュータ

新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。


スタブとモックの違い

この前誰かが話していました。
スタブとモックって何が違うの?

スタブ:
Java では RMI でリモートのオブジェクトを表現するローカルのプロキシオブジェクトなど

モック:
テストやコンパイル用に用意されたダミークラス。
実際に処理は行わず、呼び出しが行われたかどうか、どんな引数で呼び出されたか、どんな値を返すかなどの指定可能。

スタブは本物と同じものの代用品。
モックは本物の動きに似せた代用品。
ですかね?

テーマ:JUnit - ジャンル:コンピュータ

新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。




初歩的なことなんですが、微妙にはまったので調べてみました。

char型とvarchara型の違い

char は固定長であり、varchar は可変長です。

ここからが大事なところですが、char型とvarchar型には大きな違いがあります。

■char型
char 型のカラムに指定サイズに満たないデータを入れた場合、不足バイト分のスペースで埋められます。

例えば、8 バイトの char 型のカラムに「test」という文字を挿入すると、データベースには「test____」(_はスペース)というデータで格納されます。

固定長のため、必ず8バイトとなるデータが登録されるのです。


■varchar型
archar 型のカラムに指定サイズに満たないデータを入れても、不足バイト分をスペースで埋められません。

128 バイトの varchar 型のカラムに「test」という文字を挿入しても、「test」というデータが格納される。

可変長なので、自分が登録したデータ数だけ登録されるのです。


これらを使いわける場面としては
電話番号などの長さが必ず固定である場合は char 型
その他、氏名などのデータによって長さが変わってくる場合は varchar 型を使うのが良いのかなという感じです。(個人的感想)

ちなみに Oracle の varchar には varchar と varchar2 があるが、それぞれ、254 バイト以下、4000 バイト以下の可変長文字列を表す。

しかし、以前にも書きましたが、javaからvarchar2に格納する場合
2000バイトまでしか格納できないとのこと。

仕様がめんどくさい。
共通化してくれ。

テーマ:ソフトウェア開発 - ジャンル:コンピュータ

新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。


先日本を読んでいて興味をもった内容です。
リファクタリング・ウェットウェアっていう書籍に書かれています。

ドレイファスモデル5段階

ドレイファスとはドレイファス兄弟のこと
彼らによる人間の技能の習得・極める過程についての研究結果で研究対象は、民間航空会社のパイロット、チェスの名人などのある分野の技術にきわめて高いレベルの習熟度を示した人々。
技能ごとに評価するので、個人の生来持つ特性・才能ではないとのこと。




  1. 初心者
    状況に左右されないルール(レシピ)を与えれば、ある程度効率的に仕事を遂行できる。

  2. 中級者
    ほんの少しだけ決まったルールから離れて、独力で仕事にあたることができるが、問題処理には手こずる。

  3. 上級者
    独力で問題に対処でき、未経験の新しい問題の解決方法も考え出せる。

  4. 熟練者
    自分の行動を振り返り、自らの取り組みを修正できる。

  5. 達人
    絶えずよりよい方法を模索し、膨大な経験を上手に引き出して状況に応用できる。直感に従って行動する。現代の魔法使い。




自分は中級者ですかね。
まだまだ達人になるには時間がかかりそうな気がします。
というよりも同じ仕事を10年間続けているのか。
直感で行動できる、それが正しい最善の答えを導くことができる
簡単そうでむずかしいですよね
達人であっても直感が必ずしも正しいわけではない
ただ、直感はどんな行動よりも早く行動することができる
大切です。



テーマ:ソフトウェア開発 - ジャンル:コンピュータ

次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。