fc2ブログ

書籍をつつく117-C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス。実践的金言集。

C++本の紹介が足りないからまたC++の良書を紹介するピヨ♪
C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)
安い、上手い、早いの三拍子そろった良い本ピヨ♪

【目次】
組織とポリシーに関する話題(0~4)
設計スタイル(5~13)
コーディングスタイル(14~24)
関数と演算子(25~31)
クラス設計と継承(32~46)
コンストラクタ、デストラクタ、およびコピー代入演算子(47~56)
名前空間とモジュール(57~63)
テンプレートと汎用性(64~67)
エラー処理と例外処理(68~75)
STL:コンテナ(76~82)
STL:アルゴリズム(83~89)
型安全(90~100)
※括弧内に書いてある数値はルールの番号ピヨ

参考文献
要約集
索引


例によってまた目次が無いから困ったピヨ。残念だけど大変だったから100のルールをお見せする事が出来ないピヨォ。流石に100のルールを書くのは時間がかかるからね。専門書に目次情報が無い時があるけど、これは購入ポイントだから書いて欲しいピヨ。
それはさておき、本題に入るピヨ。この本はチームのコーディング標準の礎となる事を狙って書かれた本ピヨ♪チーム開発でコーディングルールを決めるのはよくある事だけど、C++はかなり表現の幅が広くて揉め易いからこの手の本があると助かるピヨ♪しかも、ただのコーディングルールではなくて、C++を実務で使う上でのポイントにもなっているから大変役立つ本ピヨ♪
この本があれば、チームで使用するコーディングルールを一から決めるよりも早く済むし、ためになる事が沢山書いているし、専門書にしては安いの三拍子揃っているいい本ピヨ。
だけどこの本にも一つ弱点があるピヨ。それは解説が簡潔な事ピヨ。このページ数だから仕方が無いし、この本の目的を考慮すると理にかなっているんだけど、初心者には分からないと思うピヨ。その点は注意してね。
とはいえ、プロのコーディングルール本だからそこは当たり前の事だよね♪C++をある程度使えるようになったら是非読もう♪目から鱗なルールが沢山書いてあるピヨ♪
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

中の人の徒然草257

どうやら反論とやらは無かったようです。相変わらずまともに自分の意見を言えないようで(多分元々無いのだろう)、http://twitter.com/indoriでなりすまししたり、駄々を捏ねたり、印象操作などの卑怯な行為に徹しているだけなので、誰からも相手されないであろう哀れな人達は無視して通常に戻ります。

それにしても今年の夏短かったよね。私は夏が好きなのでがっかりです。長い梅雨が漸く明けて、夏まっしぐらだと思ったのですが、直ぐに秋と宣言されてしまいましたorz
秋もあの物悲しい雰囲気とかいいのですが、やっぱり夏の空気を満喫したかったです。このままの調子でいくと、日本から四季が消えてしまうかも・・・四季が日本の情緒だと思うのでそれは嫌です。
でも仕方が無いので秋の事を考えます。秋になったら何をしようかな♪秋といえば、やはり読書♪精読できない本がたまっていますのでそれを読もうかな♪例えば・・・



こんな具合の本がいいかな♪MINIXやLinuxのソースまで含めて精読していないんですよね・・・それに数学もまだ十分に学習していないしね。何時かそれをしてみたいな♪それともやはり、前にも言ったWindowsのデバドラ本かな♪多すぎて紹介できないけどもまだまだ沢山あります。
どうやら読書の秋なら満喫できそうです♪読む本には困っていません。逆に読む時間の確保に困っていますorz
という事で読書の秋を満喫する事にします・・・・・あれ?そういえば、夏でも読書の事を書いたような・・・改めて考えると、毎日読書しています(笑)技術者は年中読書という事ですね。いや、読書人生と言っても過言ではありませんね♪

テーマ : 裏事情
ジャンル :

中の人の徒然草256

