Hatena::ブログ(Diary)

技術のないSEの技術メモ RSSフィード

2010-02-24 勉強会に初参加(参加前の気持ち)

勉強会に参加する理由

01:24

明日(2/24)に、初めて勉強会に参加します。

参加する勉強会は、 2月25日 第11回すくすくスクラム〜ユーザーストーリーはこう書け!〜(東京都)です。


参加するに当たり、参加の意味を深めるために、

勉強会になぜ参加しようと思ったかを纏めておきたいと思います。


なぜ勉強会に参加するか・・・


勉強会そのものが巷ではやっているのは昨年の4月頃から気になっていました。

しかし、最初の一歩がでなかったのです。


一歩がでなかった理由は、自分の中で以下のように思っていたからだと思います。

勉強会に参加しない理由は? – Basic

※ あまりにも自分が勉強会に足が向かなかった理由が簡潔に書かれていたのでリンクさせていただきました。


しかし、以下のような自分の気持ちをクリアーにするために一度は勉強会というものを経験してもいいのではないか、

むしろ、経験してみるべきではないかと思い、勉強会に参加することにしました。

勉強会に参加する動機

  • 今の勤め先の担当で業務経験が一番長い立場になり、新しいスキル・知識を取得しづらい。
  • そもそも会社に依存して生きて行きたくない。
  • 行ってみる前からしり込みしているのは、自分でチャンスをつぶしている。
  • 今の勤め先に不満を持っているが、会社を変えることでその不満は解消するのかを知りたい。


はてさて、どのような結果になるのでしょうか。

なんだか今日は学生の時の遠足の前の日の気分です。


参考にさせていただいたリンク

2009-11-11 2009年10月の目標の達成状況と11月の目標

いつもどおり自分の備忘のためにさらっと更新します。

2009年10月の目標

00:47

達成状況は以下のとおり。

・応用情報処理技術者取得。⇒ まだ結果がでていない。
・Gitで今まで作った各種スクリプトなどを整理する。⇒ ぜんぜんやっていない。
・早起き習慣を身に着ける。⇒ ぜんぜんだめ。
・ブログへの週一回のエントリーを心がける。⇒ 3/4
・膝の治療。⇒ 完了。

2009年11月の目標

00:47

MCTSの資格取得(70-640)
・Gitで今まで作った各種スクリプトなどを整理する。
・早起き習慣を身に着ける。
・ブログへの週一回のエントリーを心がける。(もうすでにだめですが。)
・歯の治療

さて、今月はどれくらいできるんでしょうか。

2009-10-19 資格取得に対する勉強方法について真剣に考えてみる。

資格取得のための勉強法を再考する理由

03:57

週に一度はGTD的な整理もかねてブログを書きたいと思っていても、

なかなか整理するための時間がとれず、2回続けて週末に更新できていません。


それでも、なんとか1日or2日遅れで頭の中を整理して、

ブログを書けているのでいい感じだと思うことにします。


前回のエントリーで書いた応用情報処理技術者試験の誤差の部分ですが、

まったく出題されませんでした。

※ 結果は微妙でした。うかってるといいな・・・


今後まだとりたい資格もあるので、資格取得に対する勉強法を個人的に考えてみました。

いつものとおり備忘も兼ねて、次回からやろうとしている勉強法について下記に纏めます。

下記の(5)と(0)を前々回うけて落ちていることを理由にさぼったのが、まずかったのを纏めてみて痛感中・・・

(0)取得対象の資格について調べる。

03:57


【目的】

・ 取得する資格に対する先人の知恵を拝借する。

・ 先人の知恵が自分にあっているかを確認する。

・ 先人の知恵から自分がどのくらいのスケジュールで実施できるかを確認する。


【やること】

・ 売れ筋の教科書を調べる。

・ 売れ筋の問題集を調べる。

・ 先人の勉強方法を調べる。

・ 調べた結果を纏める。

・ 教科書、問題集が実際にあっているかどうかを現物をみて確認する。

・ 上記をもとに全体のスケジュールを立てる。


【やってはいけないこと】

・ 先人の勉強方法について、調べた結果を鵜呑みにする。


【終了条件】

・ 使用する教科書が決まっていること。

・ 使用する問題集が決まっていること。

・ 取得までのスケジュール感がメモできていること。


※ スケジュールは(1)概読のプロセス含めラフ推奨。

>> 計画を立てることが目的ではなく資格ゲットが目的なので。

