Riverside Learning LABO(Skill/Idea/Code)

よりよいシステムのため工学系と人間系の学習下書きメモ

C言語

セキュリティ強化関数

Subject: sprintf_ssprintf_s プロトタイプ int sprintf_s(char * restrict s, rsize_t n, const char * restrict format, ...); 説明 sprintf の代わりとなる、セキュリティを強化した関数。 戻り値 成功すると、sprintf_s は、文字列の終わりを示す '\0' …

コンパイルオプション個別設定

プロジェクト名.vcprojをエディタで開く プロジェクト全体の設定は、 というタグの中にある。 個別の設定は というタグの中にある 状況によるが、個別設定は多くないほうが良い. 例外は少ないほうが良い.

ビットとバイト

■bit b ビット 情報量の基本単位. binary digit (2進数の1桁)を合成したものといわれている. 1 bit は2進数での1桁分の情報量. 2 bit を2進数で表すと 00, 01, 10, 11 の4通り 1 bit : 21= 2通り(1桁) 2 bit : 22= 4通り(2桁) ... 8 bit : 28= 2…

埋め込みSQL

埋込みSQL文 アプリケーションプログラムに記述されているSQL文のことを指す。 SQL文を含むプログラムはホストプログラムと呼ばれる。 例えば、、特定SQL文をCまたはC++ホスト・プログラムに埋め込むことが可能。

バッチファイルxcopy

■xcopyメモ - copyコマンドではサブディレクトリ含めてコピーできず困る… →xcopyで解決可能 ※xcopy コピー元 [コピー先] [/オプション指定]... xcopyは、サブディレクトリを含めたディレクトリ構造と ファイルの一括コピーを行うコマンドである。 →単一ファ…

バッチでファイル更新

■バッチファイルを使ってSampleFileAファイルの特定行を更新する - ①SampleFileA.iniの内容をライン読みします (空白行を有効にするために「findstr関数」を利用) ②特定文字列で検索して、修正後の値に置換して一時ファイルに出力します ③検索文字列がない…

よくあるテスト観点

【テストの観点メモ】 正常系/異常系 同時/連続 有効値/無効値 過剰/不足 素直/意地悪 中断/完了 順次型/トリガー型 MAX/MIN 新規/移行 初期データ/カスタムデータ

バッチファイルexit

■バッチファイルを強制終了する時の注意点 終了にはexit コマンドを使用する。 1.単に「exit」とした場合 バッチファイルを実行しているコマンドプロンプトまで終了してしまう。 2.「exit /b」とした場合 バッチファイルが別なバッチファイル (親) から call…

NULL終端エラー

■NULL終端エラー 文字列型を持たないC言語では、 文字列は文字型の配列で表現されている。 文字列は必ず、NULL文字が含まれている必要がある。 NULL文字が含まれていなければ、 文字列を取り扱う関数や処理でメモリ破壊を誘発する。 基本的なことだが完全に…

sizeof(定数)

C言語 ■sizeof演算子... - sizeof演算子は2種類の基本的な使い方がある. 1.sizeof(型) 2.sizeof(変数),(定数),(式)etc →定数のサイズを使うときの注意点 #define DEFSTR "テスト" →sizeof(DEFSTR); // 文字列のバイト数+1バイト(NULL) char *DEFSTR = "テス…

スタックとキュー

データの持ち方の基本のメモ ■スタックとキュー - スタック(STACK) →先入後出(FILO)になります。 キュー(QUEUE) →先入先出(FIFO)になります。

reallocチェック観点

- reallocチェック観点 1.realloc処理に入る条件に誤りは無いか? 2.realloc関数の引数は正しいか? 3.reallocの領域サイズに誤りは無いか? 4.realloc前後の処理において、拡張した領域を指しているか?

bsearch対応

- bsearch変更対応のSampleソース ■共通定義 [構造体] #define G_MAX_COUNT 999 /* 最大数 */ typedef struct { char CDCO_[12]; /* ( 12) 会社コード */ char CDENGITM[16]; /* ( 16) 英字項目名 */ short int KILV; /* ( 2) 世代区分 */ char NMJPNITM[32]…

結合テスト

結合テストメモ 単体テストが完了したプログラムを組み合わせ、設計書の仕様を満たしているかどうかを確認する。 (1)「ブラックボックステスト」 (2)「プロセス確認テスト」 etc ブラックボックス・テスト 設計書に定義された入力と条件を与え、出力結果…

単体テスト

単体テストメモ 常識レベルの再確認.テストの基準 (1)すべての命令を1回は実行する「命令網羅」 (2)すべての条件分岐を1回は実行する「条件網羅」 (3)すべての制御パスを実行する「経路網羅」 条件網羅が現実的と言える 静的解析 単体テストの前に… プ…

テスト観点明確化

