カテゴリー「学問・資格」の6件の記事

2011/05/03

QCon Tokyo 2011 #qcontokyo に参加した

 

4月12日(火)に開催されたQCon Tokyo 2011に参加してきましたのでその感想などを。文中の敬称は畏れ多いですが「さん」で統一してます。

 

10:00 – 12:00 基調講演

基調講演はEric Evansさんと伊藤直也さんが行われたのですが、当日の朝、比較的大きい地震があり電車が止まってしまいましたのでほとんど参加できませんでした…特に私の一番の目当てであったEric Evansさんのお話が全く聞けなかったのは痛かったです。

伊藤直也さんのお話もほとんど聞けず。基調講演で記憶に残っているのは『グリーのサービスでは既にAndroid利用者数がiPhone利用者を超えている』という1点だけです。なんとなくそういったサービスを利用している人はAndroid?iOS?なにそれ?みたいな人が大半で、そういう人はAndroid端末よりiPhoneを選ぶだろうと考えていたので意外でした。

 

13:00 – 13:50 クラウドのデータアーキテクチャ―設計の原則 萩原 正義 さん(日本マイクロソフト株式会社)

クラウド(型)アーキテクチャを採用する上で最適化にはどういった考慮が必要になるか、というお話で、具体的にはMapReduceでの例、Columnar(カラム指向データベース())での例を説明されていました。Columnarの考え方は普通にRDBでも適用できるんじゃないかな、と思っていたところ、『RDBMSのオプティマイザをあまり舐めない方が良い 』みたいなこともお話しされていたので、そんな私の考えも「何を今さら」という感じなのでしょう。

他には、半導体レベル(FPGA、と説明されてたかな?この辺明るくないので聞き間違っているかも)での最適化の試みもある、というようなことに少し触れられていました。いわゆる業務SEでもそっち系の知識が求められる時代が来るのでしょうか、空恐ろしい…しかし、ある業務に最適化されたハードウェアと”クラウド”って相反するところがあるような。そこまでの最適化ではなく、MapReduceとかHadoopとか、そういったミドルウェア的プロダクトレベルの最適化になるんでしょうかね。

他の方のtweetでは本セッションは基本的な事項に留まっていた、というような意見もありましたが、ぶっちゃけ私ははてなのRDB vs KVS煽り合いホットエントリみたいなところで得た知識しかなかったので、MapReduceって何をするプロダクトなのか、というところから学べたので有意義でした。

 

14:05 – 14:55 品質検査技術のトレンド -レビューと測定・欠陥工学を中心に- 細川 宣啓 さん(日本アイ・ビー・エム株式会社)

申し訳ないことに当日まで細川さんのお名前を存じていなかったのですが、参加してみてびっくり、個人的に超大穴セッションでした。

以前会社に所属していたとき、その会社から品質管理専任としてプロジェクトに来られる方は、はソフトウェア開発スキルが低く、かといってプロジェクトマネジメントもできない方ばかりでした(ああ、これが大企業病の一症状なんだなあ、と思ったものです)。

そういった方たちの持っている品質管理スキルは結局開発者が持っているスキルのサブセットでしかなく、提案された方法も、既により効率的なやり方でやっていたり、手間を複雑にしてるだけだったり、開発者から見て安心・信頼できるとは言い難かったです。

細川さんは、レビュアが的確な指摘を行うために必要なものは経験だ、とおっしゃっていました。ではその経験はいつ得られるのかというと、現状では実際に自分で開発したとき、だけなのではないかと思います。自分が失敗し、それをどうリカバリしたり、あるいは本来どうすべきだったのか考えることでしか得られるようになっていない、ということです。そして、品質管理という立場では、自身が行ってきたことと発生した問題の因果関係が明確になりにくいため、開発者ほど真剣に失敗に取り組んでいない(つまり、開発者ほど大した経験が得られていない)ように感じます。

資料p.22以降にもある通り、細川さんは、品質管理の専門家となるための体系だった知識が未発達であり、この問題の対応策として、バグを世界規模で収集し類型化できるようなデータベースの構築に取り組んでいるとおっしゃっていました。私も、このような分野がシステム開発の一分野として発達すれば、前述したような品質管理者のスキル不足が解消され、専門家としてプロジェクトの中で活躍できるのではないかと考えます。