ふぅ・・・以前から私を付回して誹謗中傷する連中が居ましたが、今度はついに他者のコラムにまで私の攻撃を書き始めました。こういう風評被害は迷惑以外の何ものでもありませんし、なによりも関係のない人に迷惑をかける行為は止めて頂きたいものです。こういった社会人とは思えない人達が同じ業界の人間だと思うと非常に憂鬱です。こういったあくどい人々は嫌でも目立ちますので、業界そのものの印象が悪くなる危険性が十二分にあります。実際にマスメディアは過剰にITを悪だと誇張する傾向がありますのでなおさら注意せねばなりません。
私は匿名は必要だと考えているのですが、こういった連中が居ることを指摘されると反論し辛くなります。こういった程度の低い人々を庇護する事は出来ませんので、「匿名だとこういう事があるでしょ」といわれればとても匿名の利点を主張し辛くなります。物事は利点だけではなく、不利益も考慮されるものです。おまけに日本は不利益にたいして過剰に反応する傾向があります。
それを考えると、昨今は匿名の利点だけを主張するのではなく、不利益に対してどうするのかという理論がなければならないと考えるようになりました。 それでひとまず、私に出来る事は注意しかないと思って注意してきたのですが、残念ながら効果がないようです。初めから言って分かる人ならば、あのような愚かな事はしないでしょうから、当然といえば当然なのですが、かといって個人が出来る事なんて注意ぐらいしかありません。これは根が深い問題ですね・・・
だからと言って、問題から逃げ、安易に実名を義務付けするのは反対です。何故ならば、匿名の問題から逃げて実名にしても、同じ問題が形を変えて発生するだけだからです。ですから、これは我々が解決せねばならない問題だと私は思います。そうしないと「あの人達は例外」だという主張には説得力がありません。放置していれば、他の業種の人から「IT産業に従事する人々はああいう常識足らずだ」と思われても仕方が無いでしょう。
インターネットの風紀だけが原因ではないのですが、IT業界に関する評判は既に悪くなっています。ですから我々は今こそ自浄能力を発揮していかねばならないのではないでしょうか?

テーマ : 裏事情
ジャンル :

書籍をつつく116-日本のソフトウェア産業がいつまでもダメな理由。みなが読むべき啓蒙書。

今日、趣味の本屋めぐりをしていたら面白そうな本を発見したピヨ♪
日本のソフトウェア産業がいつまでもダメな理由
これはナイスな本だね♪


【目次】
ソフトウェア産業に起きていることを今語ろう―
プロローグ この業界の酸いも甘いも知っている男たち
第1章 技術がよりどころのソフトウェア会社がエンジニアの足を引っ張る―
会社のここがダメ
第2章 仕事から生み出す価値が自分のところで止まっていないか?―
エンジニアのここがダメ
第3章 「優良産業」を名乗れる日ははるかに遠い―
業界のここがダメ
第4章 発注企業はこのパターンにはまって「ゴミシステム」をつかむ―
ユーザーのここがダメ
神の手という名のプロフェッショナリズム―
エピローグ


これは多くの人が読むべき本だと感じたピヨ。ソフトウェア産業が駄目な根源的理由は、何が駄目なのかを知らない事だとボクは思う。多くの人がこの本を読んで如何に駄目なのかを知って欲しいとボクは願っているピヨ。
それにしても、これは事実だけに酷すぎるピヨォ。この産業は仕事は魅力的だし、今既に情報の時代なのに、それを取り巻く環境がこれほどまでに酷いのは不幸としか言いようがないピヨ。これでは若者がこの産業に就職したくない理由がとってもよく分かる。
だからこの本を読んで「そうだね・・・」で終わるのではなく、それぞれが自分の出来る事をしてこの業界を変えて欲しいとボクは願っている。

テーマ : 裏事情
ジャンル :

書籍をつつく115-Scalaスケーラブルプログラミング。バイブル本。

ボク最近気になる本があるピヨ。それがこの・・・
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)
Scalaは素敵な言語だからこれはもう買うっきゃないよね♪


【目次】
第01章 スケーラブルな言語 A Scalable Language
1.1 プログラマーとともに成長する言語
1.2 Scalaがスケーラブルな理由
1.3 Scalaを選ぶ理由
1.4 Scalaのさまざまなルーツ
1.5 まとめ

第02章 Scalaプログラミングの第一歩 First Steps in Scala
2.1 [ステップ1]Scalaインタープリターの使い方を学ぶ
2.2 [ステップ2]変数を定義する
2.3 [ステップ3]関数を定義する
2.4 [ステップ4]簡単なScalaスクリプトを書く
2.5 [ステップ5]whileによるループ、ifによる分岐
2.6 [ステップ6]foreachとforによる反復実行
2.7 まとめ

