Category Archives: 基礎を固める

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 – 武内覚

積ん読の消化。まぁLinuxカーネルの勉強をしなきゃ行けない事態になったのも有り、山の中から回収。

Linuxのカーネルについて実際に手を動かしながらざっくり理解できる本です。OSのコトはさっぱわからんと言いながらプログラマーをしている人にこそ本書をおすすめします。

ただ自分の知りたかったことはもっと濃いことだったので、本書を手がかりに広大なネットの海にサーフボードで航海に出かけねば。

はじめよう! システム設計 ~要件定義のその後に 羽生 章洋 著


はじめよう! システム設計 ~要件定義のその後に
価格: 2,398円
羽生 章洋 著
技術評論社 (2018/1/25)

以下ブクログより転載。

いえーい!みんなシステム設計している?
最近だと、クリーンアーキテクチャとかそこでのDDDとかが流行っているんだっけ?でもみんなそれ理解している?DDDとかすっげー難しいけど、お友達のみんなはわかっているかな?DDDのキモはDDDを使わない方が良いって関心の分離で気づくところにあるよ。でもさ、そもそもシステム設計って何のためにあるんだっけ?ユーザーストーリーって言うなの要件定義があればプログラミングをはじめられるんじゃなかったっけ?

そんなことあるわけないじゃん。ばーか。

システム設計は重要です。要件定義を「アーキテクチャ」に収めていくためにも、そもそもアーキテクチャとして何を選択するかも重要です。システム設計をしないと何が起きるかと言えば、永遠に開発が終わらないか、終わったように見えてもユーザーに使われないゴミが生まれていくだけです。ゴミならいいんだけど、そのゴミに付きあわされる納入先の従業員の皆さんにとってはいい面の皮です。ゴミではなく有用なものを作るために必要なのが、要件定義であり、システム設計になります。

本書そんな「システム設計」のエッセンスを短く、わかりやすく、平易に説明しています。そんなことは誰でも出来ることでは出来ません。著者のはぶさんだから出来ることです。今、満足にシステム設計が出来ていない、そもそも設計の必要性がわからないと言った方々は、クリーンアーキテクチャを読んで実践しようとする前に、まず本書から初めて出来ることからやるのが良いと思います。馬鹿にしているのではなくて、クリーンアーキテクチャなんて実践できるのは本当のエリートですよ。まずは出来そうなことから確実にはじめていきましょう。顧客ために。社会のために。

あと、同著者のはじめよう!プロセス設計、はじめよう!要件定義も必読です。今の時期SEの新人教育にぴったりですよ


はじめよう! プロセス設計 ~要件定義のその前に
価格: 2,178円
羽生 章洋 著
技術評論社 (2016/11/22)


はじめよう! 要件定義 ~ビギナーからベテランまで
価格: 2,178円
羽生 章洋 著
技術評論社 (2015/2/28)

書評 : 思考する機械コンピュータ

文庫 思考する機械コンピュータ (草思社文庫)
文庫 思考する機械コンピュータ (草思社文庫) ダニエル ヒリス W.Daniel Hillis

草思社 2014-06-03
売り上げランキング : 2638

Amazonで詳しく見る by G-Tools

コネクションマシンを作ったダニエル ヒルスによる、一般向け計算機科学の入門書。

日本では2000年に草思社より翻訳された単行本が刊行されており、今年になって同じく草思社から文庫化された。

ダニエル ヒルスはMITの大学院在学中にシンキングマシン社を設立して、世界で初めての商用超並列コンピューター、コネクションマシンを作り出した、並列計算の専門家だ。

2000年単行本刊行当時(恐らく)生意気だったので購入していなかったのだが、その後後悔していて、こうして文庫本が刊行されてに入りやすくなったのは正直とてもうれしい。

また、訳者による文庫版後書きにもあるが、当時コネクションマシンのような並列計算機を個人で入手するのはまだ、夢のような話だったが、現在ではおよそ見た目でマイクロプロセッサが入っていそうな物、PCやスマホに限らず、ブルーレプレーヤーやデジタルテレビ、カーナビなどに搭載されたほとんどのプロセッサが並列計算機になっている状況だし、クラウドコンピューティングによって個人でも無理をすればそれなりの能力の並列計算能力を手に入れる事が出来るし、ソフトウェアの発展で使うことの難易度も下がっている。最近では機械学習までサービス化されているわけだし。

そういった現在の状況から、本書を読み直してみると、後半の7章並列コンピュータ、8章学習できるコンピュータ、9章工学的アプローチの次に来るものの内容の先進性に大変感心するのだ。

最初書いたように、本書はあくまでも一般向けである。マーケッティング用語に踊らされず、適切な投資を今のクラウドコンピューティングや「ビッグデータ」技術に対して投資をしてして行く判断をするには、その背景にある科学的な根拠を理解しておくのは重要なことだと思うので、是非投資先の選定や決定を行うビジネスパーソン、企業CIOやCEOの方達には是非読んでほしい。もともと十数年前に刊行された本だが、今何故こうなのかを理解する上で役に立つと思う。

