cwnicol programming

プログラミング関連の投稿をすこしだけ

2016-01-01から1年間の記事一覧

作業途中のチェックアウト

Git

作業ブランチで作業中に他ブランチをチェックする場合は、 仮コミットしておき、他ブランチで作業後、元ブランチに 戻ってきて、git reset --soft HEAD^ で変更状態に戻す。?? (stashも使えるが、stashしたことを忘れそうなので)

リストモジュール

C

メモリプールと併せて以下の使用感。エラー処理は未実装。 データのメモリはメモリプールで管理。リスト管理、ノードのメモリは リストモジュールで管理。 list sample2

公式Quickstartメモ

[Quickstart] https://cloud.google.com/appengine/docs/go/quickstart#top_of_page ・Test the application →環境設定前に起動したコマンドプロンプトでは、 設定したPATHが反映されていないので、新規で 立ち上げたコマンドプロンプトで実行すること。 ・D…

メモリプール

C

Cでmallocを何度も使用するとメモリ解放忘れが起きやすい。 一括でメモリを確保し、細切れで必要分使うコードがネット上にあったので クラスモジュールで作成。 memory pool · GitHub

printfデバッグ

IDEの中で見づらい、大量に連続したデータを見る際は ファイルにでも吐き出して見るとよいかもしれない

ブックマーク機能

Visual Studio でブックマーク機能が使えることを知った。 (VBEには昔からあること知ってたけど) ブックマークタブもあるし、main()とか、主要な関数を ブックマークして様子を見てみるか

マージソート

改行コードLF、CRLF対応 ファイル読み込み

VBAのLine InputステートメントはLF改行の対応していないため、 改行コードLF、CRLFの両方に対応するファイル読み込み処理を 作成したのだったと思う 改行コードLF、CRLF対応 ファイル読み込み

デバッグ実行時のコマンド引数、作業ディレクトリ設定

[プロパティ]-[デバッグ]で、コマンド引数と作業ディレクトリが設定可能。 これらを使えばアタッチしなくてもデバッグできそう。

実行時エラー箇所 確認手順

デバッグ実行開始 エラーダイアログで中断ボタン押下 呼び出し履歴でコールスタック確認

無限ループ箇所 確認手順

デバッグ実行開始 無限ループにはまる 一時停止 呼び出し履歴でコールスタック確認

キュー

C

・キュー →循環配列(リングバッファ)で実装するのが定石っぽい ・優先度付きキュー →二分ヒープで実装するのが定石っぽい

ダイクストラ法 アルゴリズム

ダイクストラ法 from ohsofty

C言語 ダイクストラ法 ライブラリ その2

C

