スポンサーサイト

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

Ruby

今日はRubyのお話です。

Rubyは、日本人である まつもと ゆきひろ氏が作成した、超オブジェクト指向なスクリプト言語です。
何でもPerlを使ってて不便を感じたのが開発のきっかけだったとか。
Rubyという名前も「Perlが宝石の名前だからRubyでいいや」という
ポケモン的な発想なんだそうです。

Ruby誕生は意外と早く、1995年の12月頃です。
有名になりだしたのは2000年くらいからで、その後徐々にパワーアップし、今ではRuby on RailsやJRuby等便利なフレームワーク、処理系が充実してきています。

前置きはこのくらいにして、Rubyの資格試験というのがありまして、
会社に5人以上有資格者がいると、Rubyの高い技術を持った企業として正式に認定されるんです。
http://www.ruby-assn.org/ja/certification/sierlist.htm

というわけで おめが、資格取得して参りました。
受験料15750円。たけー!

落ちたらDS本体をドブに捨てるのと同義なので、必死こいて(一夜漬けで)勉強しました。

そのお陰かどうかは分かりませんが、無事合格できました。やったー!





すんません。オチないです。嬉しかっただけなんです。すみません。

続きを読む

スポンサーサイト

データベースのロック問題について

今日はちょっとマジメにDBのロック問題について
(プログラムの話だから面白くないよ!)

DBのロックは致命的である。
どんなに処理が早いマシンでもピタッと止まってしまう。
ロックは基本的に処理の無限ループか、テーブルロックの取得で起こってしまう。
処理の無限ループは発見しやすいのでいいが(良くないけど)
テーブルロックとなると途端に難しくなる。
例えばAがXのロックを取得し、Yのロックを取得してから終了。
BがYのロックを取得し、Xのロックを取得してから終了 というプログラムがあると、AがXのロック取得時にBがYのロックを取得すると
相互のロックが永久に外れない事になる。
こうなると、XとYを用いる処理全てが止まってしまい、場合によっては連鎖的にロックが発生し、最終的にサイト全体がダウン ということになる。
恐いですねー恐ろしいですねー。

解決法としては、
1.テーブルロックを使わない
2.ロックをかける優先順位を予め定義してからコーディングする

1が出来たら苦労はしません。SEの方は出来るだけ1の選択肢になる設計をしましょう。
(現実的にはシーケンスNoとかで一意の数字を取得する時にどーしてもいるんよね)

2.これは今日お仕事で教えられた事。
ロックの優先順位が定義されていて、コーディングもそれに倣っていたら、少なくとも相互ロックという問題が無くなる。

これは当たり前のようで、当たり前ではなかった。
かなり大きな気づきでした。

ここを見ている人に大規模なネットワークプログラム組む人がいるかは不明だけど、万が一いたら、この辺気を付けてね!
まじ泣けるよ!

続きを読む

テーマ : データベース
ジャンル : コンピュータ

プロフィール

をめが

Author:をめが
をめがの気まぐれ日記へようこそ。
2年近く放置していた気がします。さすが気まぐれ。
FFやったりマビ復帰してみたりして、今度はLunatia辺りでもやろうか悩んでる感じ。

Amazon検索サーチ

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。