八葉の日記

日々、感じたことをまとめる場として利用する

SOLID原則:4つ目 インターフェース分離の原則(ISP:Interface Segregation Principle)

〇インターフェース分離の原則(ISP:Interface Segregation Principle) クライアントにクライアント利用しないメソッドへの依存を強制してはならないあなたがある機能を実現するモジュールを作成しているとして、そのモジュールが外部に公開しているIFを見る…

SOLID原則:5つ目 依存関係逆転の原則(DIP:The Dependency Inversion Principle)

〇依存関係逆転の原則(DIP:The Dependency Inversion Principle) 上位のモジュールは下位のモジュールに依存してはならない。どちらのモジュールも「抽象」に依存すべきである 「抽象」は実装の詳細に依存してはならない。実装の詳細が「抽象」に依存すべき…

GenICam:ノードについて

GenICam規格のノード説明のメモ http://www.emva.org/wp-content/uploads/GenICam_Standard_v2_0.pdf■ノードについて Something vendor specific The amplification of the camera A more elborated description Gain Expert 12fc SomeNode1 SomeNode2 SomeN…

SOLID原則:3つ目 リスコフの置換原則(LSP:Liskov-Substitution Principle)

〇リスコフの置換原則(LSP:Liskov-Substitution Principle) 派生型は基本型と置換可能でなければならない上の意味だけ聞いてもなんのこっちゃとなるとおもうのですが、 リスコフの置換原則に反したケースを皆さん見たことがあると思います。 class MainScre…

SOLID原則:2つ目 オープン・クローズドの原則(OCP:Open-Closed Principle)

〇オープン・クローズドの原則(OCP:Open-Closed Principle) 1.拡張に対して開かれている 2.修正に対して閉じている1つ目はモジュールの振る舞いを変更できること、2つ目はモジュールの振る舞いを拡張しても、 そのモジュールのソースコードやバイナリは影響…

SOLID原則:1つ目 単一責任の原則(SRP:Single Responsibility Principle)

〇まえおきソフトウェアの開発に携わっっている方なら、ひどいコードの保守にあたって、 心身がとても疲れた経験はあると思うし、自分が作ったコードが人を大変な目に 会わせたことはあるんじゃないかと思います。 それらのコードは作ったときはヒドイコード…

placement new(確保済みアドレスを指定する)について

placement newという通常のnewと異なるメモリアロケート方法があり、 通常のnewに比べて、以下の利点がある。 ・メモリアロケートの時間が短縮される ・メモリアロケートの例外が発生しないように制御できる■使い方 通常のnewと違い明示的にデストラクタを呼…

改行文字の有無判定と修正

与えられた文字列に対して、改行文字の有無を判断し、 改行文字がない場合は改行文字を追加するという関数を 作りたい。 ★の部分で詰まる改行文字を追加しないといけないけどどうすればできる? string使うとかはなし、古いコードでデバッグ文字に改行有無が…

データベースについて

仕事で1年目にデータベースを使っていたけど、復習のために再勉強。 ■主キー DB上のデータのタプル(データ構造を示す組のこと→行ともいう)を一意に示すことができるキーをいう。複数の列(属性)で構成されうこともある。 ・一意静制約 ・非NULL制約 ■候補キー…

UMTP L2合格しました

UMTP L2 合格しました。 以下の参考書の意味が分かっていれば合格できます。あとは黒本で過去問を2回位とけばいける感じ。 UML モデリングのエッセンス 第3版 (Object Oriented SELECTION) 作者: マーチン・ファウラー,羽生田栄一 出版社/メーカー: 翔泳社 …

UMLについて モデリング

■モデリングの種類 ・ビジネスモデリング システム化対象の業務(ビジネス)をモデル化する。主に業務の流れをモデル化には、アクテビティ図、業務用語からの関連データ抽出には、クラス図が利用される。 ・要求分析モデリング システムに対する要求をモデル化…

UMLプロファイル

UMLプロファイルは特定ドメイン向けに、UMLの記法を拡張する拡張セットのこと。 以下の3つから提供される。 ・ステレオタイプ 要素に具体的な役割を与える。«boundary»、«control»、«entity»などをつけると、その要素の役割がすぐわかるし、違う役割の要素も…

UMLについて 2017/02/12

勘違いや間違いがあったので、備忘録... ・UMLに独自の図を追加して使うことはできない。 UMLの仕様はOMG(Object Management Group:オブジェクト指向技術の標準化を行なう団体)が決めているので、この仕様にない図を使ったものはUMLとは認められない。 拡張…

パッケージ図 その2

パッケージを描くときは、パッケージ間の依存関係を意識する。具体的には、単一方向に依存が付くような場合が望ましい。 例外はあって、Mapperパターンのデータマッパーなどは、データを管理する層とロジックの層の橋渡しをするため両方から依存が付く。 橋…

パッケージ図