テスト計画時に観点の追加、明確化を行う必要がある. 単体テスト、結合テスト、システムテスト…以下のような点は漏れないように. 1.OS/Officeの観点 2.2階層/3階層の観点 3.新規/バージョンアップの観点 4.カスタマイズ資産の観点 5.性能や信頼性などの非機…

出力フォーマット指定子

C言語 - ■出力フォーマット指定子のメモ - printf(),fprintf(),sprintf()で使用する。指定子 型 説明 使用例 %c char 1文字を出力 "%c" %s char * 文字列を出力 "%8s", "%-16s" %d int, short 整数を10進で出力 "%-2d","%02d" %u unsigned int, unsigned sh…

symfowareDBのデータ取得

symfoware - ■symfowareDBのデータをコマンドプロンプトから取得 - rdbexesql -s DB名 -u ユーザ名 select * from スキーマ名.テーブル名 quit

ローカル変数とスタック

C言語 - ■ローカル変数とスタック - Cのプログラムでメモリ使用例 ・ローカル変数 ・グローバル変数 ・動的確保したメモリ領域 ローカル変数がスタックメモリに置かれる。 ローカル変数は、その関数が呼び出されると確保されて、関数が終了すると自動的に開…

スタックサイズ

C言語復習メモ スタック拡張 - ●スタックサイズ拡張 - スタック サイズは通常拡張しない 構造がおかしいかもしれない とは言っても拡大方法も知っておく必要がある 詳細リンク http://msdn.microsoft.com/ja-jp/library/tdkhxaks(VS.80).aspx スタック サイ…

日付セパレータ

C言語 ■日付セパレータサンプル - [呼出] //日付セパレータ"/"があれば削除して詰める removeChar( sCsvBuf[iCnt-1].chCsvItemVal , '/' ) [関数] int removeChar(char *pStr, char delim ) { /*----------------------------------------------------*/ /* …

メモリの確保と解放について

■確保したメモリは必ず解放しましょう. ヒープメモリの確保と解放は同一プロセス内で可能という話 メモリの確保と解放について http://dixq.net/forum/viewtopic.php?f=3&t=10066

エスケープシーケンス

printf関数とエスケープシーケンス 割と使うもの。 記号 意味 \n 改行、復帰 \r 同じ行の先頭に戻る \t 水平タブ \v 垂直タブ \\ \を表示 \? ?を表示 \' シングルクォーテーション(')を表示 \" ダブルクォーテーション(")を表示 \0 ヌル

メモリ動的確保

- ■メモリ動的確保 - メモリの動的な確保と開放のタイミングを確認。 良くあるパターン。 1.関数Aでメモリを確保し、同じソースコード内の関数Bでメモリを開放 2.メインのexeファイルにリンクするスタティックリンクライブラリのソースコードの関数Aでメモリ…

性能測定デバッグ

- ■性能測定デバッグ - #include #include // gettimeofday ... struct timeval t0, t1;gettimeofday(&t0, NULL); //計測処理を入れる gettimeofday(&t1, NULL);t1.tv_sec -= t0.tv_sec;if (t1.tv_usec t1.tv_sec -= 1; t1.tv_usec += 1000000 - t0.tv_usec;…

VC6プロファイル機能

- ■VC6プロファイル機能の利用方法メモ - 「プロファイルを行う」の設定をONにする。 1.メニュー「プロジェクト」「設定」を選択 2.「リンク」タブ「一般」を選び、 「プロファイルを行う(E)」(バグがあるので、Alt+Eを押す) 3.ビルドする 4.メニュ…

エラー状態の把握

環境依存問題は解消が時間がかかる場合が多い - ■エラー状態の把握… - <複数機能の起動確認> ・問題の発生する機能はいくつあるか? ・動作するものとしないものの違いは何か?<クライアント環境設定確認> ・イベントビューアになにエラーが出ていないか…

ステップ数と理論値

C言語 - ■ステップ数と理論値 - 1ルート 16000step 15ミリ秒 1000step 1ミリ秒 3000step 3ミリ秒 ... 3000step 1ミリ秒もあり得る 配下で呼び出される標準関数、APIの重さによって変動するので 大まかな値しかわからないが理論値の概算を把握しておく。

LEFT JOINとRIGHT JOIN

■LEFT JOINとRIGHT JOIN WHERE句とINNER JOINのほかにLEFT JOINとRIGHT JOINで表を結合することができる。 ■内部結合 内部結合は、指定された両方の表に存在するものだけが抽出される 表の内部結合 WHERE句で表の結合条件を指定する FROM句でINNER JOINで表…

CRUD

CRUD(クラッド)について 設計時に該当機能が保有するクラッドは何かを マトリクス形式で記述することは多い。 ソフトウェアが持つ基本機能のイニシャルを並べた用語である。 Create(生成) Read(読み取り) Update(更新) Delete(削除)