※ ただし受験日までのスケジュールを必ず立てること。

※ 各プロセスが終了したときにスケジュールは必ず見直すこと。

(1)概読

03:57


【目的】

・ 勉強することの雰囲気を掴む。

・ 勉強することがどれくらい現時点でしらないかを覚悟する。

・ 勉強する事について知りたい、調べたい欲を刺激する。


【やること】

・ 教科書を2回読む。

・ 章ごとに繰り返し読む。

・ とにかく読む。

※ 章立てごとに繰り返し読むのは、次々と新しい情報を頭に入れるとパニック状態になるから。

※ 長い章立ての場合は、区切る。大体100ページが限度。


【やってはいけないこと】

・ なにかについて調べること。

・ メモすること。


※ 調べたい、知りたい欲求を刺激することが目的なので、特に調べることは禁止。

※ さらにもう一度読むこともあり、ここでわからなくても後でわかることがあるのでメモしない。

※ これをしている最中に資格取得以外のアイデアが生まれたらそれはもちろんメモする。


【終了条件】

・ 教科書一冊二度の概読が終了していること。

(2)最後の概読

03:57


【目的】

・ 今後理解したい事柄を把握する。

・ 今後調査したい事柄を把握する。

・ 今後暗記したい事柄を把握する。


【やること】

・ 教科書を読み、分からない単語、より詳しく調べたい単語に赤線を引く。

・ 教科書を読み、暗記したい単語に青線を引く。

※ 勿論、同一の単語に赤線、青線を引くこともある。

※ 単語単位で線を引く。(文章に線を引いてしまうと管理できなくなってしまう。)

※ ここでいう「単語」は、そのまま『「●●●」について』と書いて違和感のないタイトルになるレベル。



【やってはいけないこと】

・理解しようとすること。

・調査すること。

・暗記しようとすること。


※ 洗い出すことが目的なので、ここで調べださないこと。


【終了条件】

・教科書一冊全てに赤線、青線が引き終わっていること。


※ここまでは絶対に行う。

※ここまでやってあまりわかっていない事柄、暗記していない事柄が少ない場合(5)のプロセスを行う。

※合格点をとることだけが目的の場合は、(5)のプロセスを先に行う。

※ (3)と(4)については同時進行可能。むしろ同時進行したほうがいいかもしれない。

(3)理解したい事柄の処理

03:57


【目的】

・理解する。

・理解したプロセスを残す。


【やること】

・教科書の赤線部分をひたすら調べて理解する。

・調べて理解した作業ログを残す。

・作業ログは、以下の手順でデジタル化する。

>> (テキストファイルで作成 => PDF化 => 携帯に入れて通勤時間に読む)

・理解した作業ログを再度読み返し矛盾がないか自分で確認する。

・理解した事柄で暗記したい事柄ができたら、それぞれの場合に応じて以下のように対応する。

>> 教科書の単語ベースで暗記したい事柄 => 暗記したいものを単語に青線を引く。

>> 調べていた単語ベースで暗記したい事柄 => 暗記したい単語を教科書に青字で追記する。


【やってはいけないこと】

・理解した作業ログを残さないこと。


【終了条件】

・赤線を引いた事項について、すべて理解できていること。

・赤線を引いた事項について、理解した作業ログがすべて残っていること。


※ 自分が理解したプロセスを読み直せば、どの参考書よりもそれは一番わかりやすい参考書になっている。

(4)暗記したい事柄の処理

03:57


【目的】

・暗記する。

・暗記をするための環境を作る。


【やること】

・青字の単語について。以下のWebサービスを利用して単語帳を作る。

>> http://www.tango-cho.com/

・初回の登録時は問題が妥当かも判断しながら解く。

・通勤時間を利用して携帯で上記にアクセスして暗記する。

・作成したオンライン単語帳をダウンロードする。(サービスの停止に備えて)


【やってはいけないこと】

・覚えた気になって暗記するための環境を作らないこと。


【終了条件】

・青字を引いた事項について、すべてオンライン単語帳に記入されていること。

・オンライン単語帳がダウンロードされていること。

・すべての登録した単語について、3度間違えなく解答できていること。

(5)過去問題/問題集を解く

03:57


【目的】

・出題形式に慣れる。

・本番の解く順番を決定する。

・問題形式で理解不足を確認する。


【やること】

・過去問題/問題集を解く。

・自己採点を実施し、理解不足な事柄であれば、(3)のプロセスを実施する。

