改行文字の有無判定と修正
与えられた文字列に対して、改行文字の有無を判断し、
改行文字がない場合は改行文字を追加するという関数を
作りたい。
★の部分で詰まる改行文字を追加しないといけないけどどうすればできる?
string使うとかはなし、古いコードでデバッグ文字に改行有無が混在しているため。
可能ならば、コンパイル時に処理が終了して、実行速度に影響がないと嬉しい
template<typename T, int N>
T*
SAMPLE(T(&x)[N])
{
if (x[N - 2] == '\n')
{
return x;
}
//constの場合はここでconstを外す
types<T>::type y[N + 1] = { 0 };
strcpy_s(y, N, x);
y[N - 1] = '\n';
return y;★
}
int main()
{
for (int i = 0; i<10; i++) {
::Sleep(1000);
::OutputDebugString(TEXT(SAMPLE("Hello!")));
}
return 0;
}
データベースについて
仕事で1年目にデータベースを使っていたけど、復習のために再勉強。
■主キー
DB上のデータのタプル(データ構造を示す組のこと→行ともいう)を一意に示すことができるキーをいう。複数の列(属性)で構成されうこともある。
・一意静制約
・非NULL制約
■候補キー
主キー候補となるキーを示し、行を一意に識別できる最小のキーの組をいう。
NULLでもいい。
■スーパーキー
行が一意に識別できるキーをいう。というか左記の条件を満たす属性の組み合わせは多すぎるから業務でつかったことなし。
例えば、属性が①~③まであって主キーが①ならスーパーキーは以下となる。
・①、①②、①③、①②③
UMTP L2合格しました
UMTP L2 合格しました。
以下の参考書の意味が分かっていれば合格できます。あとは黒本で過去問を2回位とけばいける感じ。
UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)
- 作者: マーチン・ファウラー,羽生田栄一
- 出版社/メーカー: 翔泳社
- 発売日: 2005/06/16
- メディア: 大型本
- 購入: 8人 クリック: 254回
- この商品を含むブログ (93件) を見る
UMLについて 2017/02/12
勘違いや間違いがあったので、備忘録...
・UMLに独自の図を追加して使うことはできない。
UMLの仕様はOMG(Object Management Group:オブジェクト指向技術の標準化を行なう団体)が決めているので、この仕様にない図を使ったものはUMLとは認められない。
拡張をする場合は、UMLの仕様にあるメタ属性や制約、ステレオタイプで行う。この拡張のセットをUMLプロファイルという。
・UMLの図の種類
構造図:クラス図、オブジェクト図、パッケージ図、コンポーネント図、コンポジット構造図、配置図
振る舞い図:ユースケース図、アクティビティ図、相互作用図、ステートマシン図
なお、相互作用図は、更にシーケンス図、コミュニーケーション図、タイミング図、相互作用概略図が存在する。
以下Wikipediaにある図
・UnifiedProcess
以下のフェーズからできている
(1)方向づけ:対象システムが実現可能であるか判断する
(2)推敲:アーキテクチャを策定
(3)作成:製品レベルのシステムを作り上げる
(4)移行:利用環境に適応しているかの確認を行う
パッケージ図 その2
パッケージを描くときは、パッケージ間の依存関係を意識する。具体的には、単一方向に依存が付くような場合が望ましい。
例外はあって、Mapperパターンのデータマッパーなどは、データを管理する層とロジックの層の橋渡しをするため両方から依存が付く。
橋渡しでは、ロジック層で扱うデータをデータ保存するのに適した形に変換したりするので、両方から依存が付くのが自然で正しい。