セッション内容の本筋からは逸れますが、ソフトウェアはバージョンが上がる度(つまり機能が増える度)に品質は下がる、とおっしゃっていました。また、後述Twitter社のEvan Weaverさんは、Twitter社で働いている時間のうち半分はコードを削減するのに費やしてきた、と語っていらっしゃいました。ソフトウェアを成長させていくには、過去のコードに対しても大きな労力が実際には必要であるということです。にもかかわらず、典型的な請負型契約ではそういったことは行えない、といった問題についても、品質管理分野が発達すれば解消されるのかな、と考えたりもしました。

 

15:10 – 16:00 サービスのスケーラビリティと無停止のためのインメモリ技術 杉 達也 さん(日本オラクル株式会社)

Oracle社が買収する前の、Tangosol社時代のCoherenceを少し触った経験があるので、回顧目的で参加しました。私の目的は達成されたわけなんですけれども、技術セッションというよりOracle社のCoherenceプリセールス活動的な色が非常に濃かったので、他の聴衆の皆さんが満足されたのかは非常に疑問が残りました。

前述した萩原さんクラウドアーキテクチャに関するお話を聞いているときに感じていたのですが、Coherenceも自分の欲しいデータがローカルに無い(正確には、有るとは限らない)点やKeyの性質でValueを分散させる点などが似通っているのではないでしょうか。従って、KVSの考え方が応用できたり、また、最適化の際にはKVS的な考慮が必要だったりすると思っています。せっかく世間でクラウドが流行っているのだからそういう点からアプローチすれば良いのに、と感じました(繰り返しになりますが、KVSちゃんと知ったの当日が初めてなので誤解しているかもしれませんが)。

そういえばJavaSpacesという仕様があって、その実装プロダクトであるGigaspacesと比較されることがしばしばありましたし、詳しくは知らないのですがGemstoneやTerracottaといった同等のプロダクトもあるようです。本セッションではJavaEEとの親和性の高さを強調していらっしゃったので、そういった機能でCoherenceと他社プロダクトを差別化する、ということなんでしょうかね。

 

16:15 – 17:05 Performance Engineering at Twitter Evan Weaver さん(Twitter社)

PDFになってしまったセッション資料を見ると色々とはみ出してて不恰好に見えますね…実際の資料は、PDFの最後のページ(28ページ目)が最初に映され、説明が進む度にシームレスに各項目がズームインされる、といった形で、超カッケー感じでした。Preziで作成されたものらしく、こちらのサイトで見られる作品で、どんなものだったかイメージがつかめるかと思います。

一番時間が割かれたのはは、こちらにあるTwitter社の記事についてのことでした。Matz' Ruby ImplementationやRuby Enterprize Edition(RubyにEnterprize Editionなんてものがあるのも本セッションに参加して初めて知りましたが、サイトを見るとGC改良に力を入れているようです)では満足のいくGCパフォーマンスが得られず、自社で改良することにした(Project Kiji)ところ、良い結果が得られた、ということでした。JVMで採用されているような世代別GCを実装したそうです。

セッションの初めの方ではjemalloctcmallocについても触れられていました。が、ちょうど話されていることを直接英語で聞き取れないか奮闘していたため(無駄な努力でしたが)内容分かりません…マルチスレッド環境下ではjemallocの方がパフォーマンスが良い、ということだった、かも。

TwitterサービスはRubyからJVM言語(JavaやScala)に移行している部分もありますが、JVMも大きなオブジェクトのGC管理においては満足のいくパフォーマンス管理が得られていないようです。また、今からTwitterを構築するとしたらどんな言語を使いますか、という質問に対してはJRubyも回答に入っていたことから、Rubyの言語仕様(や言語仕様の決まり方)自体に問題があると考えているわけではないのかな、と思いました。

 

17:20 – 18:10 ドメイン駆動設計においてレガシーシステムを扱うための戦略 Eric Evans さん

残念ながら途中までしか参加できませんでした…dddcommunity.orgのEscaping Legacy while Avoiding Strategic Trapsというエントリに見覚えのある図が出ていましたので、これと似た内容だったのかもしれません。