・自己採点を実施し、暗記していない事柄であれば、(4)のプロセスを実施する。


【やってはいけないこと】

・なんとなくあったっていた場合については、必ず(3)or(4)のプロセスを実施すること。

・勘で問題をとくこと。


【終了条件】

・過去問題/問題集が解き終わっていること。

・すべての理解不足な事柄について、(3)のプロセスを再度実施していること。

・すべての暗記していない事柄について、(4)のプロセスを再度実施していること。


今回は(5)のプロセスがおろそかになったのが痛恨だったのが文字にして痛感できます。

やっぱり「あたまのなか」を整理するためには、文字にすることは本当に大事だと思います。

2009-10-12 このペースで勉強していたら間に合わないな

前回のエントリーで週に1回はエントリーしたいと書いておきながら、

いきなりできていませんが、今週は3連休だったのでなんとか間に合ったと、

ゆるーく考えておきたいと個人的には思っております。


※ 個人的な備忘録のため、やぶったって誰も文句は言わないのはわかっているのですが、

  自分で決めたことをいきなり破っているのでかなり言い訳がましくなっております。


現在10月の目標である応用情報処理技術者試験に向けて勉強しております。

情報処理の試験勉強をしていると毎回覚えられないものに「誤差」の概念があります。

それについて結構まじめに調べたので、備忘として残しておきます。

情報処理用語としての誤差

06:03

誤差とは、論理的に正しい値との差異のこと。

wikipediaによれば、誤差の発生原因は以下の3つがあるとのこと。

(1)データを測定する際に生じる測定誤差

(2)データを計算する際に生じる計算誤差

(3)標本調査による統計誤差(標準誤差)


wikipedia:誤差


今回は主に(2)の 『データを計算する際に生じる計算誤差』が勉強の対象となります。

真の値

06:03

これはwikipedilaの真の値の部分を読めば簡単にわかるのでそのまま引用します。

測定値から誤差を無くすことは不可能である。したがってわれわれが知り得るのは常に誤差付の値でしかない。しかしながら測定すべき量には測定方法とは無関係なある定まった値があると考えるのが合理的である。この値のことを誤差理論において 真の値 とよんでいる。

誤差の評価方法

06:03

誤差の評価方法は以下の二つ。

『相対誤差』

  ⇒ 真の値との割合で評価したもの

  ⇒ 「相対誤差」=誤差 ÷ 真の値


『絶対誤差』

  ⇒ ⇒ 真の値との差で評価したもの

  ⇒ 「絶対誤差」= 誤差 真の値

計算誤差の種類

06:03

以下の5つが対象となります。

(1)丸め誤差

(2)打ち切り誤差

(3)情報落ち

(4)桁落ち

(5)桁あふれ(オーバーフロー/アンダーフロー)


この中でも、(3)情報落ち と(4)桁落ち の区別がなんど覚えても付け焼刃のため忘れるので、

こいつを理解しようってことが今回のエントリーの動機です。

(1)丸め誤差

06:03

数値を、どこかの桁で端数処理(切り上げ・切り捨て・四捨五入・五捨六入・丸めなど)をしたときに生じる誤差。


※ これはわかりやすいし、覚えやすい。

(2)打ち切り誤差

06:03

計算処理を続ければ精度がよくなるにもかかわらず、途中で計算を止めること(打ち切り)によって生じる誤差。


wikipediaの例は自分の数学レベルでは理解できなかったので、以下の例で理解。

http://lecture.ecc.u-tokyo.ac.jp/~yamaguch/johokagaku/2008/trunc2.html


要するに∞回は計算できないから妥協できるn回で計算を途中でやめることによって生じる誤差。

ちなみに、上記の例の「指数関数の原点の周りのテイラー展開」が何かはわからないです・・・

(3)情報落ち

06:03

コンピュータでの計算のときのように有効桁数が限られている条件下で、

絶対値の大きい数と絶対値の小さい数を加減算したとき、絶対値の小さい数が無視されてしまう現象。

これもwikipediaの例でいまいち理解できなかったので、以下の例で理解。

http://rryu.sakura.ne.jp/compfund/backnumber/compfund057.txt


要するに、加減算を行う時、ふたつの数値の指数を等しくするために、

指数の小さい方の数値の仮数を右シフトすることが問題で、

その結果として指数の小さい方の数値の下位ビットは失われてしまいます。


