フェルマーの最終定理 ★★★★★

今のところ唯一の5つ星評価です。「最強」です。内容に関しては、今更私が語ることはありません、amazonのレビューや他のブログでの評判を見てください。中学生レベルの数学が理解できれば、きっと楽しめます。小説以外で睡眠時間を削って読んだのはこの本ぐらいではないでしょうか。絶対損はしないので、一度読んでみて下さい。

※同じサイモン・シンの「宇宙創生」はいまいちでした。。天文学者の話で、あまり興味が持てませんでした。「暗号解読」はかなり面白いらしいので、今度読んでみようと思ってます。

フェルマーの最終定理 (新潮文庫)
サイモン シン
新潮社
売り上げランキング: 806
おすすめ度の平均: 5.0
5 多くは語りません
4 フェルマーの最終定理
5 最高の数学の文学
5 数学で感動…
5 学生時代に数学を忘れてきた人へ

年と月を入力してカレンダーを出力する

プログラミングスレまとめ in VIPの練習問題を解いてみた
練習問題 - プログラミングスレまとめ in VIP

//答え
import java.util.*;

class MyCalendar {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("年を入力: ");
		int year = scan.nextInt();
		System.out.println("月を入力: ");
		int month = scan.nextInt();
		
		System.out.println(year + "年" + month + "月");
		System.out.println(" 日 月 火 水 木 金 土");
		
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.YEAR, year);
		cal.set(Calendar.MONTH, month - 1);
		cal.set(Calendar.DATE, 1);
		
		//その月の最終日
		int max_day = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		//1日の曜日
		int start_index = cal.get(Calendar.DAY_OF_WEEK);
		for (int i = 1; i < start_index; i++) {
			System.out.printf("%3s", ""); //1週目の1日までを空白で埋める
		}
		
		for (int i = 1; i <= max_day; i++) {
			System.out.printf("%3d", i);
			cal.set(Calendar.DATE, i);
			if (Calendar.SATURDAY == cal.get(Calendar.DAY_OF_WEEK)) {
				System.out.println("");
			}
		}
	}
}

こういうのは、苦手です。あんまり面白くないですよね。

SAMLとOpenIdについて

表題の通り、社内のセミナーに参加しました。ざっくりとした説明しかなかったのですが、まとめると下記の通りです。

どちらも「シングルサインオン」などを実現できる認証システムです(正確にはSAMLXML仕様で、認証情報の交換がSAMLプロトコルとしてまとめられている)。SAMLの方が堅牢で強固なシステムが構築でき、機能も充実しているが、OpenIDの方が簡単。無料サイトなら商用でもOpenIDで十分。※なおシングルログアウトはSAMLでのみ実現できます

どちらもwebサービスサーバとは別に認証用のサーバに通信して、認証を行います。

SAMLを利用するには基本的に有料になるらしいです。フリーでもあるが使い勝手が悪いとのこと。

情報セキュリティスペシャリスト試験(SC)に最短の勉強時間で合格する方法

10月に実施された、情報処理技術者試験の高度試験の1つ、「情報セキュリティスペシャリスト試験」に合格しました。今回、「最短の勉強時間で合格する」ことをコンセプトに望んだので、その方法をまとめてみます。

まず、「最短の勉強時間で合格する」意義ですが、こういった資格試験は、実務には直結しません。なので、試験勉強にはあまり時間をかけず、その分、プログラムを組んだり、サーバ構築をしたりしたして、技術力を養うべきです。

ここで重要なのが、「最短期間」ではなく、「最短の勉強時間」であることです。つまり、一発合格を狙わずに、何度か受験します。受験経験のある方は、分かると思いますが、午後2の試験は、かなり運の要素が絡んできます(情報処理技術者試験全般に言えることです)。ですので、確実に合格するレベルまで勉強しようとすると、相当時間がかかります。なので、ほどほどに勉強して、2,3回受験して、調子がいいときに合格する(1回目に合格したらラッキー!)のが最も効率が良いです。※ちなみに、期間をおいて2,3回勉強した方が、記憶の定着も良かったりします

では、私の具体的な勉強方法を以下にまとめます。


【使用した参考書】
以下1冊のみ(2009年度版)

理由は、解説の量が多く詳しい、過去問が全部収録されているからです。


【受験1回目(4月)】
勉強期間:1ヶ月半
その1:参考書を1ページ30秒で流し読み(5時間)。これにより、出題範囲、大まかな内容を把握します。
その2:章単位でヤマを張り、精読(15時間)。私は、重要・興味がある・理解しやすそうの3点で半分ぐらいに絞込みました。
その3:過去問3年分(25時間)。間違えた問題は、1週間後に再チャレンジ、さらに間違えた問題は、1週間後に再チャレンジ・・。