第03章 Scalaプログラミングの次の一歩 Next Steps in Scala
3.1 [ステップ7]配列を型でパラメーター化する
3.2 [ステップ8]リストを使う
3.3 [ステップ9]タプルを使う
3.4 [ステップ10]集合とマップを使う
3.5 [ステップ11]関数型のスタイルを見分ける
3.6 [ステップ12]ファイルから行を読み出す
3.7 まとめ

第04章 クラスとオブジェクト Classes and Objects
4.1 クラス、フィールド、メソッド
4.2 セミコロン推論
4.3 シングルトンオブジェクト
4.4 Scalaアプリケーション
4.5 Applicationトレイト
4.6 まとめ

第05章 基本型と演算子 Basic Types and Operations
5.1 基本型
5.2 リテラル
5.3 演算子はメソッドである
5.4 算術演算
5.5 関係演算子と論理演算子
5.6 ビット単位演算
5.7 オブジェクトの等価性
5.8 演算子の優先順位と結合性
5.9 リッチラッパー
5.10 まとめ

第06章 関数型スタイルのオブジェクト Functional Objects
6.1 Rationalクラスの仕様
6.2 Rationalの構築
6.3 toStringメソッドのオーバーライド
6.4 事前条件のチェック
6.5 フィールドの追加
6.6 自己参照
6.7 補助コンストラクター
6.8 非公開フィールドとメソッド
6.9 演算子の定義
6.10 Scalaの識別子
6.11 メソッドの多重定義
6.12 暗黙の型変換
6.13 [使用上の注意]演算子メソッドと暗黙の型変換
6.14 まとめ

第07章 組み込みの制御構造 Built-in Control Structures
7.1 if式
7.2 whileループ
7.3 for式
7.4 try式による例外処理
7.5 match式
7.6 breakとcontinueを使わずに済ませる
7.7 変数のスコープ
7.8 命令型スタイルのコードのリファクタリング
7.9 まとめ

第08章 関数とクロージャー Functions and Closures
8.1 メソッド
8.2 ローカル関数
8.3 一人前の存在としての関数
8.4 関数リテラルの短縮形
8.5 プレースホルダー構文
8.6 部分適用された関数
8.7 クロージャー
8.8 連続パラメーター
8.9 末尾再帰
8.10 まとめ

第09章 制御の抽象化 Control Abstraction
9.1 重複するコードの削減
9.2 クライアントコードの単純化
9.3 カリー化
9.4 新しい制御構造を作る
9.5 名前渡しパラメーター
9.6 まとめ

第10章 合成と継承 Composition and Inheritance
10.1 2Dレイアウトライブラリー
10.2 抽象クラス
10.3 パラメーターなしメソッドの定義
10.4 クラスの拡張
10.5 メソッドとフィールドのオーバーライド
10.6 パラメーターフィールドの定義
10.7 スーパークラスコンストラクターの呼び出し
10.8 override修飾子の使い方
10.9 多相性と動的束縛
10.10 ファイナルメンバーの宣言
10.11 合成か継承か
10.12 above、beside、toStringの実装
10.13 ファクトリーオブジェクトの定義
10.14 高さを調整するheighten、幅を調整するwiden
10.15 レイアウト要素すべてを組み合わせて利用するアプリケーション
10.16 まとめ

第11章 Scalaの階層構造 Scala's Hierarchy
11.1 Scalaのクラス階層
11.2 プリミティブ型の実装方法
11.3 最下位(bottom)の2つの型
11.4 まとめ

第12章 トレイト Traits
12.1 トレイトの仕組み
12.2 シンインターフェイスとリッチインターフェイス
12.3 サンプル:矩形オブジェクト
12.4 Orderedトレイト
12.5 積み重ね可能な変更をそれぞれのトレイトで表現する
12.6 Scalaが多重継承ではなくミックスイン合成を選んだ理由
12.7 トレイトすべきか、せざるべきか
12.8 まとめ

第13章 パッケージとインポート Packages and Imports
13.1 パッケージ
13.2 インポート
13.3 暗黙のインポート
13.4 アクセス修飾子
13.5 まとめ