また、すばらしい計算機科学の入門書なので、将来プログラマや計算機設計者を目指す、中高生諸君にも是非この夏休みに読んでほしい。

学び方を学ぶ

伊藤穰一:学ぶべきは、「何を学ぶか」ではなく、「どうやって学ぶか」 « WIRED.jp

社会人になって、それもしばらく経ってからメタ思考や学習方法、習慣について学ぶ機会が多く、中高の時にそうして出会っていなかったんだろうと思ったことも多い。

「知識」が簡単に検索すれば得られる今、「知識」を習得するのでは無く「知識」を「知恵」や「行動」に結びつけていくための学習方法が求められているのだと思う。

そうした学習方法の一つして集約化され、パターン化されているものが慶応SFCのラーニングパターンだと思う。

学習パターン: http://learningpatterns.sfc.keio.ac.jp/

書評: プログラマのためのサバイバルマニュアル

プログラマのためのサバイバルマニュアル
プログラマのためのサバイバルマニュアル Josh Carter 長尾 高弘

オライリージャパン 2012-08-22
売り上げランキング : 5876

Amazonで詳しく見る by G-Tools

New Programmer’s Survival Manualの翻訳。

そう、邦題には大事な”New”が抜けている。

この本は、大学などでコンピュータ科学などを専攻している学生が、企業に就職しプロのプログラマーとして生き残るためのサバイバルマニュアルだ。新米プログラマー向けの指南書であって、古豪の生き残り戦略では全くない。むしろ古豪の域に達しているはずの年齢で、この本で何かを得たとか思ったりしたならだいぶ問題がある。

これから、業界に開発者として就職を希望している学生は必ず読むべきだし、IT企業にかかわらず、開発者ではないにしても企業への就職を考えるのであれば第2部以降を読んでおいて損は無いはずだ。へたな「シューカツ」本を読むよりよほど「企業」や「組織」について勉強できるし、自分が企業や自治体などの就職することが合っている判断にもなるはずだ。就職することがゴールでは無いし、食べていくための方法でも無いはずで、その先の自分自身の人生について少し考えてみるといい。

ということで、この本をIT技術書の棚においておくのは全くふさわしくないので、ぜひ各書店におかれましては「シューカツ」書コーナー平積みの目立つところにおいていただければと思います。

#中堅から古豪にさしかかった皆様におかれましては以下がよろしいんじゃ無いかと思います。ただ、ベタな日本企業だとこれでもあれこれですけど(爆発)

Being Geek ―ギークであり続けるためのキャリア戦略
Being Geek ―ギークであり続けるためのキャリア戦略 Michael Lopp 夏目 大

オライリージャパン 2011-06-25
売り上げランキング : 183253

Amazonで詳しく見る by G-Tools

 

いやーでも、邦題でNew抜いちゃだめだよ。間違った人がきっと買ってる。

今どきエンジニアの生き残り戦略@COD 2012

刮目して見よ!


Video streaming by Ustream

 

日本マイクロソフトで開発のコンサルタントをされている赤間さんによるエンジニアとしての生き方に関するセッション。6/9のCommunity Open Day 2012札幌会場で行われた講演。

時間を作る。そのためにむやみに残業をしない(させない)。その時間で教科書的な学習を作って幹を造る。OJTはTipsの継承でしか無く、幹を造らない。キャリアデザインをして得意分野を作る。

これを見た後の参考書籍としてフォローをするとすると以下の書籍かな。

情熱プログラマー ソフトウェア開発者の幸せな生き方
情熱プログラマー ソフトウェア開発者の幸せな生き方 Chad Fowler でびあんぐる

オーム社 2010-02-26
売り上げランキング : 94791

Amazonで詳しく見る by G-Tools

以下はOJTを技術継承や習得という点だけでは無く、文化継承としてとらえた書籍。逆に文化が正常で無いなら、OJTは害悪でしか無い。

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (Theory in practice)
アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (Theory in practice) Dave H. Hoover Adewale Oshineye 柴田 芳樹

オライリージャパン 2010-07-08
売り上げランキング : 256381

Amazonで詳しく見る by G-Tools

後もちろんこれ。

達人プログラマー―システム開発の職人から名匠への道
達人プログラマー―システム開発の職人から名匠への道 アンドリュー ハント デビッド トーマス Andrew Hunt

ピアソンエデュケーション 2000-11
売り上げランキング : 5745

Amazonで詳しく見る by G-Tools

教科書的な学習という点では、特定の言語やプラットフォーム向けも実際には幹では無いことも注意しておくことが重要で、結局プログラミング言語も枝葉の一つかもしれないし、視座を高めてパースペクティブを広げるのはもっとプリミティブで抽象的な教科書的な知識だと思ってる。

開発系エンジニアのスキルロードマップ それを読んだあとの思考のまとめ