その下位ビットが失われたことが『情報落ち』

■ 情報落ち ■

 加減算を行う時、ふたつの数値の指数を等しくするために、指数の小さい方

の数値の仮数を右シフトします。その結果として指数の小さい方の数値の下位

ビットは失われてしまいます。もしふたつの数値の指数がかけ離れていたとし

たらどうなってしまうでしょうか。仮数の全てのビットは右シフトによって失

われてしまい、実質0を足しているのと同じ状態になります。この現象のこと

を「情報落ち」と言います。


1.00000000000000000000000×2^(+0)

+) 1.00000000000000000000000×2^(-30)

-------------------------------------

1.00000000000000000000000 ×2^(+0)

+) 0.000000000000000000000000000001×2^(+0)

--------------------------------------------

1.00000000000000000000000 ×2^(+0)


 情報落ちは合計を求める時などに問題になります。たとえ小さな数値が1万

個あったとしても、それを全て大きな数値に足し合わせてしまったら、実質1

万回0を足しているようなもので、何も変わらずちっとも合計になりません。

 これを防ぐ最も簡単な方法は、小さい方から足し合わせて行くことです。合

計を求める前に数値を大きさ順に並び替えて、小さい方から順に足し合わせて

いきます。つまり、情報落ちの原因となる極端に大きさの異なる数値の加減算

を行わないように、計算順序を変えてしまうというわけです。

(4)桁落ち

06:03

値がほぼ等しく丸め誤差をもつ数値どうしの減算を行った場合、有効数字が減少すること。

絶対値がほぼ等しく符号が異なる数値どうしの加算の場合も同様。

浮動小数点数では、上位の桁がゼロになると、正規化によってそれを詰め、

以下の桁に"0" を強制的に挿入するので、下位の桁が信頼できないものになる。

特別な場合には、演算式を変形することによって、桁落ちを避けることができる。


これは上記wikipediaから引用した部分は理解できるのだが、その後の例が

いまいち理解できなかったので、以下の例で実例としては理解。

http://rryu.sakura.ne.jp/compfund/backnumber/compfund057.txt


でもまぁ。wikipdeiaにあるように、

浮動小数点数では、上位の桁がゼロになると、正規化によってそれを詰め、以下の桁に"0" を強制的に挿入するので、下位の桁が信頼できないものになる。』

ってことですね。

■ 桁落ち ■

 今度は逆に、ほぼ等しい数値を減算すると起こるのが「桁落ち」です。

桁落ちとは、ほぼ等しい数値を減算したことにより、通常の減算よりも有効桁

数が減少することをいいます。ほぼ等しい数値というのは、上位桁は等しく下

位桁だけが異なるという状態になっています。そこで減算を行うと上位桁は相

殺され0になり、わずかな下位桁だけの差が結果に現れます。有意な数値を保

持している桁数が減るので桁落ちというわけです。


有効桁数24桁

┌────────────┐

1.11111111111111111110111×2^(+10)

+) 1.11111111111111111110001×2^(-10)

-------------------------------------

0.00000000000000000000110×2^(-10)

1.10000000000000000000000×2^(-31)

└─┘

有効桁数2桁


 そもそも有効桁数とはなんでしょうか。たとえば財布に入っている金額を訊

かれたとします。千円札1枚だけが入っているのならば、あなたは「1000円」

だと答えることができます。この場合の金額の有効桁数は4桁となります。1円

単位まで確定しているからです。

100円玉が9枚あるのは分かるが、10円玉や1円玉がたくさんあって分からない

という場合、あなたは「約1000円」と答えるでしょう。表現上の桁数は4桁あ

りますが、この場合の有効桁数は2桁です。10円や1円単位の桁が確定していな

いからです。975円が切り上げられて1000円になったのかもしれませんし、あ

るいは1018円が切り下げられて1000円になったのかもしれません。このよう

に、はっきり確定している部分の桁数が有効桁数というわけです。

 有効桁数が減少すると確実に計算精度が悪くなります。そして一度減った有

効桁数は回復することはできません。つまり減ったら減った分だけ計算精度が

悪くなっていきます。計算によって有効桁数以外の部分にも0以外の数が入る

かもしれませんが、それが正しいという保証はありません。有効桁数以上の部

分は信用できないので、精度を回復することはできないのです。

 桁落ちでもっとも大切なことは、浮動小数点数仮数や指数のビット数にか

かわらず発生するという点です。仮数のビット長を増やしたからといって改善