第14章 表明と単体テスト Assertions and Unit Testing
14.1 表明(assertions:アサーション)
14.2 Scalaにおける単体テスト
14.3 情報が豊富なエラーレポート
14.4 JUnitとTestNGの使い方
14.5 仕様としてのテスト
14.6 プロパティベースのテスト
14.7 テストの構成と実行
14.8 まとめ

第15章 ケースクラスとパターンマッチ 
Case Classes and Pattern Matching
15.1 単純なサンプル
15.2 パターンの種類
15.3 パターンガード
15.4 パターンのオーバーラップ
15.5 シールドクラス
15.6 Option型
15.7 どこでもパターンを
15.8 より大きなサンプル
15.9 まとめ

第16章 リストの操作 Working with Lists
16.1 リストリテラル
16.2 List型
16.3 リストの構築
16.4 リストに対する基本操作
16.5 リストパターン
16.6 Listクラスの一階メソッド
16.7 Listクラスの高階メソッド
16.8 Listオブジェクトのメソッド
16.9 Scalaの型推論アルゴリズムを理解する
16.10 まとめ

第17章 コレクション Collections
17.1 ライブラリーの概要
17.2 シーケンス
17.3 集合(Set)とマップ
17.4 ミュータブルとイミュータブルのどちらを使うべきか
17.5 コレクションの初期化
17.6 タプル
17.7 まとめ

第18章 ステートフルオブジェクト Stateful Objects
18.1 どのようなオブジェクトがステートフルなのか
18.2 再代入可能な変数とプロパティ
18.3 ケーススタディ:離散イベントシミュレーション
18.4 デジタル回路のための言語
18.5 シミュレーションAPI
18.6 デジタル回路のシミュレーション
18.7 まとめ

第19章 型のパラメーター化 Type Parameterization
19.1 関数型待ち行列
19.2 情報隠蔽
19.3 変位指定アノテーション
19.4 変位指定アノテーションのチェック
19.5 下限境界(lower bounds)
19.6 反変(contravariance)
19.7 オブジェクト非公開データ
19.8 上限境界(upper bounds)
19.9 まとめ

第20章 抽象メンバー Abstract Members
20.1 抽象メンバーの弾丸ツアー
20.2 型メンバー
20.3 抽象val
20.4 抽象var
20.5 抽象valの初期化
20.6 抽象型
20.7 パス依存型
20.8 列挙(enumeration)
20.9 ケーススタディ:通貨計算
20.10 まとめ

第21章 暗黙の型変換とパラメーター 
Implicit Conversions and Parameters
21.1 暗黙の型変換
21.2 implicitの規則
21.3 要求された型への暗黙の型変換
21.4 レシーバーの変換
21.5 暗黙のパラメーター
21.6 可視境界
21.7 暗黙の型変換のデバッグ
21.8 まとめ

第22章 リストの実装 Implementing Lists
22.1 Listクラスの原則
22.2 ListBufferクラス
22.3 Listクラスの実際の中身
22.4 関数型の見かけ
22.5 まとめ

第23章 for式の再説 For Expressions Revisited
23.1 for式
23.2 N女王問題
23.3 for式によるクエリー
23.4 for式の変換
23.5 逆方向への変換
23.6 forの一般化
23.7 まとめ

第24章 抽出子 Extractors
24.1 サンプル:メールアドレスの抽出
24.2 抽出子
24.3 変数が1個以下のパターン
24.4 可変個の引数をとる抽出子
24.5 抽出子とシーケンスパターン
24.6 抽出子とケースクラス
24.7 正規表現
24.8 まとめ

第25章 アノテーション Annotations
25.1 アノテーションを使う理由
25.2 アノテーションの構文
25.3 標準アノテーション
25.4 まとめ

第26章 XMLの操作 Working with XML
26.1 準構造化データ
26.2 XMLの概要
26.3 XMLリテラル
26.4 シリアライゼーション
26.5 XMLの分解
26.6 デシリアライゼーション
26.7 ロードと保存
26.8 XMLを対象とするパターンマッチ
26.9 まとめ

第27章 オブジェクトを使ったモジュラープログラミング 
Modular Programming Using Objects
27.1 課題
27.2 「レシピ」アプリケーション
27.3 抽象化
27.4 モジュールのトレイトへの分割
27.5 実行時リンク
27.6 モジュールインスタンスの管理
27.7 まとめ

