コンピュータやソフトウェアのあれこれ@道民(&元道民)
Planet
[きのこ97][ソフトウェア開発][Planet] 55-並列処理に有効なメッセージパッシング
2月 13th
「プログラマが知るべき97のこと」の55個目のエピソードは、並列処理に関する話です。並列処理に関する関心は日々に高まっています。プロセッサのクロック速度の向上はやや頭打ちになってきており、高速に処理を行う為にはコアを増やす傾向なのです。家庭用のPCでもデュアルコアは最低限のスペックですから、家庭で使うようなちょとしたフリーソフトであっても、並列処理を考慮する価値は十分にある時代です。しかし、並列処理は非常に難しい技術です。タイミングやデッドロックの問題、メモリのアトミック性に伴う問題などたくさんのこと ...
[きのこ97][ソフトウェア開発][Planet] 54-見えないものを見えるように
2月 12th
「プログラマが知るべき97のこと」の54個目のエピソードは、ソフトウェア開発の可視化に関する話です。ソフトウェア開発において可視化(見える化)はマネージャ層にとっては特に興味のある話題です。本文でも書かれているように、ソフトウェア開発の難しさの本質は、ソースコードや設計と言ったものが実体を持っているようで持っていない為、定量化・可視化が難しい所にあります。 ソフトウェア開発の定量化や可視化については、様々な方法が考えられ、試されてきました。ソフトウェアが複雑になればなるほどソースコードの量は増える傾向 ...
LDD ’11 /Winterに行ってきました
2月 12th
今日は、LOCAL DEVELOPER DAY ’11 /Winterに行ってきました。
内容はリンク先を見て頂くとして、
今回は、感想を書きたいと思います。
「すごく疲れました!」
別に、面倒くさいとか、もうやらないよ!とか、
そういう意味じゃないです。
「脳みそが非常に良い汗かいた」という意味です。
私がLTの準備をする時は、
運良く思いついたネタから数日掛けてスライドを起こし、
さらに1週間掛けて手直しを加えながら、
練習を繰り返して、台詞回しを固めます。
ですが、今回は約5時間という短い時間でスライドを作るので精一杯。
ネタ元はこれデス。
初日の講義を思い出し、なんとか形にする事が出来ました。
「記念撮影で気を付けるべき4 つのこと」
たしかに5分という制限時間の中で、
3分しか使わなかったのは勿体なかったかもしれません。
ですが、思うところがいくつかあったので、自由にやらせてもらいました。
ちなみに、最近影響を受けたLTはYAPCの録画LTです。
次回も、こういう機会があれば、是非、参加したいデス。
会場にいたすべての方にお礼を申し上げたいと思います。
おしまい。
LOCAL DEVELOPER DAY ’11/Winterに参加してきた
2月 11th
今日はLOCAL DEVELOPER DAY '11/Winterに参加してきました!このイベントは2011/02/11(金)~12(土)の二日間、定山渓ビューホテルに泊り込み、LTハッカソンを行うというもの。そして今僕は帰宅し、シャワーを浴びて、自室でビールを飲んでます。フフ...フフフフ...
なぜかというと、明日2011/02/12(土)に開催される第6回北海道情報セキュリティ勉強会のスタッフである都合上、宿泊はできなかったからです。みんな良いなー!温泉にビールに懇談良いなー!僕だってせきゅぽろの懇親会で楽しんでやるんだ!と思いながら、今ビール飲んでます。ビールなう。フフ...フフフフ...
さて、今日のイベントについて。
オープニングセッションとしてLOCALの小岩さん、達人出版会の高橋さんのセッションがありました。細かい感想は後日スライドがアップされるだろうと思いますので省略しますが、「笑い」に特化したLT方法論の小岩さん、「伝達」を主軸とした総括的なプレゼン論の高橋さん、両方とも大変面白く聞かせて頂きました。一見別々の内容に見えるけど、お二人とも共通していた「聴衆を中心に考える」「聴衆に伝える」という姿勢は、当然のように見えるけれどすごく難しい事だなぁと感じました。高橋さんが仰っていた「何を伝えたいか」の、伝えたいものが「笑い」であるのが小岩さんのお話なんだろうと思うので、お二人の方向性は「聴衆に持ち帰ってもらう、お土産を渡す」という意味で同じなんだろうな。小岩さんが言ってたけど、聴衆への愛なんですよね。
小岩さんの振り子理論、高橋さんの「本当に話したいことは話せない、人は聞きたいことしか利いてない、聞いてたことも覚えてない。後で調べたいと思わせる、その程度を目指す」という割り切り方など、いやぁほんとすげぇ面白かったです。僕はどちらかといえば高橋さんタイプなので(というか、小岩さんのような笑いのセンスが無いので)、伝達の方法論は大変勉強になりました。でも発表で笑ってもらえるとすごく嬉しいので、笑いのネタLTもチャレンジしていきたいな。
そんなお二人のお話を聞いた後、宿泊組と日帰り組に分かれて食事。日帰り組は豊平峡温泉 onsen食堂にカレーを食べに行きました!定山渓方面では非常に有名なカレーですよね。僕はラムカレーを激辛で、チャイをセットで頂きました。ラムカレーはすっごい美味しかった!ラムがふにふにに柔らかくて、カレー自体にもきっちりラムの風味がのっていてめっちゃ美味い。激辛というけれどそれほど辛くは無く、ちょうど良いくらいです。チャイもスパイシーで良い感じ!
その後「日帰り組は発表しないと帰さない!」というスパルタ指示をもらったので、2時間かけて何とか資料を作成し発表。
やっぱり早口になっちゃったけど、笑いは取れたので良かったです。
温泉とビールは本当に残念だったけど、楽しかったです!宿泊組は明日もあるので、楽しんでくださいね!
なぜかというと、明日2011/02/12(土)に開催される第6回北海道情報セキュリティ勉強会のスタッフである都合上、宿泊はできなかったからです。みんな良いなー!温泉にビールに懇談良いなー!僕だってせきゅぽろの懇親会で楽しんでやるんだ!と思いながら、今ビール飲んでます。ビールなう。フフ...フフフフ...
さて、今日のイベントについて。
オープニングセッションとしてLOCALの小岩さん、達人出版会の高橋さんのセッションがありました。細かい感想は後日スライドがアップされるだろうと思いますので省略しますが、「笑い」に特化したLT方法論の小岩さん、「伝達」を主軸とした総括的なプレゼン論の高橋さん、両方とも大変面白く聞かせて頂きました。一見別々の内容に見えるけど、お二人とも共通していた「聴衆を中心に考える」「聴衆に伝える」という姿勢は、当然のように見えるけれどすごく難しい事だなぁと感じました。高橋さんが仰っていた「何を伝えたいか」の、伝えたいものが「笑い」であるのが小岩さんのお話なんだろうと思うので、お二人の方向性は「聴衆に持ち帰ってもらう、お土産を渡す」という意味で同じなんだろうな。小岩さんが言ってたけど、聴衆への愛なんですよね。
小岩さんの振り子理論、高橋さんの「本当に話したいことは話せない、人は聞きたいことしか利いてない、聞いてたことも覚えてない。後で調べたいと思わせる、その程度を目指す」という割り切り方など、いやぁほんとすげぇ面白かったです。僕はどちらかといえば高橋さんタイプなので(というか、小岩さんのような笑いのセンスが無いので)、伝達の方法論は大変勉強になりました。でも発表で笑ってもらえるとすごく嬉しいので、笑いのネタLTもチャレンジしていきたいな。
そんなお二人のお話を聞いた後、宿泊組と日帰り組に分かれて食事。日帰り組は豊平峡温泉 onsen食堂にカレーを食べに行きました!定山渓方面では非常に有名なカレーですよね。僕はラムカレーを激辛で、チャイをセットで頂きました。ラムカレーはすっごい美味しかった!ラムがふにふにに柔らかくて、カレー自体にもきっちりラムの風味がのっていてめっちゃ美味い。激辛というけれどそれほど辛くは無く、ちょうど良いくらいです。チャイもスパイシーで良い感じ!
その後「日帰り組は発表しないと帰さない!」というスパルタ指示をもらったので、2時間かけて何とか資料を作成し発表。
やっぱり早口になっちゃったけど、笑いは取れたので良かったです。
温泉とビールは本当に残念だったけど、楽しかったです!宿泊組は明日もあるので、楽しんでくださいね!
[きのこ97][ソフトウェア開発][Planet] 53-正しい使い方を簡単に、誤った使い方を困難に
2月 11th
「プログラマが知るべき97のこと」の53個目のエピソードは、インターフェイスに関する話です。ソフトウェア開発のスキルを身につけていく中で、インターフェイスやバウンダリ(境界)に関することは、最も悩まされる事の1つです。一言でインターフェイスと言っても、ユーザインターフェイスのような抽象度が高くシステムの中でもエンドユーザに近いインターフェイスもあれば、クラス内での関数の呼び出しのような抽象度の低くプログラマに近いインターフェイスもあります。共通する点は、複数の領域を橋渡しする為の窓口となっているという ...
第 5 回 Ruby 技術者認定試験公式ガイド輪読会まとめ
2月 11th
第 5 回 Ruby 技術者認定試験公式ガイド輪読会まとめ
今日は Array クラスに関わるメソッドを勉強しました.練習問題が沢山用意されていたので,試験として重要視されている部分なんでしょうね.Array#delete と Array[]で引数を2個取る(n番目からm個)場合の処理は自分であんまり使ったことがないのでためになりました.
5.2.4 配列 (Array) クラス
# %W!STRING!では式展開が有効となります
FOO = 'f'
BAR = 'b'
array = %W!#{FOO} #{BAR}!
p array # => ["f", "b"]
へー
>> a_array = ['Objective-C', 'Haskell', 'Ruby', 'xxx', 'yyyyyyyy']
=> ["Objective-C", "Haskell", "Ruby", "xxx", "yyyyyyyy"]
>> a_array.sort{|x,y| p [x,y]; x.size - y.size }
["Objective-C", "Ruby"]
["Ruby", "yyyyyyyy"]
["Objective-C", "yyyyyyyy"]
["Haskell", "yyyyyyyy"]
["xxx", "yyyyyyyy"]
["Ruby", "Haskell"]
["Haskell", "xxx"]
["Ruby", "xxx"]
=> ["xxx", "Ruby", "Haskell", "yyyyyyyy", "Objective-C"]
これは…どういうアルゴリズムなんだろう…
[きのこ97][ソフトウェア開発][Planet] 52-「その場しのぎ」が長生きしてしまう
2月 10th
「プログラマが知るべき97のこと」の52個目のエピソードは、暫定ソリューションに関する話です。暫定ソリューション(その場しのぎ)とは、本来は遵守すべき規約やプロセスに従わずに急ごしらえで作成したソリューションのことです。時間に追われ不具合を直すために行儀の良くないパッチを当てる事もそうですが、設計の段階で捨てる予定のモックがいつの間にか採用されて使わざるをえなくなるような事も含むでしょう。暫定ソリューションが生まれる要因は時間が十分に確保できない事にあります。言い換えれば、暫定ソリューションは十分な時 ...
[きのこ97][ソフトウェア開発][Planet] 51-プロジェクト自身にしゃべらせる
2月 9th
「プログラマが知るべき97のこと」の51個目のエピソードは、ソフトウェア開発の自動化に関する話です。先日のTDDBCでもid:t-wada氏は「近代ソフトウェア開発の三本柱はテスト・バージョン管理・自動化」と話していましたが、自動化は興味深く重要なテーマの1つです。最近は、Huds○n*1の普及によってCI(継続的結合:Continuous Integration)サーバも自然に使われるようになってきました。継続的なビルド以外でも、静的なメトリクス測定・テストの自動実行・カバレッジ測定・その他様々な定 ...
[きのこ97][ソフトウェア開発][Planet] 50-Hello, Worldから始めよう
2月 9th
「プログラマが知るべき97のこと」の50個目のエピソードは、プログラミングの原点に関する話です。長くプログラミングを続けていたり、マネジメントやその他の業務が多くなってくると、基本的な事を忘れがちです。焦って自分を見失っている時などは、原点、すなわちHello Worldをテキストエディタで入力する事に戻ってみようという話が書かれています。 この事はどんな時にでも重要な事です。ちょっと実装で詰まったとき、設計がどうも納得できないとき、交渉事がウマくいかないとき、様々な困難に当たったとき、疲れた頭でより ...
[Java][JavaScript][Planet][etupirka] JavaScriptによるEtupirkaCMSのアップデートプログラム
2月 8th
EtupirkaCMS絡みでちょっとネタになりそうなプログラムを作ったので紹介します。内容としては、JSR223(スクリプト言語サポート)を使いJavaScriptでランチャープログラム(Swingアプリ)の更新を行う仕組みの解説です。 動機 EtupirkaCMSのウリとしてJavaだとかGAEだとかを意識せずに使って貰えるようなユーザビリティを目指しています。昨今のアプリでは自動アップデートなんて当たり前ですから、EtupirkaCMSも自動アップデートが出来る必要があります。しかし、Javaの ...