するものでも無いのです。

 桁落ちを防ぐ最も確実な方法は減算を行わないことです。といってもそんな

ことは不可能なので、たとえ減算が起こるにしても、ほぼ等しい数値の減算で

はなくなるように式を変形するという方法がいくつか知られています。

(5)桁あふれ(オーバーフロー/アンダーフロー)

06:03

これは、wikipedia:算術オーバーフローをみてもまったくわからなかったので、

Google先生にお伺いをたて調査。以下のURLのやり取りにて理解。


理解したURL。(教えてGoo

http://oshiete1.goo.ne.jp/qa366272.html

※ どうでもいいですが、こういうところで回答しているエライ人は、なんで回答しているのでしょうか。。。 モチベーションはなんなのかが非常に気になっている今日この頃です。ものすごく助かりるので本当にありがたいのですが。

簡単にまとめておきます。

完全に引用ですが・・・


回答(1)『概念はこうなんです。って感じですかね。』

 演算においては、ビット幅を越えて桁が溢れてしまうことをオーバーフローといい、限りなく0に近づいた小数が、精度を保てなくなる下位桁溢れをアンダーフローといいます。


回答(2)『図であらわすこうなんです。って感じですかね。』

アンダーフロー <--> 正常範囲 <--> オーバーフロー

回答(2)に関して、正負の概念をいれると、以下のような感じですね。

負のオーバーフロー <--> 正常範囲 <--> 負のアンダーフロー

正のアンダーフロー <--> 正常範囲 <--> 正のオーバーフロー



回答(2)『アンダーフローの実例はこうなんです。って感じですかね。』

アンダーフローとは少々説明が面倒なのですが、

たとえば、5桁しかない電卓に

0.0001という数値は入力できますが

0.00001という数値は入力できないですよね?

こういう状態をアンダーフローと言います。

たとえば小数点以下5桁しか想定していない状態で

1÷100000の計算をすると答えは0.00001ですよね?

小数点以下は6桁ですので、小数点以下の桁あふれ

(アンダーフローエラー)が発生します。

2009-10-04 目標いろいろ〜♪

今年度も下半期に入っていろいろ思うことがあり、

目標という形で纏めたので、いつものとおり備忘のため、下記にまとめます。

2009年度下半期の目標

02:48

2009年度の下半期の大きな目標は、「基礎固め」です。


個人的に20代最後の年ということもあり、

30歳になったときに今までのことを基礎としてさらに飛躍できるよう、

この下半期で基礎を固めていきたいと思います。


そのための具体的な目標を書き出してみました。


1.仕事関連の基礎固め。

(1)自社評価の基礎固め

      ・休まず仕事にいく。(まぁ当たり前ですが健康に留意するということも含めて)
      ・プロジェクト完遂(本稼働後障害=0)
      ・部下の育成(3年後を意識して・・・)

(2)システムスキルの基礎の可視化

      ・応用情報処理技術者取得。
      ・MCITP(サーバ系)三科目合格。

(3)システムスキルの基礎のまとめ

      ・Gitで今まで作った各種スクリプトなどを整理する。
      ・今までの基盤運用ノウハウを整理する。
      ・現担当システムの業務フロー、業務記述書、RCMを作成する。

(4)システムスキルの基礎の強化

      ・勉強会に参加する。
      ・JavaScriptでアプリをひとつ作る。      
      ・rubyでひとつアプリをつくる。
      ・Cでアプリを一つ作る。
      ・C++でアプリを一つ作る。


2.プライベート関連の基礎固め。

(1)個人ワーク環境の基礎

      ・GTD環境を構築する。
      ・PC・携帯のソフト・ハードを含めたデジタルワーク環境を構築する。
      ・ブログへの週一回のエントリーを心がける。
        (GTDの週次レビューも兼ねて)
      
(2)体の基礎

      ・早起き習慣を身に着ける
      ・目の治療(レーシック)
      ・歯の治療
      ・膝の治療

(3)人生の基礎

      ・結婚について真剣に考える(ぉ)

上記のことから毎月月初に重点的な目標を挙げ取り組んで行きたいと思います。

2009年10月の目標

02:48

以下を重点的にやって行こうと思います。

・応用情報処理技術者取得。
・Gitで今まで作った各種スクリプトなどを整理する。
・早起き習慣を身に着ける。
・ブログへの週一回のエントリーを心がける。
・膝の治療。