第28章 オブジェクトの等価性 Object Equality
28.1 Scalaにおける等価性
28.2 等価メソッドの開発
28.3 パラメーター化された型の等価性の定義
28.4 equalsとhashCodeのレシピ
28.5 まとめ

第29章 ScalaとJavaの結合 Combining Scala and Java
29.1 JavaからScalaを使うための注意点
29.2 アノテーション
29.3 存在型
29.4 まとめ

第30章 アクターと並行プログラミング Actors and Concurrency
30.1 楽園のトラブル
30.2 アクターとメッセージ交換
30.3 ネイティブスレッドをアクターとして扱う
30.4 スレッドの再利用によるパフォーマンスの向上
30.5 アクターコードのスタイル
30.6 大規模なサンプル:並列離散イベントシミュレーション
30.7 まとめ

第31章 パーサー・コンビネーター Combinator Parsing
31.1 サンプル:算術式
31.2 パーサーの実行
31.3 基本正規表現パーサー
31.4 他のパーサーの使用例:JSON
31.5 パーサーの出力
31.6 パーサー・コンビネーターの実装
31.7 文字列リテラルと正規表現
31.8 字句解析と構文解析
31.9 エラー報告
31.10 バックトラックとLL(1)
31.11 まとめ

第32章 GUIプログラミング GUI Programming
32.1 最初に作るSwingアプリケーション
32.2 パネルとレイアウト
32.3 イベント処理
32.4 サンプル:摂氏・華氏換算プログラム
32.5 まとめ

第33章 SCellsスプレッドシート The SCells Spreadsheet
33.1 ビジュアルフレームワーク
33.2 データ入力と表示の分離
33.3 数式
33.4 数式の構文解析
33.5 数式の評価
33.6 演算ライブラリー
33.7 値の変更の通知
33.8 まとめ

付録A Scalaスクリプトをシェルスクリプトとして実行する方法[UNIX&Windows]
参考文献
用語集
索引
監修者あとがき
著者/翻訳者/監修者紹介


ボクはずっとScalaに心惹かれていたピヨ♪何故かと言うと、関数型言語とオブジェクト指向な命令言語がたくみに融合されているからんだ。これからの言語はコウでなくっちゃ♪でもScalaは長い事日本語の資料に恵まれていなかったピヨォ。ボクは仕方が無く、BNFや拙い英語力を駆使して情報をちびちび仕入れていたピヨ。
そんな中最近発売されたのが設計者自らが書いたProductivity Award章を受賞したこの本ピヨ♪設計者が自ら書いたということは、あのプログラミング言語C++と同じバイブルだという事だよね。
これからメジャーになるであろうScalaを学ぶのはいい事だとボクは思う。もしこの言語自体がメジャーになれなくとも、近代的言語のアプローチは必ず関数型言語+命令型言語になるだろうから今からこの本を読んで関数型の要素にも慣れておく必要があるとボクは思う。Scalaは他言語を修得していればそれ程難しくはないから、この本を羅針盤として気楽に挑戦しよう♪

テーマ : プログラミング
ジャンル : コンピュータ

書籍をつつく114-アセンブリ言語の教科書。入門書ツゥ~♪

さて、独習アセンブラ を読み終えたら何を読むべきなのだろう?入門書を読み終えたらもう少し歯ごたえがある書籍が欲しいよね♪そんな時は・・・
アセンブリ言語の教科書
この書籍をボクはお勧めするピヨ♪


【目次】
1章:アセンブリ言語を学ぶ前に
コンピュータの基礎知識とアセンブリ言語
 はじめに
 コンピュータとは
 CPU
 メモリ
 I/O
 プログラミング言語とは
 アセンブリ言語とアセンブラ
 アセンブリ言語の処理速度
 マシン語とは
 2進数と16進数とコンピュータの関係
 電卓を使って16進数へ変換する
 ビットとバイト
 バイナリエディタ
 レジスタとは
 x86系CPUの進化
  8080
  8086
  80386
 アセンブリ言語の記述法
 さいごに
2章:16ビットアセンブラプログラミング
8086アセンブラプログラミング
 はじめに
 ようこそ16ビットの世界へ
 凡用レジスタ
 加算と減算
  加算
  減算
  インクリメントとデクリメント
 ジャンプ命令
 フラグレジスタと条件分岐
 乗算と除算
  乗算(mul命令)
  除算(div命令)
 ループ命令
 フラグ操作
 命令ポインタ
 スタックと特殊凡用レジスタ
 サブルーチン
 論理演算
  論理積
  論理和
  排他的論理和
  論理否定
 シフト
  論理シフト
  算術シフト
 ローテート
  CFフラグを通さないローテート
  CFフラグを通すローテート
 セグメントとオフセット
 メモリ操作
 システムコール(文字の出力)
 さいごに