途中まで参加した内容と、上記リンク先のビデオ(英語は聞き取れないのでスライドからの想像ですが)から想像するに、書籍エリック・エヴァンスのドメイン駆動設計の第4部「戦略的設計」を中心にお話しされたのではないかと思っています。この部分は翌日開催されたDDDチュートリアルの後半でも、寸劇を採り入れるなど時間をかけて解説されていましたのでこの部分重要!ってことなんでしょうね。

 

そんなわけで始めも終わりも中途半端になってしまいましたが、その辺は他の方のblogで補完を、ということで、検索してヒットしたblogのリンクを載せてみました(実際にはもっと多くの方が感想を書かれていると思いますが、私が検索できた範囲で…)。

 

最後に。『QCon Tokyo 2011 にご来場いただいた方の中から希望者全員に「日経コンピュータ」(通常 19,800円)もしくは、「日経SYSTEMS」(通常13,800円)の年間購読を無料でプレゼントいたします。』というのがあったのですが、申し込み用紙出すのをすっかり忘れていました…

2010/01/20

ネットワークスペシャリスト試験に合格した

てっきり落ちたものだと思って確認していなかったのだが、先日ネットワークスペシャリストの合格証書が届いた。

この試験、平成12年までは「ネットワークスペシャリスト」、平成13年から20年までは「テクニカルエンジニア(ネットワーク)」と名前が変わり、更に21年から「ネットワークスペシャリスト」に名前が戻った(参考)。

転職サイトで保有資格に追加しようとしたのだが、「旧ネットワークスペシャリスト」「テクニカルエンジニア(ネットワーク)」の選択肢しかないところがあり、どちらにチェックを付けるべきなのか分からない、という事態に。具体的に言うとイーキャリアなのだが。

2009/10/07

情報処理技術者試験の受験票を紛失したので再発行してもらう

手荷物の中に受験票を入れていたはずなのだが、無くしてしまった。

平成21年度秋期試験の受験票発送について」に書かれているとおり、支部へ連絡したところ、再発行してもらえるようだ。

このとき本人確認として必要だった情報は以下のとおり。

  • 生年月日
  • 氏名
  • 住所

試験申し込み当時と住所が変更になっているため、住所変更も行ってもらい、現在の住所へ送付してもらえる事になった。

2006/09/19

OMG-Certified UML Professional Intermediate(その2)

OMG認定UML技術者資格試験(インター メディエイト)を再受験してきた。

以前受験したのが1年以上前であるため、試験内容をすっかり忘れていたが、テスト問題を見て、普通に書籍を読むだけでは駄目だったことを思い出したがあと の祭り。

今回は何とかボーダーで合格できた。テスト結果を見た時点では、前回との差は運だろう、と思っていたが、前回の結果と比較するかぎりでは、あまり運で差が ついているようには見えない(結果にちゃんと得手不得手の傾向が出ている)。

Section Analysis Total
Questions
Number
Correct
(2005/6/25)
Number
Correct
(2006/9/16)
Composite Structure Diagrams (Intermediate) 10 4 5
Component Diagrams (Basic) 11 5 5
Action Model (Intermediate) 7 1 1
Activity Diagrams (Intermediate) 10 5 4
Interaction Diagrams (Intermediate) 11 7 7
State Machines (Behavioral) 11 2 4
deployment Diagrams (basic, without Components) 3 2 2
Profiles 7 3 3
合計(合格ボーダー:31点) 70 29 31

前回の記事からの追記・補足:
UML 2.0 in a NutshellとUML Bibleの2冊の書籍を記載していたが、このうちUML Bibleは、少なくともこの試験対策本としてはあまり役に立たないと感じた。ページ数も多いため、読みこなすには時間が足りない。

UML2.0 in a Nutshellについては、UML2.0 クイックリファレンスというタイトルで日本語のものが出ている。薄いので電車の中で読みやすい、というメリットがあるが、この本単独 でUMLの基礎から学ぶのは難しいだろう。初めて学ぶのであれば独習UMLな どとの併読が必須。

用語の意味を正しく理解しておく必要がある。なんとなくで覚えていると試験の問題や回答選択肢が理解できない。ただし、日本語書籍でこの試験レベルまで正 しく解説しているものはないような気もする。

日本語の問題文が誤っているものもある(図が無いのに図を見ろ、パートを"部"と訳している)ので、英文も見ておく必要がある。

