<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ディスコ探偵冬景色 &#187; 勉強記録</title>
	<atom:link href="http://blog.udzura.jp/categories/tech/study-memo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.udzura.jp</link>
	<description>a coding class hero is something to be...</description>
	<lastBuildDate>Thu, 29 Jul 2010 05:48:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.udzura.jp/categories/tech/study-memo/feed/" />
		<item>
		<title>僕とデータベーススペシャリストと勉強法</title>
		<link>http://blog.udzura.jp/2010/06/29/study-tips-for-db/</link>
		<comments>http://blog.udzura.jp/2010/06/29/study-tips-for-db/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 11:44:06 +0000</pubDate>
		<dc:creator>udzura</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[勉強記録]]></category>

		<guid isPermaLink="false">http://blog.udzura.jp/?p=463</guid>
		<description><![CDATA[2010年4月に実施された、データベーススペシャリスト試験に合格しました。
いやまあ、未だに「採点ミス？　隣の人の答案じゃないの？」　とか疑ってたりもするんですが（w　さすがに普通に合格したと思います。今回は、DBスペシャリストを目指す皆様のため、私がやってきた勉強の記録を（僭越ながら、さらに言うとうろ覚えながら）列挙してみます。

10月～11月半ば

数年単位の大きな目標をでっち上げる
「応用情報」試験終了の帰りに、参考書を買う
データベースそもそもについての知見を蓄える。僕は『楽々ERDレッスン』を買った

最初の「でっち上げる」ってところなんですが、僕はそもそも「XXXX年までにシステムアーキテクトとDBスペシャリストを取って、足元を固めておく」というゴールを打ち立てて勉強していたんですね。なので、応用情報に関しては、去年10月の時点で落ちていても受かっていても、その次の4月はDBスペシャリストを受けよう、と決めていました。ということで、応用情報の試験から開放されてすぐ次の試験に取りかかったのは自然なことだったんですね。
こういう大きな目標を立てるメリットの一つとして、「資格を目標ではなく手段の中に組み込みやすくなる」ということがあるのかな、と思います。「試験に合格する」ではなく「足元を固める」、というところを念頭に置くということです。
3つ目の項目のような動きもその流れで始めました。
で、これって特にDBスペシャリスト固有のtipsなんですけど、あの試験はDB設計と事例分析が配点の多くを占めます。DB設計って、別に試験のためだけの技術じゃないですし、一般の設計ノウハウ本を読んでおくことはものすごい為になった気がします。試験のための設計と実業務の設計はむろん違いますが、ことDB回りに関しては基本的な考えは一緒（具体的にはとにかく正規化）かな、と。

	
	楽々ERDレッスン (CodeZine BOOKS)
	著者／訳者：(株)スターロジック 羽生 章洋
	出版社：翔泳社( 2006-04-18 )
	単行本 ( 240 ページ )

この本は、そのへんの「理想」と「実務」のバランスがすごくよく取れていて、また実際の例に即して（レッスンなので）設計手順を解説してますんで、業務経験を補うという意味でも勧めます。発行年は古いですけど、その間にRDBMSの考え方が劇的に変化したわけじゃないですから。僕にとっては充分役立ちました。
11月後半～

早期に、「範囲全体」の見渡しをする
見渡したら、最初に過去問第に「体当たり」し、「ショック」を受ける

全体を見渡す、というのは、基本情報を受け始めたときからの癖なんですけど、そもそも全体のゴールが分かっていないとモチベーションが保ちにくいこと、範囲が区切られているとはいえ、各分野は結局どこかでつながっていること、以上2点からまず全体像を把握することを勧めたいと思います。
応用情報ぐらい範囲が広いと逆に辛いかもしれませんが。。。でも、高度試験は特に、各分野が密接に関連しているわけですから。僕は一ヶ月ぐらいで参考書の全範囲を一通り読みました。
ポイントとしては、この「素読み」の段階では、別に問題を解かなくても、着実に一項目ずつ進めなくてもいいということです。マジで意味不明だったら飛ばせばいいという話です。そもそもこの時点で4ヶ月以上残ってるので定着には充分余裕があります。早い段階で全体が見渡せれば、余裕が生まれます。
それに、僕はSQLはほとんど勉強してないです。実務だけで充分な知識がついていたようです。こういう得意不得意が見えてくる、というのも全体を見渡すメリットですね。
で、全部見終わってから一旦実際に出た問題に飛び込んでみる。それも、午前から通しで解くのをお勧めします。
「実問題を解く」のが大事で、上記の得意不得意の分析というのもそうですが、多くの場合、実はそれ以前の問題で、そもそも解ける訳ないんですよね。全体が見えても定着してないんですから。「まだ解けない」という事実を体で理解しましょう。でも、分からないなりに考えてみるのが大事です。
この早期失敗の擬似体験は、試験であがいてみる感じをつかむということと、全体を見渡せたからと言って安心してしまわないようにすること、の二つが大きな狙いです。

	
	情報処理教科書 データベーススペシャリスト 2010年度版 (CD-ROM付)
	著者／訳者：松田 幹子 山下 真吾 三好康 之 
	出版社：翔泳社( 2009-09-18 )
	単行本（ソフトカバー） ( 576 ページ )

僕は素直に、翔泳社の教科書シリーズをメインに使いました。皆さんは2011年度版ですね。。
12月後半～

午前問題はとっとと潰す、そして時間を取られ過ぎない
午後1を脚元固めする

一度一通り解いてみて、ようやく問題を解きまくるフェーズに入るわけですが……。
情報処理の高度試験では、一番大事なのは「午後1」です。午後2は、午後1が完璧に出来ればその知識とコツで解けます。ただ、午前2はちょっと範囲が違ったりするんで（DBスペシャリストなら、セキュリティやネットワークの問題も出てくる）、専用の対策が必要になります。
そうは言ってもあくまでメインディッシュは午後1です。午前2はぶっちゃけ同じ問題を使いまわしているので、ちゃんと対策すれば数週間で8割は安定して取れるようになるでしょう。そうしたら、もう対策は要りません。6割でいいんですから。むろん、直前にもう一度解いてみるのはアリですが、時間を掛けすぎる必要は全然無いですよね。
あと、午前1を受けざるを得ない状況の人は、いっそ思い切って応用情報技術者を取りましょう。午前1の問題範囲は、DBとほとんどかぶらない一般的な内容で（というか、全高度系試験共通）、ここを対策するのは結構な負担です。それならば、どうせ多くの試験は1年に一度しか受けられないのですし、秋の時間で応用情報の浅くとも広い知識を押さえた方がいいんじゃないでしょうか。応用情報処理資格取得者は午前1免除です。これは大きいということです。
午前2が安定してきたら、午後1の対策に入りましょう。まずは無心で、3～4年分の過去問を解いてください。
1月～

午後1のパターンに慣れる
午後2からも逃げ出さない

午後1を3～4年分解けば、以下の事実に気づくと思います。つまり、パターンがあるよね、と。

事例分析（これは第何正規形？とかをしつこく尋ねる）
DB設計（E-R図とかを書かせる）
SQL（穴埋めとかスクラッチとか）
何だか訳の分からないことをさせる問題（インデックスとかリカバリとか）

これ、午後1が4問だったころのパターンなんですけど、3問になってからをふりかえって、2009年度は「1, 2, 3」、今年は「1, 2, 4」でしたね。パターンがまったく無になったということは無いです。
4はDBというか、多分旧アプリケーションエンジニアやシステムアーキテクト的なセンスが要る感じがするんで、ちょっと対策し辛い気がします。1、2、3は対策すれば結果が返ってくる問題形式です。DBスペシャリスト独特の変な作図も慣れればつっかえない程度には書けるようになります（はず。。。）。
過去問は4問時代のものをやるウェイトが増えるでしょうけど、中問1つあたり30分を切る、を目標に頑張りましょう。
同時に、午後2も少しずつ問題を解いていきましょう。何せ全然形式が違うし、大問一つ解くという形式も慣れが必要ですから。理想は午後1は6~8年分、午後2も5年分はやっておきたいところ。
3月～

ちゃんと、使いやすい問題集を買う。資料や書籍をケチらない
毎日何かする


	
	データベーススペシャリスト「専門知識+午後問題」の重点対策〈2010〉 (情報処理技術者試験対策書)
	著者／訳者：山本 森樹
	出版社：アイテック( 2009-12 )
	単行本 ( 506 ページ )

翔泳社の教科書もよかったんですけど、過去問がPDFだったりしたので、印刷とかいろいろ面倒でした。なので、思い切って、改めて問題集を買いました。
この問題集は、午後1、午後2がテーマごとに固まっていて、僕の勉強法では使いやすかったです。特に午後2、印刷したペラペラのハンドアウトでやるのは辛い。。。冊子がいいです。
3月ぐらいになるともう基本知識を一から付けようとか無理なんですが。でも、ちょっとずつでも毎日何かを積み上げましょう。小手先な知識を少しでも付けるのはすごく大事です。59点は不合格ですが60点は合格です。
そして何より、毎日何かしてきた、という実績を積むことで、本試験での精神的余裕が生まれます。
あとは……対策しても落ちる時は落ちます（w　対策不足だ～とかクヨクヨしてても意味ないです。どうせ数年掛けて取るつもり、と割り切って、本試験では余裕の態度で受けましょう。
全体のふりかえり
Keep

「しないこと」を決めたのはよかった。午前問題はもうやらない、とか
全体を最初に見通したのは、プレッシャーの軽減につながった気がした
勉強の目的は「合格＝３」：「知識、知見の取得＝７」の割合で

何だかんだで範囲が広いですから、優先順位を付けましょう。午前問題は後半はほとんどやりませんでした（直前ぐらい）。　この「やらない」って勇気が要りますが、実際午前2が100点でも65点ぐらいでも通過点は通過点なのですから……。大事なこと、よりハードなことにリソースを集中させるべきです。
全体を見渡すことの重要性は、前述の通り。
あと、「知識の足元固めをする」方でモチベーションをコントロールすべきなんですが、そうはいっても「資格を得る」ってでかいですし、何より合格すると気持ちいいですよね（w　合格のための小手先の技も積極的に身につけましょう。でもそっちに走りすぎても目的がブレます。なので、３：７。
Problem

最初から飛ばしすぎて、後半息切れした感がある
「何もしてない」期間がちょっと出てしまった

この二点は密接で、3月頭とかは息切れでほとんど何もしていなかった気がします。。。
継続性とか習慣性が大事な気がします。あと、建て直し。一週間ぐらいサボっても平気な顔で学習継続のループに戻っていけるといいですね。再起動を恐れないというか。
ダメループを自分の意志で断つのには気合が要りますが、重要です。何でもいいから再開してみる、例えば午後2の対策がとっくに終わっていても、とりあえず午後2を久しぶりに解いてみる、とかそういうのがコツでしょうか。
Try

自覚的なモチベーションコントロール
論文対策をする
進捗をメモ程度のものでも記録する
「直前対策勉強会」的なものに一回は行ってみる？

試験対策って要するに勉強なんですけど。でも、何のために資格という形で一つの体系立った知識を勉強するかっていうと、勉強したこと業務とキャリアに生かしたいからですよね。何が言いたいかというと、くどい感じですけど、僕等の仕事は勉強が日々の業務で、日々の業務が勉強だと思うんです。
資格勉強で覚えた正規化理論を仕事で使ったり、逆に実務経験で覚えたSQLで点を稼いだり、そういう感じだと思うんです。
勉強の自己目的化は一番避けたいことだ。
モチベーションコントロールというか、「何のために？」「どうやって？」「何を？」っていうのを念頭に置きつづけることが、最大のパフォーマンスを出すコツなのかなと思います。5W1H(2H)って大事ですけど、僕はその中でも「What」「How」「Why」が特に大事で、後ろに行くほどより大事、そう思っています。
精神論臭くなってしまいましたが。。。
一応常々気をつけてはいますけれど、この辺のモチベーションコントロールに自覚的になりたいんですよね。2010年度SA試験は、そこが一番のTryになると思ってます。
あとのTryは細々としたものですが、「論文」はいままで受けたことのない形式なので普通にチャレンジで、あと進捗記録も、前回はここはいい加減だったのでやってみたいということ。
それから、せっかく対策している人はたくさん居るんですから、同じ目的の人たちでなんらかの人のつながりを作れたらな～とも思います。論文対策勉強会とか、ちゃんと調べて行ってみたいです。
＊　＊　＊
うまくまとめられた気がしないし、参考になるのかはなはだ不明瞭ですが書いてみました。ぼちぼちと直すかもしれません。
取り急ぎ、右サイドバーに「バーンダウンチャート」が出現しています。。。どうなることやら。
]]></description>
			<content:encoded><![CDATA[<p>2010年4月に実施された、データベーススペシャリスト試験に合格しました。</p>
<p>いやまあ、未だに「採点ミス？　隣の人の答案じゃないの？」　とか疑ってたりもするんですが（w　さすがに普通に合格したと思います。今回は、DBスペシャリストを目指す皆様のため、私がやってきた勉強の記録を（僭越ながら、さらに言うとうろ覚えながら）列挙してみます。</p>
<p><span id="more-463"></span></p>
<h3>10月～11月半ば</h3>
<ul style="font-weight:bold;">
<li>数年単位の大きな目標をでっち上げる</li>
<li>「応用情報」試験終了の帰りに、参考書を買う</li>
<li>データベースそもそもについての知見を蓄える。僕は『楽々ERDレッスン』を買った</li>
</ul>
<p>最初の「でっち上げる」ってところなんですが、僕はそもそも<strong>「XXXX年までにシステムアーキテクトとDBスペシャリストを取って、足元を固めておく」というゴールを打ち立てて勉強していた</strong>んですね。なので、応用情報に関しては、去年10月の時点で落ちていても受かっていても、その次の4月はDBスペシャリストを受けよう、と決めていました。ということで、応用情報の試験から開放されてすぐ次の試験に取りかかったのは自然なことだったんですね。</p>
<p>こういう大きな目標を立てるメリットの一つとして、「資格を目標ではなく手段の中に組み込みやすくなる」ということがあるのかな、と思います。<strong>「試験に合格する」ではなく「足元を固める」、というところを念頭に置く</strong>ということです。</p>
<p>3つ目の項目のような動きもその流れで始めました。</p>
<p>で、これって特にDBスペシャリスト固有のtipsなんですけど、あの試験はDB設計と事例分析が配点の多くを占めます。DB設計って、別に試験のためだけの技術じゃないですし、一般の設計ノウハウ本を読んでおくことはものすごい為になった気がします。試験のための設計と実業務の設計はむろん違いますが、ことDB回りに関しては基本的な考えは一緒（具体的にはとにかく正規化）かな、と。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E6%A5%BD%E3%80%85ERD%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3-CodeZine-BOOKS-%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF-%E7%BE%BD%E7%94%9F/dp/4798110663%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798110663"><img src="http://ecx.images-amazon.com/images/I/513Y4RJ7R8L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E6%A5%BD%E3%80%85ERD%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3-CodeZine-BOOKS-%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF-%E7%BE%BD%E7%94%9F/dp/4798110663%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798110663">楽々ERDレッスン (CodeZine BOOKS)</a></p>
	<p><em>著者／訳者：</em>(株)スターロジック 羽生 章洋</p>
	<p><em>出版社：</em>翔泳社( 2006-04-18 )</p>
	<p>単行本 ( 240 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>
<p>この本は、そのへんの「理想」と「実務」のバランスがすごくよく取れていて、また実際の例に即して（レッスンなので）設計手順を解説してますんで、業務経験を補うという意味でも勧めます。発行年は古いですけど、その間にRDBMSの考え方が劇的に変化したわけじゃないですから。僕にとっては充分役立ちました。</p>
<h3>11月後半～</h3>
<ul style="font-weight:bold;">
<li>早期に、「範囲全体」の見渡しをする</li>
<li>見渡したら、最初に過去問第に「体当たり」し、「ショック」を受ける</li>
</ul>
<p>全体を見渡す、というのは、基本情報を受け始めたときからの癖なんですけど、そもそも全体のゴールが分かっていないとモチベーションが保ちにくいこと、範囲が区切られているとはいえ、各分野は結局どこかでつながっていること、以上2点からまず全体像を把握することを勧めたいと思います。</p>
<p>応用情報ぐらい範囲が広いと逆に辛いかもしれませんが。。。でも、高度試験は特に、各分野が密接に関連しているわけですから。僕は一ヶ月ぐらいで参考書の全範囲を一通り読みました。</p>
<p>ポイントとしては、この「素読み」の段階では、<strong>別に問題を解かなくても、着実に一項目ずつ進めなくてもいい</strong>ということです。マジで意味不明だったら飛ばせばいいという話です。そもそもこの時点で4ヶ月以上残ってるので定着には充分余裕があります。<strong>早い段階で全体が見渡せれば、余裕が生まれます。</strong></p>
<p>それに、僕はSQLはほとんど勉強してないです。実務だけで充分な知識がついていたようです。こういう得意不得意が見えてくる、というのも全体を見渡すメリットですね。</p>
<p>で、全部見終わってから一旦実際に出た問題に飛び込んでみる。それも、午前から通しで解くのをお勧めします。</p>
<p>「実問題を解く」のが大事で、上記の得意不得意の分析というのもそうですが、多くの場合、実はそれ以前の問題で、<strong>そもそも解ける訳ない</strong>んですよね。全体が見えても定着してないんですから。「まだ解けない」という事実を体で理解しましょう。でも、分からないなりに考えてみるのが大事です。</p>
<p>この<strong>早期失敗</strong>の擬似体験は、試験であがいてみる感じをつかむということと、全体を見渡せたからと言って安心してしまわないようにすること、の二つが大きな狙いです。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%95%99%E7%A7%91%E6%9B%B8-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88-2010%E5%B9%B4%E5%BA%A6%E7%89%88-CD-ROM%E4%BB%98-%E6%9D%BE%E7%94%B0/dp/4798120448%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798120448"><img src="http://ecx.images-amazon.com/images/I/51fIdAe4HOL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%95%99%E7%A7%91%E6%9B%B8-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88-2010%E5%B9%B4%E5%BA%A6%E7%89%88-CD-ROM%E4%BB%98-%E6%9D%BE%E7%94%B0/dp/4798120448%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798120448">情報処理教科書 データベーススペシャリスト 2010年度版 (CD-ROM付)</a></p>
	<p><em>著者／訳者：</em>松田 幹子 山下 真吾 三好康 之 </p>
	<p><em>出版社：</em>翔泳社( 2009-09-18 )</p>
	<p>単行本（ソフトカバー） ( 576 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>
<p>僕は素直に、翔泳社の教科書シリーズをメインに使いました。皆さんは2011年度版ですね。。</p>
<h3>12月後半～</h3>
<ul style="font-weight:bold;">
<li>午前問題はとっとと潰す、そして時間を取られ過ぎない</li>
<li>午後1を脚元固めする</li>
</ul>
<p>一度一通り解いてみて、ようやく問題を解きまくるフェーズに入るわけですが……。</p>
<p>情報処理の高度試験では、<strong>一番大事なのは「午後1」です</strong>。午後2は、午後1が完璧に出来ればその知識とコツで解けます。ただ、午前2はちょっと範囲が違ったりするんで（DBスペシャリストなら、セキュリティやネットワークの問題も出てくる）、専用の対策が必要になります。</p>
<p>そうは言ってもあくまでメインディッシュは午後1です。午前2はぶっちゃけ同じ問題を使いまわしているので、ちゃんと対策すれば数週間で8割は安定して取れるようになるでしょう。そうしたら、もう対策は<strong>要りません</strong>。<strong>6割でいい</strong>んですから。むろん、直前にもう一度解いてみるのはアリですが、時間を掛けすぎる必要は全然無いですよね。</p>
<p>あと、午前1を受けざるを得ない状況の人は、<strong>いっそ思い切って応用情報技術者を取りましょう</strong>。午前1の問題範囲は、DBとほとんどかぶらない一般的な内容で（というか、全高度系試験共通）、ここを対策するのは結構な負担です。それならば、どうせ多くの試験は1年に一度しか受けられないのですし、秋の時間で応用情報の浅くとも広い知識を押さえた方がいいんじゃないでしょうか。応用情報処理資格取得者は午前1免除です。これは大きいということです。</p>
<p>午前2が安定してきたら、午後1の対策に入りましょう。<strong>まずは無心</strong>で、3～4年分の過去問を解いてください。</p>
<h3>1月～</h3>
<ul style="font-weight:bold;">
<li>午後1のパターンに慣れる</li>
<li>午後2からも逃げ出さない</li>
</ul>
<p>午後1を3～4年分解けば、以下の事実に気づくと思います。つまり、パターンがあるよね、と。</p>
<ol>
<li>事例分析（これは第何正規形？とかをしつこく尋ねる）</li>
<li>DB設計（E-R図とかを書かせる）</li>
<li>SQL（穴埋めとかスクラッチとか）</li>
<li>何だか訳の分からないことをさせる問題（インデックスとかリカバリとか）</li>
</ol>
<p>これ、午後1が4問だったころのパターンなんですけど、3問になってからをふりかえって、2009年度は<strong>「1, 2, 3」</strong>、今年は<strong>「1, 2, 4」</strong>でしたね。<strong>パターンがまったく無になったということは無い</strong>です。</p>
<p>4はDBというか、多分旧アプリケーションエンジニアやシステムアーキテクト的なセンスが要る感じがするんで、ちょっと対策し辛い気がします。<strong>1、2、3は対策すれば結果が返ってくる問題形式です</strong>。DBスペシャリスト独特の変な作図も慣れればつっかえない程度には書けるようになります（はず。。。）。</p>
<p>過去問は4問時代のものをやるウェイトが増えるでしょうけど、中問1つあたり30分を切る、を目標に頑張りましょう。</p>
<p>同時に、午後2も少しずつ問題を解いていきましょう。何せ全然形式が違うし、大問一つ解くという形式も慣れが必要ですから。理想は午後1は6~8年分、午後2も5年分はやっておきたいところ。</p>
<h3>3月～</h3>
<ul style="font-weight:bold;">
<li>ちゃんと、使いやすい問題集を買う。資料や書籍をケチらない</li>
<li>毎日何かする</li>
</ul>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E3%80%8C%E5%B0%82%E9%96%80%E7%9F%A5%E8%AD%98-%E5%8D%88%E5%BE%8C%E5%95%8F%E9%A1%8C%E3%80%8D%E3%81%AE%E9%87%8D%E7%82%B9%E5%AF%BE%E7%AD%96%E3%80%882010%E3%80%89-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93%E5%AF%BE%E7%AD%96%E6%9B%B8-%E5%B1%B1%E6%9C%AC-%E6%A3%AE%E6%A8%B9/dp/4872687949%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4872687949"><img src="http://ecx.images-amazon.com/images/I/51MpH2w5jzL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E3%80%8C%E5%B0%82%E9%96%80%E7%9F%A5%E8%AD%98-%E5%8D%88%E5%BE%8C%E5%95%8F%E9%A1%8C%E3%80%8D%E3%81%AE%E9%87%8D%E7%82%B9%E5%AF%BE%E7%AD%96%E3%80%882010%E3%80%89-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93%E5%AF%BE%E7%AD%96%E6%9B%B8-%E5%B1%B1%E6%9C%AC-%E6%A3%AE%E6%A8%B9/dp/4872687949%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4872687949">データベーススペシャリスト「専門知識+午後問題」の重点対策〈2010〉 (情報処理技術者試験対策書)</a></p>
	<p><em>著者／訳者：</em>山本 森樹</p>
	<p><em>出版社：</em>アイテック( 2009-12 )</p>
	<p>単行本 ( 506 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>
<p>翔泳社の教科書もよかったんですけど、過去問がPDFだったりしたので、印刷とかいろいろ面倒でした。なので、思い切って、改めて問題集を買いました。</p>
<p>この問題集は、午後1、午後2がテーマごとに固まっていて、僕の勉強法では使いやすかったです。特に午後2、印刷したペラペラのハンドアウトでやるのは辛い。。。冊子がいいです。</p>
<p>3月ぐらいになるともう基本知識を一から付けようとか無理なんですが。でも、ちょっとずつでも毎日何かを積み上げましょう。小手先な知識を少しでも付けるのはすごく大事です。<strong>59点は不合格ですが60点は合格です</strong>。</p>
<p>そして何より、毎日何かしてきた、という実績を積むことで、本試験での精神的余裕が生まれます。</p>
<p>あとは……対策しても落ちる時は落ちます（w　対策不足だ～とかクヨクヨしてても意味ないです。どうせ数年掛けて取るつもり、と割り切って、本試験では余裕の態度で受けましょう。</p>
<h3>全体のふりかえり</h3>
<h4>Keep</h4>
<ul style="font-weight:bold;">
<li>「しないこと」を決めたのはよかった。午前問題はもうやらない、とか</li>
<li>全体を最初に見通したのは、プレッシャーの軽減につながった気がした</li>
<li>勉強の目的は「合格＝３」：「知識、知見の取得＝７」の割合で</li>
</ul>
<p>何だかんだで範囲が広いですから、優先順位を付けましょう。午前問題は後半はほとんどやりませんでした（直前ぐらい）。　この「やらない」って勇気が要りますが、実際午前2が100点でも65点ぐらいでも通過点は通過点なのですから……。大事なこと、よりハードなことにリソースを集中させるべきです。</p>
<p>全体を見渡すことの重要性は、前述の通り。</p>
<p>あと、「知識の足元固めをする」方でモチベーションをコントロールすべきなんですが、そうはいっても「資格を得る」ってでかいですし、何より合格すると気持ちいいですよね（w　合格のための小手先の技も積極的に身につけましょう。でもそっちに走りすぎても目的がブレます。なので、３：７。</p>
<h4>Problem</h4>
<ul style="font-weight:bold;">
<li>最初から飛ばしすぎて、後半息切れした感がある</li>
<li>「何もしてない」期間がちょっと出てしまった</li>
</ul>
<p>この二点は密接で、3月頭とかは息切れでほとんど何もしていなかった気がします。。。</p>
<p>継続性とか習慣性が大事な気がします。あと、建て直し。一週間ぐらいサボっても平気な顔で学習継続のループに戻っていけるといいですね。再起動を恐れないというか。</p>
<p>ダメループを自分の意志で断つのには気合が要りますが、重要です。<strong>何でもいいから再開してみる</strong>、例えば午後2の対策がとっくに終わっていても、とりあえず午後2を久しぶりに解いてみる、とかそういうのがコツでしょうか。</p>
<h4>Try</h4>
<ul style="font-weight:bold;">
<li>自覚的なモチベーションコントロール</li>
<li>論文対策をする</li>
<li>進捗をメモ程度のものでも記録する</li>
<li>「直前対策勉強会」的なものに一回は行ってみる？</li>
</ul>
<p>試験対策って要するに勉強なんですけど。でも、何のために資格という形で一つの体系立った知識を勉強するかっていうと、<strong>勉強したこと業務とキャリアに生かしたい</strong>からですよね。何が言いたいかというと、くどい感じですけど、僕等の仕事は勉強が日々の業務で、日々の業務が勉強だと思うんです。</p>
<p>資格勉強で覚えた正規化理論を仕事で使ったり、逆に実務経験で覚えたSQLで点を稼いだり、そういう感じだと思うんです。</p>
<p>勉強の自己目的化は一番避けたいことだ。</p>
<p>モチベーションコントロールというか、「何のために？」「どうやって？」「何を？」っていうのを念頭に置きつづけることが、最大のパフォーマンスを出すコツなのかなと思います。5W1H(2H)って大事ですけど、僕はその中でも<strong>「What」「How」「Why」が特に大事で、後ろに行くほどより大事</strong>、そう思っています。</p>
<p>精神論臭くなってしまいましたが。。。</p>
<p>一応常々気をつけてはいますけれど、この辺のモチベーションコントロールに自覚的になりたいんですよね。2010年度SA試験は、そこが一番のTryになると思ってます。</p>
<p>あとのTryは細々としたものですが、「論文」はいままで受けたことのない形式なので普通にチャレンジで、あと進捗記録も、前回はここはいい加減だったのでやってみたいということ。</p>
<p>それから、せっかく対策している人はたくさん居るんですから、同じ目的の人たちでなんらかの人のつながりを作れたらな～とも思います。論文対策勉強会とか、ちゃんと調べて行ってみたいです。</p>
<h3>＊　＊　＊</h3>
<p>うまくまとめられた気がしないし、参考になるのかはなはだ不明瞭ですが書いてみました。ぼちぼちと直すかもしれません。</p>
<p>取り急ぎ、右サイドバーに「バーンダウンチャート」が出現しています。。。どうなることやら。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.udzura.jp/2010/06/29/study-tips-for-db/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.udzura.jp/2010/06/29/study-tips-for-db/" />
	</item>
		<item>
		<title>僕の考えたカリー化</title>
		<link>http://blog.udzura.jp/2010/01/14/my-own-thought-about-currying/</link>
		<comments>http://blog.udzura.jp/2010/01/14/my-own-thought-about-currying/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 01:21:07 +0000</pubDate>
		<dc:creator>udzura</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[勉強記録]]></category>
		<category><![CDATA[＜技術一般＞]]></category>

		<guid isPermaLink="false">http://blog.udzura.jp/?p=243</guid>
		<description><![CDATA[カリー化とは
複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること。

http://wiki.onakasuita.org/pukiwiki/?%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96
など参考
最近は「関数が第一級のオブジェクト」、要は「手続きの固まり」を文字列や数字のようにモノ扱いできる、RubyやJavaScriptのような言語が普及しているが、そういう言語では「カリー化」の手法が使える。
例えばRubyで、x個の、yから始まる数の総和を求めるorigという関数を考える。

1
2
3
4
5
6
7
def orig&#40;x, y&#41;
  ret = 0
  for i in y..&#40;x + y - 1&#41; do
    ret += i
  end
  return ret
end

（※）
このorig(x, y)を元に、「3個」「4個」「5個」の、yから始まる数の総和を求める関数を作りたい。下の如し。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def curried_orig&#40;x&#41;
  lambda do &#124;y&#124;
    orig&#40;x, y&#41;
  end
end
&#160;
sum3 = curried_orig&#40;3&#41;
#=&#62; #&#60;Proc:0x0000002a955cf098&#62;
sum4 = curried_orig&#40;4&#41;
#=&#62; #&#60;Proc:0x0000002a955cf098&#62;
sum5 = curried_orig&#40;5&#41;
#=&#62; #&#60;Proc:0x0000002a955cf098&#62;
sum3&#91;10&#93;
#=&#62; 10+11+12 = 33
sum4&#91;10&#93;
#=&#62; 10+11+12+13 = [...]]]></description>
			<content:encoded><![CDATA[<p>カリー化とは</p>
<blockquote><p>複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること。</p></blockquote>
<p><a href="http://wiki.onakasuita.org/pukiwiki/?%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96"><br />
http://wiki.onakasuita.org/pukiwiki/?%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96</a><br />
<a href="http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96">http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AA%E3%83%BC%E5%8C%96</a><br />
など参考</p>
<p>最近は「関数が第一級のオブジェクト」、要は「手続きの固まり」を文字列や数字のようにモノ扱いできる、RubyやJavaScriptのような言語が普及しているが、そういう言語では「カリー化」の手法が使える。</p>
<p>例えばRubyで、x個の、yから始まる数の総和を求めるorigという関数を考える。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> orig<span style="color:#006600; font-weight:bold;">&#40;</span>x, y<span style="color:#006600; font-weight:bold;">&#41;</span>
  ret = <span style="color:#006666;">0</span>
  <span style="color:#9966CC; font-weight:bold;">for</span> i <span style="color:#9966CC; font-weight:bold;">in</span> y..<span style="color:#006600; font-weight:bold;">&#40;</span>x <span style="color:#006600; font-weight:bold;">+</span> y <span style="color:#006600; font-weight:bold;">-</span> <span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
    ret <span style="color:#006600; font-weight:bold;">+</span>= i
  <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> ret
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p><a href="#foot-0113">（※）</a></p>
<p>このorig(x, y)を元に、「3個」「4個」「5個」の、yから始まる数の総和を求める関数を作りたい。下の如し。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> curried_orig<span style="color:#006600; font-weight:bold;">&#40;</span>x<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#CC0066; font-weight:bold;">lambda</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>y<span style="color:#006600; font-weight:bold;">|</span>
    orig<span style="color:#006600; font-weight:bold;">&#40;</span>x, y<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
sum3 = curried_orig<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#008000; font-style:italic;">#=&gt; #&lt;Proc:0x0000002a955cf098&gt;</span>
sum4 = curried_orig<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#008000; font-style:italic;">#=&gt; #&lt;Proc:0x0000002a955cf098&gt;</span>
sum5 = curried_orig<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">5</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#008000; font-style:italic;">#=&gt; #&lt;Proc:0x0000002a955cf098&gt;</span>
sum3<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span>
<span style="color:#008000; font-style:italic;">#=&gt; 10+11+12 = 33</span>
sum4<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span>
<span style="color:#008000; font-style:italic;">#=&gt; 10+11+12+13 = 46</span>
sum5<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span>
<span style="color:#008000; font-style:italic;">#=&gt; 10+11+12+13+14 = 60</span></pre></td></tr></table></div>

<p>sum3やsum4に束縛されるのは、実際にはメソッドというよりProcオブジェクトなので、()ではなく[]で呼び出す。</p>
<p>Ruby1.9.1からは「<code>Proc#curry</code>」が導入され、よりすっきり書ける。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">sum_x = <span style="color:#CC0066; font-weight:bold;">lambda</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>x, y<span style="color:#006600; font-weight:bold;">|</span>
  ret = <span style="color:#006666;">0</span>
  <span style="color:#9966CC; font-weight:bold;">for</span> i <span style="color:#9966CC; font-weight:bold;">in</span> x...<span style="color:#006600; font-weight:bold;">&#40;</span>x <span style="color:#006600; font-weight:bold;">+</span> y<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
    ret <span style="color:#006600; font-weight:bold;">+</span>= i
  <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> ret
<span style="color:#006600; font-weight:bold;">&#125;</span>
sum3 = sum_x.<span style="color:#9900CC;">curry</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span>
sum3<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span>
<span style="color:#008000; font-style:italic;">#=&gt; 10+11+12 = 33</span></pre></td></tr></table></div>

<p>数学的な概念は良く分かっていないけど。<br />
<a href="http://www.nslabs.jp/closure.rhtml"><br />
http://www.nslabs.jp/closure.rhtml</a></p>
<blockquote><p>「カリー化」とは (A, B) -> C という関数をA -> (B -> C) という関数に変換することです。 </p></blockquote>
<p><a href="http://www.khelll.com/blog/ruby/ruby-currying/"><br />
http://www.khelll.com/blog/ruby/ruby-currying/</a></p>
<blockquote><p>Check this function f which takes 3 params x,y,z</p>
<blockquote><p>
f(x,y,z) = 4*x+3*y+2*z</p></blockquote>
<p>Currying means that we can rewrite the function as a composition of 3 functions(a function for each param):</p>
<blockquote><p>f(x)(y)(z) = 2*z+(3*y+(4*x))</p></blockquote>
</blockquote>
<p><a href="http://www.ruby-forum.com/topic/142699#633354">http://www.ruby-forum.com/topic/142699#633354</a></p>
<blockquote><p>
It&#8217;s not difficult at all,</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">  <span style="color:#CC0066; font-weight:bold;">proc</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>x, y, z<span style="color:#006600; font-weight:bold;">|</span> x <span style="color:#006600; font-weight:bold;">+</span> y <span style="color:#006600; font-weight:bold;">+</span> z <span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color:#9900CC;">curry</span></pre></td></tr></table></div>

<p>returns the proc object equivalent to</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">  <span style="color:#CC0066; font-weight:bold;">proc</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>x<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#CC0066; font-weight:bold;">proc</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>y<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#CC0066; font-weight:bold;">proc</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>z<span style="color:#006600; font-weight:bold;">|</span> x <span style="color:#006600; font-weight:bold;">+</span> y <span style="color:#006600; font-weight:bold;">+</span> z <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#006600; font-weight:bold;">&#125;</span></pre></td></tr></table></div>

</blockquote>
<p>実際利用する時に「関数の部分適用」と「カリー化」を区別する意味ってあまり無いかもしれないんだけど。「<code>Proc#curry</code>」はこういう意味ですよ、というのは認識したほうがいいのかも。</p>
<p>その他のカリー化の使い方例　参考：「Fun with Procs in Ruby 1.9」<br />
<a href="http://pragdave.blogs.pragprog.com/pragdave/2008/09/fun-with-procs.html">http://pragdave.blogs.pragprog.com/pragdave/2008/09/fun-with-procs.html</a></p>
<h3 id="foot-0113">＊　＊　＊</h3>
<p><strong>※：</strong>　個人的に普段はこう書いてしまい俺気持ちが悪い。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> orig<span style="color:#006600; font-weight:bold;">&#40;</span>x, y<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#006600; font-weight:bold;">&#40;</span>0...<span style="color:#9900CC;">x</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">to_a</span>.<span style="color:#9900CC;">map</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>v<span style="color:#006600; font-weight:bold;">|</span> y <span style="color:#006600; font-weight:bold;">+</span> v<span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color:#9900CC;">inject</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>d, s<span style="color:#006600; font-weight:bold;">|</span> d <span style="color:#006600; font-weight:bold;">+</span>= s<span style="color:#006600; font-weight:bold;">&#125;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.udzura.jp/2010/01/14/my-own-thought-about-currying/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.udzura.jp/2010/01/14/my-own-thought-about-currying/" />
	</item>
		<item>
		<title>関数型っぽい言語を比較 &#8211; Quick Sort編 -</title>
		<link>http://blog.udzura.jp/2009/12/29/comparison-between-functional-languages/</link>
		<comments>http://blog.udzura.jp/2009/12/29/comparison-between-functional-languages/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 03:24:27 +0000</pubDate>
		<dc:creator>udzura</dc:creator>
				<category><![CDATA[勉強記録]]></category>
		<category><![CDATA[＜技術一般＞]]></category>

		<guid isPermaLink="false">http://blog.udzura.jp/?p=219</guid>
		<description><![CDATA[関数型な書き方が得意な言語を比較。目に付いたモノを一通り見ただけの自分メモです。。

Erlang

1
2
3
 qsort&#40;&#91;&#93;&#41; -&#62; &#91;&#93;;
 qsort&#40;&#91;Pivot&#124;Rest&#93;&#41; -&#62;
     qsort&#40;&#91; X &#124;&#124; X &#60;- Rest, X &#60; Pivot&#93;&#41; ++ &#91;Pivot&#93; ++ qsort&#40;&#91; Y &#124;&#124; Y &#60;- Rest, Y &#62;= Pivot&#93;&#41;.

from http://ja.wikipedia.org/wiki/Erlang#.E9.96.A2.E6.95.B0.E5.9E.8B.E8.A8.80.E8.AA.9E
Haskell

1
2
qsort &#91;&#93; = &#91;&#93;
qsort &#40;x:xs&#41; = qsort &#91;y &#124; y &#60;- xs, y &#60; x&#93; ++ &#91;x&#93; ++ qsort &#91;y &#124; y &#60;- xs, [...]]]></description>
			<content:encoded><![CDATA[<p>関数型な書き方が得意な言語を比較。目に付いたモノを一通り見ただけの自分メモです。。</p>
<p><span id="more-219"></span></p>
<h3>Erlang</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="erlang" style="font-family:monospace;"> <span style="color: #ff3c00;">qsort</span><span style="color: #109ab8;">&#40;</span><span style="color: #109ab8;">&#91;</span><span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#41;</span> <span style="color: #6bb810;">-&gt;</span> <span style="color: #109ab8;">&#91;</span><span style="color: #109ab8;">&#93;</span><span style="color: #6bb810;">;</span>
 <span style="color: #ff3c00;">qsort</span><span style="color: #109ab8;">&#40;</span><span style="color: #109ab8;">&#91;</span><span style="color: #45b3e6;">Pivot</span>|Rest<span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#41;</span> <span style="color: #6bb810;">-&gt;</span>
     <span style="color: #ff3c00;">qsort</span><span style="color: #109ab8;">&#40;</span><span style="color: #109ab8;">&#91;</span> <span style="color: #45b3e6;">X</span> <span style="color: #014ea4;">||</span> <span style="color: #45b3e6;">X</span> <span style="color: #014ea4;">&lt;-</span> <span style="color: #45b3e6;">Rest</span><span style="color: #6bb810;">,</span> <span style="color: #45b3e6;">X</span> <span style="color: #014ea4;">&lt;</span> <span style="color: #45b3e6;">Pivot</span><span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#41;</span> <span style="color: #014ea4;">++</span> <span style="color: #109ab8;">&#91;</span><span style="color: #45b3e6;">Pivot</span><span style="color: #109ab8;">&#93;</span> <span style="color: #014ea4;">++</span> <span style="color: #ff3c00;">qsort</span><span style="color: #109ab8;">&#40;</span><span style="color: #109ab8;">&#91;</span> <span style="color: #45b3e6;">Y</span> <span style="color: #014ea4;">||</span> <span style="color: #45b3e6;">Y</span> <span style="color: #014ea4;">&lt;-</span> <span style="color: #45b3e6;">Rest</span><span style="color: #6bb810;">,</span> <span style="color: #45b3e6;">Y</span> <span style="color: #014ea4;">&gt;=</span> <span style="color: #45b3e6;">Pivot</span><span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#41;</span><span style="color: #6bb810;">.</span></pre></td></tr></table></div>

<p>from <a href="http://ja.wikipedia.org/wiki/Erlang#.E9.96.A2.E6.95.B0.E5.9E.8B.E8.A8.80.E8.AA.9E">http://ja.wikipedia.org/wiki/Erlang#.E9.96.A2.E6.95.B0.E5.9E.8B.E8.A8.80.E8.AA.9E</a></p>
<h3>Haskell</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="haskell" style="font-family:monospace;">qsort <span style="color: green;">&#91;</span><span style="color: green;">&#93;</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span><span style="color: green;">&#93;</span>
qsort <span style="color: green;">&#40;</span>x:xs<span style="color: green;">&#41;</span> <span style="color: #339933; font-weight: bold;">=</span> qsort <span style="color: green;">&#91;</span>y <span style="color: #339933; font-weight: bold;">|</span> y <span style="color: #339933; font-weight: bold;">&lt;-</span> xs<span style="color: #339933; font-weight: bold;">,</span> y <span style="color: #339933; font-weight: bold;">&lt;</span> x<span style="color: green;">&#93;</span> <span style="color: #339933; font-weight: bold;">++</span> <span style="color: green;">&#91;</span>x<span style="color: green;">&#93;</span> <span style="color: #339933; font-weight: bold;">++</span> qsort <span style="color: green;">&#91;</span>y <span style="color: #339933; font-weight: bold;">|</span> y <span style="color: #339933; font-weight: bold;">&lt;-</span> xs<span style="color: #339933; font-weight: bold;">,</span> y <span style="color: #339933; font-weight: bold;">&gt;=</span> x<span style="color: green;">&#93;</span></pre></td></tr></table></div>

<p>from <a href="http://d.hatena.ne.jp/salmonsnare/20090414/1239690094">http://d.hatena.ne.jp/salmonsnare/20090414/1239690094</a></p>
<h3>OCaml</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;"><span style="color: #06c; font-weight: bold;">let</span> <span style="color: #06c; font-weight: bold;">rec</span> quicksort <span style="color: #a52a2a;">=</span> <span style="color: #06c; font-weight: bold;">function</span>
    <span style="color: #6c6;">&#91;</span><span style="color: #6c6;">&#93;</span> <span style="color: #a52a2a;">-&gt;</span> <span style="color: #6c6;">&#91;</span><span style="color: #6c6;">&#93;</span>     <span style="color: #5d478b; font-style: italic;">(* base case *)</span>
  <span style="color: #a52a2a;">|</span> hd<span style="color: #a52a2a;">::</span>tl <span style="color: #a52a2a;">-&gt;</span>
      <span style="color: #06c; font-weight: bold;">let</span> <span style="color: #6c6;">&#40;</span>lt, gt<span style="color: #6c6;">&#41;</span> <span style="color: #a52a2a;">=</span> <span style="color: #06c; font-weight: bold;">List</span><span style="color: #a52a2a;">.</span><span style="color: #060;">partition</span> <span style="color: #6c6;">&#40;</span><span style="color: #06c; font-weight: bold;">fun</span> i <span style="color: #a52a2a;">-&gt;</span> i <span style="color: #a52a2a;">&lt;</span> hd<span style="color: #6c6;">&#41;</span> tl <span style="color: #06c; font-weight: bold;">in</span>
        <span style="color: #6c6;">&#40;</span>quicksort lt<span style="color: #6c6;">&#41;</span>@<span style="color: #6c6;">&#91;</span>hd<span style="color: #6c6;">&#93;</span>@<span style="color: #6c6;">&#40;</span>quicksort gt<span style="color: #6c6;">&#41;</span><span style="color: #a52a2a;">;;</span></pre></td></tr></table></div>

<p>from <a href="http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/first_use.html">http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/first_use.html</a></p>
<h3>Scala</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="scala" style="font-family:monospace;"> <span style="color: #0000ff; font-weight: bold;">def</span> qsort<span style="color: #F78811;">&#40;</span>list<span style="color: #000080;">:</span> List<span style="color: #F78811;">&#91;</span>Int<span style="color: #F78811;">&#93;</span><span style="color: #F78811;">&#41;</span><span style="color: #000080;">:</span> List<span style="color: #F78811;">&#91;</span>Int<span style="color: #F78811;">&#93;</span> <span style="color: #000080;">=</span> 
   list <span style="color: #0000ff; font-weight: bold;">match</span> <span style="color: #F78811;">&#123;</span>
     <span style="color: #0000ff; font-weight: bold;">case</span> Nil <span style="color: #000080;">=&gt;</span> Nil
     <span style="color: #0000ff; font-weight: bold;">case</span> pivot<span style="color: #000080;">::</span>tail <span style="color: #000080;">=&gt;</span> qsort<span style="color: #F78811;">&#40;</span>tail.<span style="color: #000000;">filter</span><span style="color: #F78811;">&#40;</span><span style="color: #000080;">_</span> <span style="color: #000080;">&lt;</span> pivot<span style="color: #F78811;">&#41;</span><span style="color: #F78811;">&#41;</span> <span style="color: #000080;">::</span> pivot <span style="color: #000080;">::</span> qsort<span style="color: #F78811;">&#40;</span>tail.<span style="color: #000000;">filter</span><span style="color: #F78811;">&#40;</span><span style="color: #000080;">_</span> <span style="color: #000080;">&gt;=</span> pivot<span style="color: #F78811;">&#41;</span><span style="color: #F78811;">&#41;</span>
   <span style="color: #F78811;">&#125;</span></pre></td></tr></table></div>

<p>from <a href="http://en.wikipedia.org/wiki/Scala_%28programming_language%29#Functional_programming">http://en.wikipedia.org/wiki/Scala_%28programming_language%29#Functional_programming</a></p>
<h3>所感</h3>
<ul>
<li>一つ読めればみんな読める（僕の場合まずErlangを一通りやったんだけど、他のもまあ、同じ考えかなって）</li>
<li>関数型だとQuick Sortって直感的な気がする</li>
<li>リスト内包表現があると短い</li>
<li>再帰、パターンマッチング、carとcdr的なもの</li>
<li>というか4つともシンタックスハイライトが効いてて驚愕</li>
</ul>
<h3>おまけ</h3>
<ul>
<li>Rubyの場合</li>
</ul>
<p>どうとでも書けるけど、こう書けますよね。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> quick_sort<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>args<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#9966CC; font-weight:bold;">if</span> args.<span style="color:#9900CC;">empty</span>?
  pivot = args.<span style="color:#9900CC;">pop</span>
  quick_sort<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>args.<span style="color:#CC0066; font-weight:bold;">select</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>v<span style="color:#006600; font-weight:bold;">|</span> v <span style="color:#006600; font-weight:bold;">&lt;</span> pivot<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#006600; font-weight:bold;">&#91;</span>pivot<span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">+</span> quick_sort<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>args.<span style="color:#CC0066; font-weight:bold;">select</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>v<span style="color:#006600; font-weight:bold;">|</span> v <span style="color:#006600; font-weight:bold;">&gt;</span>= pivot<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>「<code>Array#pop</code>」という明らかに副作用のあるメソッドを使った方が短くなる。。とはいえ、大体同じ考え方で書けてしまいます。</p>
<p><ins>追記。もっとひどくて短い書き方を思いついた。。</ins></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> quick_sort<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>args<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>pivot, <span style="color:#006600; font-weight:bold;">*</span>tail = args<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">empty</span>?
  quick_sort<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>tail.<span style="color:#CC0066; font-weight:bold;">select</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>v<span style="color:#006600; font-weight:bold;">|</span> v <span style="color:#006600; font-weight:bold;">&lt;</span> pivot<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#006600; font-weight:bold;">&#91;</span>pivot<span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">+</span> quick_sort<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>tail.<span style="color:#CC0066; font-weight:bold;">select</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>v<span style="color:#006600; font-weight:bold;">|</span> v <span style="color:#006600; font-weight:bold;">&gt;</span>= pivot<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.udzura.jp/2009/12/29/comparison-between-functional-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.udzura.jp/2009/12/29/comparison-between-functional-languages/" />
	</item>
		<item>
		<title>受けたい資格とか考えてみた</title>
		<link>http://blog.udzura.jp/2009/11/16/it-qualification-i-want-to-get/</link>
		<comments>http://blog.udzura.jp/2009/11/16/it-qualification-i-want-to-get/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 14:06:14 +0000</pubDate>
		<dc:creator>udzura</dc:creator>
				<category><![CDATA[勉強記録]]></category>

		<guid isPermaLink="false">http://blog.udzura.jp/?p=99</guid>
		<description><![CDATA[基本情報処理技術者試験の合格発表日です。受けた方々はお疲れ様でした。僕は応用情報を受けたので、来月半ばまでは落ち着かない日々ですが。。。
そんな日に資格について考えてみた。今日池袋のジュンク堂寄ってきたので、ついでにじろじろ見てきたこともあり。

データベーススペシャリスト
来年春受けるつもりで勉強してる。クソ難しいらしいが、制度が変わった去年は合格率が7～8％から一気に10％越えになったらしい。応用情報その他と同じく、「絶対評価で」全試験6割取れればいいらしい。
そうは言っても日本に1万人ちょっとしか合格者がいない（旧制度から数えて）。
過去問題をやり始めたのだけど、知識で落ちるというより（午前２大丈夫そう）、解答のノウハウで落ちる感じ。言ってる意味がさっぱり分からんことはないけど、意図するところを日本語にするのが大変困難。自分の頭でなくて、「データベーススペシャリスト」の頭で考えなければならない。
あと体力……（w
今んとこは半年先なので不明だが、やってて「不条理な試験だ！」　とかそこまでは思ってないので頑張りたいところ。
システムアーキテクト
来年秋に受ける予定だが、丸一年後なので今言ってもなあ、というところ（w
でも、最近気づいたけど、僕あんまコーディング好きじゃないっぽくて、むしろシステムアーキテクトの想定する所の仕事の方が楽しめる気がする。冗長構成とか？　パフォーマンスとか？　仮想化とか？　そういう知識をもうちょっと欲しい。
あと、プロマネは僕の年齢と業務経験的にやりすぎかなあとも思うし、セキュリティとか他のスペシャリスト系は、DBを取れば十分技術のアピールになる、ということと、あと色々持っててもアピールポイントがブレてしまう気がする。
ということでちょっとずつでも知識を付けていこうかと思う。
でもまあ、DBの方が優先順位高いです。
Ruby技術者認定試験
先ずもって意味があるのか、というところからなんですけどね（w　半年先の試験にずっと集中するのも何なので受けてみようかと考えている。なにしろCBTだから気軽に受けられそう。就活思い出すな。。
しかも今、無料リテイクキャンペーンなるものをやってるので、一回落ちて再受験しても、結果一回あたりの試験料は7,500円で済むし。国家試験並みだなー。相当盛り上げたいんだろうな。
最終的にSilver、Gold、Platinumの三段階があるらしい。今はSilverしか受けられない（これも微妙。Silverなんてすぐ価値がなくなっちまわないか？）。。
TOEICとか
無限に英語から逃げつづけるわけにも行かないので、どこかのタイミングでやりたい。うーん、とはいえ英語なんてすぐ思い出せそうな気もするし、大変な苦労をするような気もする（w
リスニング対策は今からでもやればいいんだけど。ちょっと気分が乗らないので何もしていない。ダメだわ。。
点数すら分からない、という状態が今なので、ずっとそれは避けたいんですよね。

まとめると、実務ですべての力が付けばいいんだけど、そういうわけにも行かないので勉強頑張りましょう。逃げてはいけません。
ところで、、、受験シーズン本格化ですね。
こういう風に一人で色々勉強していると、頑張っている受験生の姿とかは（何か変な立場だけど）勇気づけられたりもするので、何というか皆さんの成功をお祈りしています。僕も成功するよう頑張ります。
]]></description>
			<content:encoded><![CDATA[<p>基本情報処理技術者試験の合格発表日です。受けた方々はお疲れ様でした。僕は応用情報を受けたので、来月半ばまでは落ち着かない日々ですが。。。</p>
<p>そんな日に資格について考えてみた。今日池袋のジュンク堂寄ってきたので、ついでにじろじろ見てきたこともあり。</p>
<p><span id="more-99"></span></p>
<h3>データベーススペシャリスト</h3>
<p>来年春受けるつもりで勉強してる。クソ難しいらしいが、制度が変わった去年は合格率が7～8％から一気に10％越えになったらしい。応用情報その他と同じく、「絶対評価で」全試験6割取れればいいらしい。</p>
<p>そうは言っても日本に1万人ちょっとしか合格者がいない（旧制度から数えて）。</p>
<p>過去問題をやり始めたのだけど、知識で落ちるというより（午前２大丈夫そう）、解答のノウハウで落ちる感じ。言ってる意味がさっぱり分からんことはないけど、意図するところを日本語にするのが大変困難。自分の頭でなくて、「データベーススペシャリスト」の頭で考えなければならない。</p>
<p>あと体力……（w</p>
<p>今んとこは半年先なので不明だが、やってて「不条理な試験だ！」　とかそこまでは思ってないので頑張りたいところ。</p>
<h3>システムアーキテクト</h3>
<p>来年秋に受ける予定だが、丸一年後なので今言ってもなあ、というところ（w</p>
<p>でも、最近気づいたけど、僕あんまコーディング好きじゃないっぽくて、むしろシステムアーキテクトの想定する所の仕事の方が楽しめる気がする。冗長構成とか？　パフォーマンスとか？　仮想化とか？　そういう知識をもうちょっと欲しい。</p>
<p>あと、プロマネは僕の年齢と業務経験的にやりすぎかなあとも思うし、セキュリティとか他のスペシャリスト系は、DBを取れば十分技術のアピールになる、ということと、あと色々持っててもアピールポイントがブレてしまう気がする。</p>
<p>ということでちょっとずつでも知識を付けていこうかと思う。</p>
<p>でもまあ、DBの方が優先順位高いです。</p>
<h3>Ruby技術者認定試験</h3>
<p>先ずもって意味があるのか、というところからなんですけどね（w　半年先の試験にずっと集中するのも何なので受けてみようかと考えている。なにしろCBTだから気軽に受けられそう。就活思い出すな。。</p>
<p>しかも今、<a href="http://www.ruby-assn.org/ja/">無料リテイクキャンペーン</a>なるものをやってるので、一回落ちて再受験しても、結果一回あたりの試験料は7,500円で済むし。国家試験並みだなー。相当盛り上げたいんだろうな。</p>
<p>最終的にSilver、Gold、Platinumの三段階があるらしい。今はSilverしか受けられない（これも微妙。Silverなんてすぐ価値がなくなっちまわないか？）。。</p>
<h3>TOEICとか</h3>
<p>無限に英語から逃げつづけるわけにも行かないので、どこかのタイミングでやりたい。うーん、とはいえ英語なんてすぐ思い出せそうな気もするし、大変な苦労をするような気もする（w</p>
<p>リスニング対策は今からでもやればいいんだけど。ちょっと気分が乗らないので何もしていない。ダメだわ。。</p>
<p>点数すら分からない、という状態が今なので、ずっとそれは避けたいんですよね。</p>
<hr />
<p>まとめると、実務ですべての力が付けばいいんだけど、そういうわけにも行かないので勉強頑張りましょう。逃げてはいけません。</p>
<p>ところで、、、受験シーズン本格化ですね。</p>
<p>こういう風に一人で色々勉強していると、頑張っている受験生の姿とかは（何か変な立場だけど）勇気づけられたりもするので、何というか皆さんの成功をお祈りしています。僕も成功するよう頑張ります。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.udzura.jp/2009/11/16/it-qualification-i-want-to-get/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.udzura.jp/2009/11/16/it-qualification-i-want-to-get/" />
	</item>
		<item>
		<title>楽々ERDレッスン 読んだ</title>
		<link>http://blog.udzura.jp/2009/11/09/erd-lesson/</link>
		<comments>http://blog.udzura.jp/2009/11/09/erd-lesson/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 15:02:38 +0000</pubDate>
		<dc:creator>udzura</dc:creator>
				<category><![CDATA[勉強記録]]></category>
		<category><![CDATA[＜本＞]]></category>

		<guid isPermaLink="false">http://blog.udzura.jp/?p=14</guid>
		<description><![CDATA[大まかに読んだ。
正直、僕の理解力では何度も読み直さないといけないし、でもそうするに足る本だと思う。
感想を羅列。

書籍全体にあふれる「RDBMSへの愛情」が素晴らしいと思った。愛に溢れる語りは、僕は読んでいてとても気持ちがいい（って技術書なのだけど)。。
DB設計のとこのみならず、RDBMSのアーキテクチャとかSQLのしくみとか全体的に押さえてあるので、「データベーススペシャリスト」の勉強を本格的に始める前に読んだのは正解。
発行年が2006年4月で、古いのが気にかかる。。
最終章「楽々ERDレッスン」は内容濃厚。素読みでは理解できた気がしない。。

文章はかなり読みやすいので、DBで頑張ろうという方にはおすすめです。
まあ、僕が言うまでもなく、ウェッブ上たくさんいいレビューがあるんでそちらもご参照くださいね。。

	
	楽々ERDレッスン (CodeZine BOOKS)
	著者／訳者：(株)スターロジック 羽生 章洋
	出版社：翔泳社( 2006-04-18 )
	単行本 ( 240 ページ )

]]></description>
			<content:encoded><![CDATA[<p>大まかに読んだ。</p>
<p>正直、僕の理解力では何度も読み直さないといけないし、でもそうするに足る本だと思う。</p>
<p><span id="more-14"></span>感想を羅列。</p>
<ul>
<li>書籍全体にあふれる「RDBMSへの愛情」が素晴らしいと思った。愛に溢れる語りは、僕は読んでいてとても気持ちがいい（って技術書なのだけど)。。</li>
<li>DB設計のとこのみならず、RDBMSのアーキテクチャとかSQLのしくみとか全体的に押さえてあるので、「データベーススペシャリスト」の勉強を本格的に始める前に読んだのは正解。</li>
<li>発行年が2006年4月で、古いのが気にかかる。。</li>
<li>最終章「楽々ERDレッスン」は内容濃厚。素読みでは理解できた気がしない。。</li>
</ul>
<p>文章はかなり読みやすいので、DBで頑張ろうという方にはおすすめです。</p>
<p>まあ、僕が言うまでもなく、ウェッブ上たくさんいいレビューがあるんでそちらもご参照くださいね。。</p>
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E6%A5%BD%E3%80%85ERD%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3-CodeZine-BOOKS-%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF-%E7%BE%BD%E7%94%9F/dp/4798110663%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798110663"><img src="http://ecx.images-amazon.com/images/I/513Y4RJ7R8L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E6%A5%BD%E3%80%85ERD%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3-CodeZine-BOOKS-%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF-%E7%BE%BD%E7%94%9F/dp/4798110663%3FSubscriptionId%3DAKIAI2SE5CBGHF3E5T4Q%26tag%3Dudzura1984-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798110663">楽々ERDレッスン (CodeZine BOOKS)</a></p>
	<p><em>著者／訳者：</em>(株)スターロジック 羽生 章洋</p>
	<p><em>出版社：</em>翔泳社( 2006-04-18 )</p>
	<p>単行本 ( 240 ページ )</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.udzura.jp/2009/11/09/erd-lesson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.udzura.jp/2009/11/09/erd-lesson/" />
	</item>
	</channel>
</rss>