16ビットNASMプログラミング
 はじめに
 インストール
 コンパイル
 マシン語
  マシン語とアセンブリ言語
  マシン語でプログラミング
 文字列の入出力
  文字列の出力
  文字列の入力
 ファイル操作
  ファイルを開く
  ファイルを読み込む
  ファイルを閉じる
  ファイルの書き込み
  ファイルの作成
  ファイルの削除
  ファイルポインタ
  標準入出力とファイルの関係
 コマンドラインのデータ取得
  引数の取得
  実行ファイルパスの取得
 typeコマンドの作成
 アクセスカウンタ
  アクセスカウンタの作成
  HTTPサーバの設定
  アクセスカウンタの実行
 ファイル膨張ソフトの作成
 さいごに
BIOSを利用したプログラミング
 はじめに
 エミュレータとは
 Bochsのダウンロード
 Bochsのインストール
 Bochsの設定
  DISPLAY_LIBRARY
  MEGS
  FLOPPYAとFLOPPYB
  ATA[0-3]-MASTER, ATA[0-3]-SLAVE
  BOOT
  PARPORT1
 文字の表示
 BIOSを利用したプログラミング
 Hello World!
 GNUアセンブラでの開発
 512バイト以上のプログラムの作成
 さいごに
3章:32ビットプログラミング
GNUアセンブラプログラミング
 はじめに
 GDBの使い方
  GDBとは
  デバッグの流れ
  コマンドの説明
 Hello World!
 数値カウントプログラム
 引数の取得
  自作関数の作成
  argcの取得
  argvの取得
 ファイル操作
  fopenとfclose
  fgetsとfputs
 アクセスカウンタの作成
  処理の流れ
  作成
 BBSの作成
  処理の流れ
  作成
 ネットワークプログラミング
  クライアントプログラム作成
 サーバプログラム作成
 システムコールを直接利用するプログラミング
 システムコールでネットワークプログラミング
  socketcall
  プログラミング
 バッファオーバーフロー
  root権限を与えるプログラム
  セキュリティホールが存在するプログラム
  スタック
  実行すべきマシン語の作成
  exploitの作成
  大文字へ変換するターゲットプログラム
 さいごに
Windowsアセンブラプログラミング
 はじめに
 リンカ
 Hello World!
 hello32.exeをデバッガで解析
 ダイアログボックス表示
  リソースコンパイラ(Resource Compiler)
  リソーススクリプトのコンパイル
  ダイアログボックスの表示
 ウィンドウ表示
 簡単なアプリケーションの作成
  リソーススクリプト
  プログラム作成
 少し実用的なアプリケーション
  クリップボードログ取得プログラム
  おおまかな仕様
  処理の流れ
  プログラム作成
  実行結果
 さいごに

Appendix
命令一覧
 転送命令
 論理演算命令
 算術演算命令
 比較命令
 ジャンプ、ループ命令
 スタック関連の命令
 シフト、ローテート命令
OllyDbgのインストールと使い方
 OllyDbgとは
 ダウンロード
 インストール
 日本語化
 プログラムの簡単なデバッグ
MASM(Microsoft assembler)
インラインアセンブラ
 インラインアセンブラとは
 Windows
 Linux
Linux環境でNASMを使う
ネット上で入手できるアセンブラとリンカ
 アセンブラ
 リンカ
アセンブリ言語に関して参考になるWEBページ
 入門講座
 資料
ASCII文字コード表
16進数対応表


目次を見れば伝わると思うけど、この書籍は独習アセンブラよりもちょっとレベルが上の書籍なんだ。でも安心していいピヨ。ほんのちょっとレベルが上なだけだから、独習アセンブラを読むような人は大半は理解できると思うピヨ。
この本の特徴はなんと言っても 他のアセンブラ本よりも本格的なものが作れる事ピヨ♪ちょっと根気が要るけど、アクセスカウンタ、BBS、ネットワークプログラミング、クリップボードログ取得アプリ、などが解説されているピヨ♪ボクの記憶が確かならば、ここまで作れるアセンブラ本は無かったと思うピヨ♪
独習アセンブラを読んで、より深く学びたい人は是非この書籍を読もう♪