MSC赤間氏によるコラム。現時点での赤間氏の考える日本のデヴェロッパーのスキルロードマップ。特に日本のSIerというか主に受託開発をしている人たち向けだと思う。

通読して、どう思うかはもう個々の考え方だと思うけど、何となくやっていくことは不可能だという認識だけは持った方が良いと思う。

何となくやっていける仕事はどんどんMSの中の人やフレームワーク開発の連中、クラウドサービスの中の人たちが片付けてしまう。簡単に簡潔に書けるけど、正しくそれで書くためには高い知見が必要だというのはこれからの話ではなくて、今の話だ。

問題はその知見だ。知見は間違ってもクラスライブラリ個々のメソッドやその引数に詳しいことでも無く、IDEの機能に習熟していることではない。それらはこの文章にあるように枝葉の部分だ。(だからといって枝葉がいらないわけではない。枝葉が無ければ幹は育たない)

豆蔵の萩本氏(当時)が以前雑誌記事に書かれていたことではあるのだけど、幹となる,知見と呼び得る技術はそういう具体的で触れるものでは無く、もっと抽象的で、概念的なものだ。クラスライブラリやIDE、プログラミング言語には賞味期限が有り、これの技術はいくら習熟したとしてもいつかは揮発してしまう。幹となる、知見のもととなる技術は蓄積でき、揮発しない技術で、それは抽象的で概念的でわかりにくい。

わかりにくさには理由がある、一足飛びで何かを得ることをそれらが許さないからだ。手順を踏ませる。何かには下と上が有り、その下を理解しなければ何かを理解し知見の元にはできない。

揮発しない技術の習得には回り道に思えても定本を押さえ、古典を振り返り、日々の作業の中でこの作業で何を学び得るのかを意識して作業をして、基礎を固めていかなくてはならない。幹をぶれないようにするには下側になればなるほどそこを強固にしておくことだ。大きな幹は大きく根を張っているのだから。

技術者にできる自己防衛とはそんなものなんだと思う。

 

書評 : 良いコードを書く技術

カーニハンのプログラミング作法の現代版かな(劣化してるとか言わない)。基本的に新人や入社数年目の人が読むと良い内容。コーディングの掟が身もふたもない現実を積み上げて自分が本書で言う中級の人を本当の中級に引き上げようという内容なら、これは本書で言う良い仕事をしたい普通のプログラマを自ら中級、達人に成り上がれるようにする本と言ったところのような気がします。

ブクログから転載。

「プログラマという職業は「ふつう」の人には厳しくないか」いやそうではないプログラマには一足早くそれがきているだけ。

UK STUDIO – プログラマという職業は「ふつう」の人には厳しくないか

「ふつう」の人達はプログラマになるべきじゃないのだろうか? 例えば、プロスポーツ選手であれば普段の生活からそれ相応の生活を求められるだろうが、プログラマもそういう職種なのだろうか。

少なくとも今現在まわりと見渡すと「ふつう」のプログラマも結構いるように思う。結婚して妻子がいて、そういう勉強の時間があまり取れないって人もいると思う。そういう人達にプログラマはもう無理だねと言ってしまってもいいのだろうか。

これはプログラマやIT技術者が他の人より一歩先にこういう状態になっているだけ。基本的にいわゆるホワイトカラーと呼ばれる業種についている人間はそういう状態になるし、勉強量の差はあるだろうけどそれは程度の問題になると僕は思っているわけだけど。実際企業会計に関わっている人たちもやれJSOXだ、国際会計ほにゃららだと毎年のように新しい法規や制度でが出てきて対応しなければならない状態が続いているし。

ドラッカーの言うように頭を使ってお金を得る人たちは総プロフェッショナル化の道に進んでいるのは間違いないだろうし、それは確かにプロ野球選手のように生活することなんだと思う。(それも程度の差があるわけだけど)

本件興味を持たれたなら以下の本をお薦めします。

プロフェッショナルの条件―いかに成果をあげ、成長するか (はじめて読むドラッカー (自己実現編))
プロフェッショナルの条件―いかに成果をあげ、成長するか (はじめて読むドラッカー (自己実現編))
ダイヤモンド社 2000-07
売り上げランキング : 163

おすすめ平均 star
star当たり前だけど大切なこと。
star手許に置いといて良かった。
star知的な興奮を感じる一冊

Amazonで詳しく見る by G-Tools

KODU PC版Tech preview

以前紹介したXBox 360のキッズ向けヴィジュアルプログラミング環境のKODUのPC版が出たようです。

image

KODU Game Lab

使用に当たっては.NET Framework 3.5とXNAのランタイムが必要になります。(インストーラでインストールするように言われ、ダウンロード先がリンクされます)

また、操作に当たってはXBox 360コントローラと互換性のあるPC用ゲームコントローラがあった方がいいと思います。

image_3

image_4

image_5

image_6

【レビュー】複雑化するゲーム開発と『Kodu』の意義 – ゲーム作りの興味を失う前に | ネット | マイコミジャーナル