cwnicol.hatenablog.com 上記のインターフェースで、リストを使用するように、 また、最短ルート時のコストも返すようにした。 インターフェース詳細はdijsktra.h、具体的な使用方法はtest_dijsktra.c参照。 (test_dijsktra.cで辺設定行が多いのは、テスト対…

C言語 ダイクストラ法 ライブラリ

C

使用感は改善の余地ありかも。 インターフェース詳細はdijsktra.h、具体的な使用方法はtest_dijsktra.c参照。 ライブラリ:dijsktra.h、dijsktra.c dijsktra [テスト対象グラフ] [テスト実行結果] (追記) インターフェースにリストを使用するようにしたもの…

簡易正規分布

C

簡易正規分布は一様乱数を足せばよいらしい。rand()は一様乱数を返す。 rand()%10として、0~9の乱数を得ていたのを、 rand()%5とrand()%6で、0~4の乱数と0~5の乱数を足して0~9の乱数を 得るようにする。 random こんな山でよいのなら。

C言語 ビットフラグ操作関数

C

ビットフラグは嫌いだが、操作関数があれば少しは使いやすくなるのだろうか bitFlag

進捗管理エクセルメモ

C言語 シーケンス図 自動生成

github.com [背景] C言語のソースからシーケンス図を自動作成するツールが 見当たらなかったので作成した。plantUML用入力ファイルを出力する。 できたファイルをplantUMLで読み込むことでシーケンス図が見れる。 [動作環境] Windows10で動確済み。(どのWind…

C言語 ファイル検索 再帰 ライブラリ

簡単に取り込めるファイル検索ライブラリ。(Windows用) (指定フォルダ配下の、指定拡張子の全フルパスを取得する) エラー処理は未実装。とりあえず動く。 使用者はlist.h, findFile.h内のインターフェースのみ把握しておけば使える。 まずはtest_findFile.c…

c言語 モジュール分割

cのプログラムはファイルを分けてモジュール分割可能。 ヘッダーファイルは設計図で、Cファイルは実装だ。 ヘッダーファイルには他モジュールが知る必要がことだけを書く。 公開関数のプロトタイプと、それの戻り値、引数で関係してくる マクロ、列挙体、構…

オプション処理 カプセル化

先日C言語でカプセル化できることを知ったので、それをオプション処理で応用してみた。(エラー処理は未実装) オプションクラスを使う人は、option.hのインターフェース使用方法を知っていれば、オプションについて詳しく知る必要もない。 option - object or…

Visual Studio 現在行の背景色 変更方法

現在行の背景色は以下で設定可能。 [ツール]-[オプション]-[フォントおよび色]で[表示項目]で"現在の行を強調表示する(アクティブ)"を選んで、[背景色]を変更 [確認済みver] Visual Studio 2015 Visual Studio Community 2015 googleで検索して上の方に出て…

Visual Studio Community キーバインド コードリーディング時

Visual Studio Community のキーバインドを以下のようにテスト割り当て中 No 意味 元のキー 割り当て先 使用目的 1 編集,定義に移動 F12 Ctrl+^ 定義を見たい 2 編集,検索 Ctrl+F Ctrl+[ 単語をハイライトしたい 3 編集,次を検索 無し? Ctrl+] ハイライト単…

エクセルで課題一覧

エクセルで課題一覧を作る場合には「サマリー・運用方法」シートを作成して、 以下があるといいかも。 ○運用方法 ・ステータス種別は、open, close, 保留。 open…課題を記入したらとりあえずこれにする。 close…課題が解決したらこれにする。 保留…とりあえ…

C言語で継承(オーバーロード(=多態性)なし)

↑ソース関連図 犬(dog)クラスで動物(Animal)クラスを継承している。 ポイントは以下。 ・サブクラス宣言では一番上のメンバにスーパークラスを宣言する(dog.c, 6行目) ・スーパークラスのヘッダをAnimal.h, AnimalP.hとしてカプセル性を保持する ・スーパー…

C言語でカプセル化

Cでは不完全なカプセル化になる(メンバにアクセスできてしまうという意味で)と思っていたけど、ソース側に構造体を定義すれば完全なカプセル化を実現できる模様 c capcel

大量の変更履歴がソース上にあるような資産を扱うとき

大量の変更履歴がソース上にあるような資産を扱うときには、 コメントの背景色をグレー等にしてみると、意外に見やすいかも。 (Visual Studio 2015なら[ツール]-[オプション]-[フォントおよび色]で [表示項目]で"コメント"を選んで、[背景色]を変更)

ブラウザで見る用語集をエクセルマクロで出力(その2)

VBA

cwnicol.hatenablog.com 上記で作成した用語集で、以下課題に対応した。 ・ソース汚い。要リファクタリング →適当に整理 ・ファイル文字コード問題。VBAで出力するとSHIFT-JISになってしまう。ADODBを使ってutf-8出力か →utf-8BOMありで出力するように。BOM…

ブラウザで見る用語集をエクセルマクロで出力

VBA

ブラウザで見られるキーワードリンクのある用語集がほしかった。 上記のような用語集をエクセルで作成しておいて、 マクロで作成したhtmlを下記のようにブラウザで見る。 エクセルファイル(html出力マクロあり):https://db.tt/5dTIiGXM フレームhtml:https…