テーマ : プログラミング
ジャンル : コンピュータ

書籍をつつく113-独習アセンブラ。最高の入門書。

そういえばボク、日頃アセンブラの重要さを説いてきたのに、アセンブラに関する書籍を紹介していなかったピヨ♪という事で先ずは・・・
独習アセンブラ
を紹介するピヨ♪


【目次】
第1章 アセンブリ言語入門
第2章 数とデータ
第3章 ハードウェアの基礎
第4章 データの移動
第5章 分岐とサブルーチン
第6章 入出力
第7章 演算
第8章 ビットとフラグの操作
第9章 ストリング命令
第10章 その他の要素
第11章 インラインアセンブラ
第12章 高度な話題

付録A NASMの使い方
付録 B アセンブラとデバッガ
付録 C 命令セットリファレンス
付録 D  NASMエラーメッセージとトラブル対策
付録 E 理解度チェックの解答


アセンブラを学習する際に一番困るのが、古い書籍が多くて動作環境を整えるのに苦労する事ピヨォ。その点この書籍は現在の環境で試せるから凄くいいピヨ♪もちろん、ただサンプルが動くからいいといっているのではなくて、この書籍ならではの特徴もあるピヨ。
それは、独習シリーズが本当に独習に向いている事ピヨ♪だからこの本は、アセンブラを学習したい初心者にもってこいピヨ♪丁寧かつ豊富なサンプルコードと演習が理解を手助けしてくれるピヨ。
だけど、一つ注意があるピヨ。この本は、プログラミングを知らない人には向いていないピヨォ。これは残念な事だけど、プログラミング初心者にとってアセンブラはきついとボクは思う。
でも、プログラミング経験者にとっては実力をUPさせる重要な本ピヨ。「今時アセンブラ?」と敬遠する人が多いようだけど、今だからこそアセンブラは重要ピヨッ! 本当にプログラミングを深く学びたいのであれば、アセンブラのは避けられないピヨ♪それに、アセンブラしいてはCPUを知っておくとプログラミング以外でも役に立つピヨ。
ワンランク上の技術者を目指してアセンブラを学習しよう♪

テーマ : プログラミング
ジャンル : コンピュータ

中の人の徒然草255

こんにちわ♪夏休みが恋しいインドリです♪学生の頃は夏休みを普通に感じていましたが、社会人になったらその有難味が分かりますね♪でも学生時代は特に何もすることなく、ただぼーと過ごしていただけなんですよね・・・
今となってはやることが沢山あるのに時間がない。
でも若い時はやる事はないけども時間がある・・・
う~む。人生ってほろ苦い・・・
そういえば、皆様は夏や巣の宿題をどうしていましたか?私の場合は、2・3日おきにやるだけやって、大半をぼーと過ごしていました。そのぼーと過ごすのが意外といいんですよね♪社会人になったらその贅沢な時間の使い方に嫉妬したくなります(笑)
もし、過去の自分にメッセージを伝えられるのであれば、「英語はしっかり学習しろ!」といいたい。今現在英語が非常に弱くってこまっています。といっても、学生時代学習しても社会人になったら忘れていそう(笑)それに、専門書を読めるレベルに到達していないと思う。ということは・・・まぁいいか♪ケセラセラ♪

テーマ : 裏事情
ジャンル :

書籍をつつく112-ITエンジニアのための【業務知識】がわかる本 第2版。出来る技術者への入り口。

そういえば、業務知識に関する書籍を照会していなかったピヨ。プロになるには、当然お客様の事を知らないといけないピヨ。ということで一番手ごろな書籍を紹介するピヨ♪
ITエンジニアのための【業務知識】がわかる本 第2版
題名だけ読むとあんまりはっきりしないピヨね。だから目次を見てみよう。


【目次】
序章 会社経営
第1章 財務会計
第2章 管理会計
第3章 人事給与
第4章 販売管理
第5章 生産管理
第6章 物流・在庫管理
第7章 貿易取引
第8章 店舗管理
第9章 情報連携 


