ベストプラクティス

懸案事項一覧をエクセルファイルで作成する

工程(設計、開発、テスト)、優先度、カテゴリ(必要であれば、二階層)の各項目で効率的に管理する。

ログの見方を普段から調べておく

問題が起こったらまず、ログを見る - My Headlineで、問題発生時にログを見たほうがよいと書いたが、ログの見方がわかっていなければ、やはり調査に時間がかかってしまう。 アプリケーションによっては複数のログがあるものもある。 たとえば、MySQLには、以…

問題が起こったらまず、ログを見る

システムを運用としていると、ある日突然画面が表示されなくなったり、処理時間が遅くなったりする。 昨日まで動いていたものが、突然動かなくなる理由として以下のようなことが考えられる。 (1)データ不正 (2)処理量増 (3)プログラムを誰かが書き換えられた…

テストを意識した設計

何かの本で読んだこと。端末が全国に置かれていて、全端末を使用してのテストが難しいようなシステムがあるとする。 こういう場合、予め設計段階で入力をファイルで行うような仕組みにしておき、 自動的にテストが行えるような設計を意識するべき。という話。

コンティジェンシー計画の作成について

これも何かの本で読んだ話のメモ。 日本語に訳すると、不測事態対応計画になる。 システムに障害が発生した場合に、システムの代替案となるような手続きを予め決めておくことで、 被害の拡大を防ぐとともに落ち着いて対応できるようにしておくことが重要です…

システム障害訓練について

何かの本で読んだ話のメモ。システムの稼働率について、稼働率一定の法則みたいなものがある。 それは、事故が多い場合は慣れているので回復作業が早い。 事故が少ない場合は回復経験不足で長時間ダウンにつながる。というもの。ようするに、事故が少なくて…

変異テスト

英語でMutation testという。 テスト対象のプログラムにわざと不良を仕込み、テストプログラムの正しさを検証する。

DRY原則

Don't repeat yourselfの略 例えばエクセルで記述したテーブル設計書から、create文を作成するなどして無駄な 作業をおこなわないようにする。

web開発ショートカット

以下の手順で開発するとショートカットになる1.画面プロトタイプ作成 2.DB設計 2.1.DB設計は画面プロトタイプをもとに行う 3.詳細設計 3.1.画面毎イベント毎に処理内容の概要を記述(シーケンス図でもよい) 4.関数設計 4.1.詳細設計を…

実際に動かすことでプログラムを理解する

保守開発では、まず対象となるプログラムの理解が必要になる。この理解のためにはプログラムを解析してもよいのだが、実際にプログラムを動かしてデバッグ文を途中でいれるなどして動作を確認したほうが早いし、正確。

複雑な事柄は簡素化して整理する

何かを考えるときに、あれもこれも一緒に考えてしまうと頭がこんがらがって結局結論を導き出せなかったりするので、なるべく単純化して考える。 例えば、何かの設計を行う際に、異常系のことは最初は一切考えず、正常系のみを考えてみる。その後、異常系を含…

関数のINとOUTを記録する

保守開発において関数のINとOUTがログに記録されていると、解析に役に立つ。また、実行時間を記録しておくと後で性能調査を行う際に便利。 フラグのONとOFFで、ログに記録するしないが設定できるようにしておくとよい。

運用オペレータの操作ミス

http://itpro.nikkeibp.co.jp/article/OPINION/20080714/310711/

保守作業の難しさについて

保守作業の難しさは以下の二点に絞られる 既存プログラムの解析 テスト 新規機能のテストだけでなく、既存機能が動作することを保障するためのテストも行う必要がある。 開発環境/本番環境の管理について 運用担当者に無断で開発担当者が、本番環境のプログ…

経験的議事録メモ作成のポイント

MTGを行った後は議事録を作成する必要がありますが、ここではMTG中に作成する議事録メモについて、自分の経験にもとづいたメモ作成のポイントをまとめます。 トピックを表すタイトルを記録 話した内容を、一字一句書くのではMTGに集中できません。トピックを…

時間割り

http://gihyo.jp/lifestyle/serial/01/practice/0010?page=1

失敗知識データベース

http://shippai.jst.go.jp/fkd/Contents?fn=1&id=GE0719

設計の経験的備忘録 頭で考えるより、ノートでまとめる。 頭でがんばって考えてもわからない問題が、ノートに図を駆使して考えるとあっさり解決することが多い。 仕様の問題点を検討する場合は、通勤電車の中 机上で考えても、検討漏れがあったりとか、、な…

よんでおく。

http://www.bugbearr.jp/?%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA

エクセルの便利な機能

ショートカット ctrl+dで上のセルをコピー ctrl+rで左のセルをコピー shilt+spaceで現在行選択 ctrl+page up(dowon)で、シートの移動 名前の定義 エクセル用の「しおり」機能 ctrl+F3で登録用の画面が表示 ctrl+Gでジャンプ用の画面が表示

誰かに何かを説明するときのチップス

誰かに何かを説明するとき、全ての事柄を正確に相手に伝えようとしても、相手が理解しなかった場合、説明しなかったのと同じことになる。何も説明しないよりは、多少正確でなくてもいいので物事を単純化して説明したほうがよい。又、説明ベタな人の特徴とし…

アプリケーションハンガリアンについて

下記ページをよんでみた。 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project 内容を要約すると、世間一般で知られているハンガリアン記法は、本来のハンガリアン記法とは異なる。 本来のハンガリアン記法とはアプリケ…

議事録ドリブンについて

議事録ドリブン 議事録ドリブンとは - はてなキーワード

仕事の効率

疲れている時のコーディングは簡単なところを先やる。 難しいところのコーディングは体調がいいときにやったほうが効率がよい メールは受信の都度見るのでなく、一日の回数と時間を決める。 退社前に明日朝とりかかることを決める。(朝、何から始めるか思い…

開発の見積もりで考慮するべきこと。

・画面の複雑さ ・DB周りの処理 ・既存のプログラムに対するメンテナンス性

バグを生まないコードの書き方についての経験的備忘録

変数を初期化する エラー処理を入れる テストのための機能(コード)を入れる 組み込み系のシステムでは、最初から機械の中にテストのためのチップを埋めこむらしい。これは、設計段階でテストのことを考慮に入れることで品質向上につなげるという意味がある…

効率的なコーディング方法の経験的備忘録

効率的にコーディングするための経験的備忘録。 わかりやすい変数名、関数名をつける 変数名や関数名は時間をかけて考えて命名する。最初にわかりやすい変数名を考えるのは時間がかかるが、後にメンテナンスする時にわかりやすい変数名がつけられたプログラ…

大規模なソースや、複雑なソースを解析するときのこつを記述

秀丸やjvimなどのアウトライン機能、折りたたみ機能を使う viにはアウトライン機能はないらしい。 findコマンドを使う 画面のキーワードや、任意のファイルをincludeしているファイルなどを検索するにはfindが有効 $ find . -type f -exec grep -l 'hoge' {}…