2005/06/27

OMG-Certified UML Professional Intermediate

インターメディエイトを受けてきた。結果は不合格。

日本語で出ている書籍だけで勉強して受かるのは困難だと思った。
問題が難しいのでなく、日本語書籍で解説している内容がテスト範囲をカバーできていないからだ。
そういう意味で、出題範囲に該当する、仕様書内の"Class Descriptions"節は読んでおくべきだろう。


にちゃんねるに書いたものに追記し、記載しておく。

ファンダメンタルについて

28 名前:仕様書無しさん[] 投稿日:2005/06/24(金) 22:54:09
【UML使用経験】無し(周りに理解できる人がいないので…)
【実務経験】2年
【試験番号】ファンダメンタル
【 正解数 】57/80
【受験回数】1
【勉強期間】3週間ぐらい朝の電車で試験問題解いてました。
【使用教材】OMG認定UML技術者資格試験対策問題集ファンダメンタル
【出題内容】上の本と殆ど同じ問題。

Section Analysis Total
Questions
Number
Correct
Class Diagrams (Basic) 24 19
Activity Diagrams (Basic) 16 10
Interaction Diagrams (Basic) 16 11
Use Case Diagrams (Basic) 16 12
Miscellaneous basic notions 8 5


インターメディエイトについて

36 名前:28[] 投稿日:2005/06/26(日) 22:40:05
【UML使用経験】無し
【実務経験】2年
【試験番号】インターなんとか
【 正解数 】29/70 (合格点:31)
【受験回数】1
【勉強期間】1ヶ月くらい通勤電車で下の本読んでました
【使用教材】2.0の本としては独習UMLと>>28に書いたファンダメンタルの試験本だけ。
【出題内容】後述

知らない単語/用語が出てきて問題文の意味がわからなかったのが4割くらいはあったと思います。
で、残り6割のうち、8割正解したとすると
70問×6割×8割 = 約33問正解(合格)
となりますので、>>13の
> 独習を完全理解すれば大丈夫っぽいですが。
と書かれていることは嘘ではないと思います。
が、かなりギリギリです。

例えば、centralBufferって聞いたことあります?インターメディエイトレベルでは基本的なもののようですが。
試験に落ちた後、その足で池袋ジュンク堂行ってみたのですが、
この用語の説明が書いてある日本語の本は無かったと思います。
(ちなみに、http://www.omg.org/cgi-bin/doc?ptc/2004-10-02にある仕様書の378-389ページ辺りに
説明が書いてあります。)
あとは、11.3節(247ページ~)のタイトルの用語については一通り理解しておく必要があるような
問題も出てました。

インターメディエイト勉強用の本は無いかと調べてみたのですが、
UML 2.0 in a Nutshell http://www.oreilly.com/catalog/umlnut2/
UML Bible http://as.wiley.com/WileyCDA/WileyTitle/productCd-0764526049.html
あたりになるのかな、と思いました。(あくまで目次などを見た私の個人的な感想なので、
実態は異なるかもしれません)

そんなわけで、日本語のものだけで勉強して受かろうとすると、かなり難易度は高くなります。

37 名前:36[sage] 投稿日:2005/06/26(日) 22:55:38
補足。
> 【勉強期間】1ヶ月くらい通勤電車で下の本読んでました
「下の本」というのは、【使用教材】に書いた本、という意味です。


点数内訳も書いておきます。

Section Analysis Total
Questions
Number
Correct
Composite Structure Diagrams (Intermediate) 10 4
Component Diagrams (Basic) 11 5
Action Model (Intermediate) 7 1
Activity Diagrams (Intermediate) 10 5
Interaction Diagrams (Intermediate) 11 7
State Machines (Behavioral) 11 2
deployment Diagrams (basic, without Components) 3 2
Profiles 7 3

Action Model, State Machinesが激悪いですね。
前述の仕様書の該当部分(11.3節, 15.3節)を流し見してみると、見覚えのある図がたくさんあるので、
ここだけでも英語で理解しておくと楽かもしれません。

2005/06/06

オープンコースウェア(OCW)

少し前に話題になった日本版OpenCourceWareで公開されているページを少しずつ読んでいる。
残念ながら、まだ内容はそんなに厚くは無い。
その中の、京都大学の全学共通科目である健康科学の資料を見たのが2週間ほど前になる。