どう?それっぽいでしょう。でも結局何だかよく分からないよね。という事で、内容の紹介をから始めるピヨ。でも、ボクが持っているのは第1版でその知識に基づいてレビューしているから気をつけてね(只今、第2版の購入を検討中)
この書籍が目的としているのはSEが幅広い業務知識を身に付ける手助けをする事ピヨ。なのでこの書籍は各章が現場の概要使用されている情報システムシステムを作るのに当たって必要な知識参考書籍プロのコメントの5つの要素で構成されているピヨ。この5つのステップを踏む事により、お客様と会話できるようになるレベルには到達するピヨ。
だけど気をつけなくてはならないのは、この書籍はあくまでも最低限の知識だという事と、簿記3級の知識は必須という事ピヨ。SEならば簿記3級は絶対に取得しておくべきスキルだからこの前提は納得できるピヨ。
そして、知って置くべき事がコンパクトに詰め込まれている点は好ましいピヨ。だけど、最低限の知識しか教えてくれないのでちょっと不満ピヨォ。もう少し突っ込んだ解説が書かれている方がこの書籍の価値を高めると思うピヨ。
とはいえ、業務知識に自信がないSE(システムエンジニア)は勿論の事、プログラマにもお勧めするピヨ♪何故かって?それは、業務知識がないことで実力を評価してもらえていないプログラマが多いと思うからピヨ。そんなプログラマにとって、この書籍は武器となると思うピヨ。本来プログラマは主役と言ってもいいぐらいなんだから、業務知識を身に付けて、自分の価値を主張できるようになろう♪プログラマの価値がちゃんと理解されていない背景には、業務知識がないという要因もあるとボクは思うんだ。それに知っておいた方がいいプログラムを組めるからね♪

【追記】
第1版との違いは、内部統制、e-書法、新会社法など、最新の重要トピックを中心に大幅加筆している事らしい(情報ソースAmazon)。第1版を持っている人も購入を検討してみよう♪

テーマ : 本に関すること
ジャンル : 本・雑誌

中の人の徒然草254

おはようございます♪今日も仕事に燃えているインドリです♪ 昨日は久しぶりにXPエクストリーム・プログラミング入門―変化を受け入れるを読みました♪ それで、ふと思ったのですが、ソフトウェアの開発プロセスを順番どおりする自体が間違いなのかもしれないと・・・
みなさん、よく考えてみて下さい。デバッグは初期から熟慮されるべきものです(.NET&Windowsプログラマのためのデバッグテクニック徹底解説 (マイクロソフト公式解説書) )また、セキュリティも初期から必要なものです(Writing Secure Code第2版〈上〉プログラマのためのセキュリティ対策テクニック )。加えて、設計と実装の大切さは言うまでもなく、初期段階から設計と実装において現実と乖離している問題を実感しています。設計と実装がちゃんとエンドユーザーの問題ドメインを解決する有効なものでなくてはならないのに、日本の多重請負構造はそれを許しません。
これらの事を鑑みるに、要するに「全ての段階は大切だ」という単純な事なのではないでしょうか?日本は上流が偉いだとか管理が偉いとか、階級社会的な発想を持っています。しかし、本当によいシステムを作ろうと思えば、そんな階級的な考え方は邪魔で、全ての役割が大事なのだから、役割を平坦化し、並列的に処理をする方が効率的で高品質なシステムを作る第一歩だと私は思います。
そんな当たり前な事を経営者が知らないのは本当に不思議です。おそらく日本では、経営者が情報処理技術を何もしらなくてもいいという考えが浸透しているのでしょう。自分の売っているものをしらなくてもいいという発想を私は理解できませんが、何故かよく聞くんですよね・・・
それで商売をしているといえるのでしょうか?自分が分からないものを管理して経営する事なんて不可能です。それに、偽装商品について日ごろ騒いでいる人達が、経営者が商品を知らなくてもいいなんていうのが私は不思議でなりません。
知らない商品を売るという事は、経営者が品質について考慮していないor適切に考慮できないという事を意味しています。分からないものの品質をどうやって理解するのでしょうか?そういった非理論的な日本の慣習がシステム作りの邪魔をしているのです。
古き階級制度的な考えを廃止し、全ての役割を平等に考え、並列的に物事を解決すればよりよいものが生まれるのにと私は思えてなりません。

テーマ : 裏事情
ジャンル :

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

QRコード
FC2カウンター