結果:午後2が1点足りず、不合格・・


【受験2回目(10月)】
勉強期間:2週間
その1:苦手かつ重要そうな箇所を精読(5時間)。私は、認証・暗号周りを読みました。
その2:過去問3年分(5時間)。前回間違えた問題に再チャレンジ、さらに間違えた問題は、1週間後に再チャレンジ・・。

結果:合格


総論:
過去問をメインでやるのが、効率がよいです。午前は完璧にしておきましょう(ただし、やりすぎに注意。午前が満点でも午後が1点足りないだけで、不合格です)。午後2は粘り強く。現代文の問題に近いところがあるので、知識がなくても、一般的な見解や、問題文の内容を纏めたりして、とにかく書きましょう。

にほんブログ村 IT技術ブログへ
1票ポチッと押して下さい♪このブログのランキングが少し上がります。

ソフトウェア開発で伸びる人、伸びない人【第二版】 ★★★★

何度か本屋で見かけて、知っている本だった。よく見かけたので、売れている本だったんだろう。第二版が出て、柴田芳樹さんのブログで紹介されおり、興味を持ったので読んでみた。
当たり障りのない、一般論が書かれているのだろうと思っていたのだが、予想以上に良かった。特に前半の心構え、考え方が良かった。
以下に、印象に残った内容をメモします。

  • 伸びる人ほど、「わかりません」と言う。プライドの高い人にありがちなのが、「難しい」と言って、問題を正面から取り組むのを避けてしまいます。
  • 悪いプライドを持った人は、「他の人にどう思われているか」に関心があるので、×。良いプライドを持った人は、「理想の自分にどう思われているか」に関心があるので、出来ないことがあると、「自分らしくない。かっこ悪い。」と思い努力するので、伸びていく。
  • オブジェクト指向において、国語力の無さは致命的。なぜなら、クラスの抽出、適切なネーミングが出来ないから(オブジェクト指向に熟練してくると、クラスのネーミングに3日かけたりするぐらい、ネーミングは重要)。
  • 状況が悪いときは、(かえって状況を悪化させるので)じたばたせず、自分の日課を静かに実行し続ける。あとは、どうやった這い上がるかを考えればよい。


にほんブログ村 IT技術ブログへ
1票ポチッと押して下さい♪このブログのランキングが少し上がります。

SaaS、SOA、SOAPって一言で言うと何なの?

SaaSとは、

ソフトウェアの機能をネットワーク経由で利用する

という形態で、ASPとの違いは特になく、ベンダーが営業的な観点から、別の名前にしたようなものです。
下記ページの図が非常に分かりやすい。
5分で絶対に分かるSaaS (2/6) - ITmedia エンタープライズ

SOAとは、

システム全体を汎用的な部品に分割し、それらの部品を必要に応じて自由に組み合わせること

これにより、柔軟にシステムを構築することができます。各部品はそれぞれ疎結合にし、インタフェースを公開しておきます。

SaaSは「ネットワーク」、SOAは「部品」とイメージしておけばよいでしょう。どちらも今となっては、特別なものではありません!

※詳しくは下記を参照。この「5分で絶対に分かるシリーズ」はお勧めです!
5分で絶対に分かるSOA (1/7) - ITmedia エンタープライズ
自分もよく両者の区別がつかなくなってしまうので、備忘録として書いてみました。


SOAPは名前が似てますが、上記2つのようなサービス的なものではなく、htmlなどと同じ、

具体的なプロトコルの名称

です。XMLがベースとなっているので、XMLと合わせて勉強することになるでしょう。
にほんブログ村 IT技術ブログへ
1票ポチッと押して下さい♪このブログのランキングが少し上がります。

Linuxのディレクトリのアクセス権限に関する豆知識

「Permission denied(権限がない)」が出て、ファイルのコピーなどが出来ない場合、コピー元のディレクトリのアクセス権限を確認しましょう。

ファイルをコピーする際に、コピー元のファイルがあるディレクトリには、実行権限(x)が必要です。なぜなら、

ディレクトリに実行権限(x)がないと中に入ることができない

からです。

あと、

ディレクトリに読み出し権限(r)がないと、ディレクトリ内でlsなどのコマンドが実行出来ない

というものもあります。
にほんブログ村 IT技術ブログへ
1票ポチッと押して下さい♪このブログのランキングが少し上がります。