内容(この資料だけから読み取れること)は、まあ初めて見る情報でないものが殆どで、既存の「ためしてガッテン」のページにでも書かれていそうな事だった。
しかし、このOCWのニュースを見ていなければ、既に存在していたコンテンツであっても目にする機会(能動的に見ようとする意思)は無かったと思われる。

通勤時や会社でエレベータ・エスカレータをなるべく使わなくなったり、ジョギングを続ける意思がより強くなった、というだけでも私にとってOCWは意味がある、と言える。


ココログのニュースに「レスポンス低下の不具合について」とあるが、レスポンス低下どころか、ログインするのにも数回失敗した。

other sites

  • follow us in feedly
  • github
  • stackoverflow

ソフトウェアエンジニアとして影響を受けた書籍

  • Christain Bauer: HIBERNATE イン アクション

    Christain Bauer: HIBERNATE イン アクション
    理論と実践が双方とも素晴らしい製品であるHibernate。本書はそのプロダクトを書名に冠していますが、Hibernateを使うつもりがなく、ORマッピングの解説書として読むにしても十分な良書です。Second EditionとしてJava Persistence With Hibernateという書籍も出版されていますが、残念ながら現在のところ 和訳はされていません。-インアクションは2.xの、Java Persistence-は3.1の頃のものなので、最新版とはちょっと違うところもあることに注意。 (★★★★★)

  • アンドリュー・S・タネンバウム: 分散システム 原理とパラダイム 第2版

    アンドリュー・S・タネンバウム: 分散システム 原理とパラダイム 第2版
    クライアント/サーバシステムを構築する上で必要となる知識が総論されてます。Web技術者も、フレームワーク部分を開発するのであれば必読。 (★★★★★)

  • Joel Spolsky∥著: ジョエル・オン・ソフトウェア

    Joel Spolsky∥著: ジョエル・オン・ソフトウェア
    前述の書籍「ソフトウエア開発プロフェッショナル」をより砕いたもの、という感じでしょうか。 前書きではプログラマでなくSE向けの本のように書かれているが、プログラマが読んでも面白い本であると思われます。 SEになった新人(あるいはそういう会社に入る/入りたての人)にとっては、これからどういったことが仕事を遂行していく上で起こりえるのか、どのように考えて行なっていけばいいのか決定する助けになると思います。 元は″Joel on Software″というブログの記事で、web上でも一部日本語で読めます。 http://japanese.joelonsoftware.com/ (★★★)

  • ドナルド・C・ゴース,ジェラルド・M・ワインバーグ: ライト、ついてますか

    ドナルド・C・ゴース,ジェラルド・M・ワインバーグ: ライト、ついてますか
    問題解決(一昔前のの流行語で言うところの『ソリューション』)能力は、システムエンジニアのスキルとして備えるべきもののうちのひとつです。しかし、これは難しい。学校で出されるテストと違い、唯一の、(問題提出者が想定している)解を求めるだけが「問題解決」では無いからです。そもそも、何が問題なのか、それは本当に問題なのか、それは本当に解決すべき問題なのか、その問題解決方法は正しいのか、などを解決しなければ、「その解は正しいのか」に辿りつくことができません。この本の最も良いところのひとつは、本があまり厚くないこと。すぐに読めるし、何回も読み返す気になるでしょう。 (★★★★★)

  • スティーブ・マコネル: ソフトウエア開発プロフェッショナル

    スティーブ・マコネル: ソフトウエア開発プロフェッショナル
    コードコンプリートで有名なスティーブマコネルの著書。新人SEに読んで欲しい。個人として業界の中でどうあるべきか、組織としてどうあるべきか、SEのプロ意識とは?SEの心構え概論、といったところでしょうか。また、業界における資格の重要性についても説かれています。この業界では資格が特に軽んじられる傾向がありますが、この傾向はどんな弊害をもたらすのか、将来的にこの業界は資格に対してどのような姿勢で臨んでいくべきなのか。日経BP社では(他の出版社もだが)最近、似たような類いのあまり面白くない書籍が乱出版されていますが、この本は別格だと思うので安心して購入して欲しいと思います。 (★★★★★)

無料ブログはココログ