■パッケージ図 クラスをグルーピングする構成要素です。グルーピングの基準では、以下に注意する。 ・閉鎖性共通の原則(Common Closure Principle) 1つのパッケージ内のクラスは、同じような理由で変更されるべきという原則 ・全再利用の原則(Common Reuse P…

クラス図について... その3

■分類と汎化 よく汎化のことを、ia-a関係というが注意しないといけないことがある。 それは以下のいずれもia-a関係であるということ。 ・分類:ポチはボーダーコリーです。(ポチ is ボーダーコリー) ・汎化:ボーダーコリーは血統です。(ボーダーコリー is 血…

クラス図について... その2

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION) 作者: マーチン・ファウラー,羽生田栄一 出版社/メーカー: 翔泳社 発売日: 2005/06/16 メディア: 大型本 購入: 8人 クリック: 254回 この商品を含むブログ (93件) を見る 5章読んでいて、使っ…

シーケンス図

システムの動的構造(振る舞い)をモデル化に使用する。特にクラスやオブジェクトなどの何らかのモノの間のコラボレーションを記述する。 アルゴリズムやループを書くのが目的じゃなくて、コラボレーションを記述するのに便利なダイアグラム。なので、練習以外…

契約による設計(Design By Contract)

クラスやメソッドの事前条件、事後条件、不変条件を明確に表明する設計手法を、契約による設計(Design By Contract)という。 ■事前条件 [内容] 実行前に満たすべき条件。例えば、引数には0以上の整数、NULL以外のポインタ、パラメータクラスは初期化している…

クラス図について

UMLといえば、これって感じだと思う。 クラス図って? システム(対象)の静的な関係を示すことに用いる。 示すのは、 ・クラス名称 - プロパティ(属性もしくはクラスの関連) - 操作 - クラス同士の関連とその制約 (汎化とかコンポジット、多重度、多重の場合…

開発プロセスについて、ちょっと纏め

UMTP Lv2をうけようと思うので、プロセスをちょっとまとめ ■ウォーターフォール型プロセス プロジェクトをアクティビティ(要求分析、設計、コーディング、テスト)に分けて管理する。 [特徴] ・滝のように流れが決まっていても、流れを上流にさかのぼることが…

SVN Blame

コードをSVNやGitで管理していると、このコードをいつだれが変更したか しべたいことがある。 そんなときは、Blameを使うと各行ごとにだれがいつ変更したか表示される。

プレゼントしたい本ということで...

「プレゼントしたい本」ということで、数学ガールという数学の読みものをプレゼントしたい。特に数学が嫌いな人に読ませたい。 理由は、大学の時に、これをよんで目からウロコの思いをして、テンションがバカ上がりしたから、「もう高校の時の数学の授業って…

「君の名は」興行収入がすごいことに...

Yahooみてびっくり。 「君の名は」の興行収入が3週間で、60億こえてるってさ。 headlines.yahoo.co.jp 3回目見に行こう...

久しぶりにHaskell

Haskellの練習サイト 本とかで写経していても、いまいち自分一人で書けるように なっていないので、練習しよう! H-99: Ninety-Nine Haskell Problems - HaskellWiki

追加:新人エンジニアに向けオススメ書籍

以前、ブログにて新人エンジニア向けの書籍を紹介しましたが、大切な本を忘れていました。 konboi-kun.hatenablog.com 前回紹介した書籍は、業務に直結する内容で時間がかかっても読んでほしいものでした。しかし、新人となれば、まず、"仕事の心構え"がわか…

キャンセルを伴う継承

新装版 マルチパラダイムデザイン 作者: ジェームス・O・コプリン,James O. Coplien,平鍋健児,金沢典子,羽生田栄一 出版社/メーカー: ピアソン桐原 発売日: 2009/12/01 メディア: 単行本 購入: 3人 クリック: 41回 この商品を含むブログ (6件) を見る 読んで…

SOLID原則

アジャイルソフトウェア開発の奥義 作者: ロバート・C・マーチン,瀬谷啓介 出版社/メーカー: ソフトバンククリエイティブ 発売日: 2004/06/30 メディア: 単行本 購入: 3人 クリック: 236回 この商品を含むブログ (146件) を見る SOLID原則、いい設計のための…

(詰まったところ)「JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック」

JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック 作者: クジラ飛行机 出版社/メーカー: ソシム 発売日: 2015/08/31 メディア: 単行本 この商品を含むブログ (2件) を見る JavaScriptの勉強に上の本を読んでいますが、詰まってしまいました…

パッケージ設計のポイント

アジャイルソフトウェア開発の奥義 作者: ロバート・C・マーチン,瀬谷啓介 出版社/メーカー: ソフトバンククリエイティブ 発売日: 2004/06/30 メディア: 単行本 購入: 3人 クリック: 236回 この商品を含むブログ (146件) を見る 上の本に書いてあった内容の…