[現場]の検索結果


バグのないソフトウェアはない、というくらいソフトウェアにはバグがつきものですが、ソフトウェアの開発プロジェクトには期間や予算に上限があるため、バグの修正に手間取ると十分なテストを実施することができず、品質が低い状態でリリースされてしまうことになります。テストを円滑に進めソフトウェアの品質の高めていくためには、バグを迅速かつ正確にバグを修正していく必要があります。

しかし、オブジェクト指向プログラミング(OOP)やデザインパターンなどプログラムの作り方についての解説書や記事はたくさんあるにも関わらず、「バグは本来あってはいけないもの、あるはずが無いもの」という意識があるためか、デバッグに関して語られている情報源はあまり多くありません。そのため、デバッグのテクニックについてはせいぜい「開発現
場の先輩に教えてもらう」というのが実情です。

知識を共有するために、私がこれまでのソフトウェア開発の経験から得た、デバッグを効率的に行なうための心得をいくつか挙げてみたいと思います。

1. バグの原因は自分が作っているプログラムにある可能性が最も高い
ソフトウェアを構成する要素として、OS、開発ツールに付属するライブラリ、市販ライブラリ、プロジェクト内で作成されたライブラリなどがありますが、バグの原因は自分が作っているプログラムである可能性が最も高いと考えたほうがすばやくバグを見つけられます。なぜなら、今まさに開発が行なわれているプログラムこそが最もテストされていないプログラムだからです。問題の原因をマイクロソフトのせいにする前に自分のプログラムを調べましょう。

2. テストの実施を妨げているバグを優先する
当然のことですが、テストができなければバグを見つけることができません。効率的にバグが発見できるように、めったに行なわれない操作によって発生するバグよりも、必ず行なわれる操作で発生するバグを優先的に修正していく必要があります。

3. 問題を確実に再現できるようする
問題が発生する条件(操作手順、データなど)を必ず特定しなければなりません。これができないと動作確認は不可能ですので、修正したつもりが実は直ってなかったという事態にもなりかねません。この作業自体はソースコードがなくても可能なので、テスト担当者の協力を得られるのであれば、情報を交換しながらテスト担当者と開発担当者が並行して調査を進めるのが良いでしょう。

4. 一度でも問題が発生した場合はバグがある可能が高いので必ず調査する
一度でも問題が発生した場合は、単にバグが発現する条件がわかっていないだけで、必ずどこかにバグがあります。開発作業中はいろいろプレッシャーがあるので難しい面もありますが、見つけた時点で調査しておいた方がいろんな面で良いでしょう。

5. ソースコードを見ただけで正しい処理が行なわれていると判断しない
プログラムはプログラマが思っている通りに動くのではなくコンパイラが解釈した通りに動くものです。コンパイラについての知識が豊富なプログラマが犯しがち問題ですが、プログラマがコンパイラの仕様について誤解しているために生じるバグもよくあります。プログラマ自身は正しいと思っているためソースコードを見ただけではバグを発見することが困難ですがが、このようなバグは実際にプログラムを動かしてみることで簡単に原因を発見することがきます。

6. 想定外の操作や想定外のデータが使用されていないかチェックする
プログラムはプログラマが想定していなかった操作が行なわれたり、想定外のデータが入力されたりした場合は正しく動作しないことが多いものです。問題を発生させる操作やデータがプログラムで想定されているかチェックしてみましょう。

7. バグの原因となっているソースコードは必ず特定する
関係の無いところを直しても問題の現象が発生しなくなる場合もありますが、それでバグが無くなったわけではありません。そのような場合は、また別のところで別のかたちで問題が発生することになりかねません。バグは必ずソースコードレベルで原因を特定し確実に修正すべきです。

8. できるだけ他の処理に影響を与えないようにソースコードを修正する
他の処理に影響を与えるような修正を行なった場合、これまで問題なく動いていた部分に新たなバグを埋め込んでしまう可能性が高いものです。別の問題を引き起こさないように、影響範囲に注意してソースコードを修正します。しかし、単なるコーディング上の間違いであればプログラムの修正は比較的簡単で他の処理に影響を与えることは少ないのすが、設計に問題がある場合は他の部分の影響を与えないようにバグ修正を行なうのが難しい場合があります。そのような場合は、本質的な問題の解決にはならないとしても、影響範囲を限定するために暫定的な対処を行なった方が良いでしょう。

9. ソースコードを修正した場合は必ずテストする
たとえ簡単な修正であっても間違った修正を行なう可能性は常にあります。また、修正が思わぬところに影響を与えることもあります。当たり前ですが、ソースコードを修正した場合は必ずテストを行ないましょう。テスト作業を手を抜くよりも、テストを行なった方がトータル見れば開発者自身にとっても負担が少ないはずです。
[1067] Posted by kagahiro at 2007/09/10 05:49:45
1 point | Link (3) | Trackback (0) | Comment (1)

産経グループのZAKZAKが2007年1月12日に、

ユーザーショック…2ちゃんねる、再来週にも強制執行
掲示板「2ちゃんねる」(2Ch)の管理人、西村博之氏(30)の全財産が仮差し押さえされる
と報じたことで、2ちゃんねるのドメイン「2ch.net」が差押えられ、2ちゃんねるが閉鎖されるのではないかという騒動が発生していて、前回のサーバーの転送量問題による閉鎖騒動の際には、運営に深く関与しその対策に動きながらも、結果的には2ちゃんねるとは袂を分かつことになった山本一郎氏(切込隊長)は、自身のブログで「そろそろ潮時だろう」などと言ったりしていますが、そう簡単には2ちゃんねるがなくなるということはないと思っています。管理人は相変わらず西村氏となっていますが、運営自体は名目的にも実質的に西村氏個人というわけではなくなっているようですので、2ちゃんねるが閉鎖されることはまずないと思います。

本気で2ちゃんねるを閉鎖させたいのなら、西村氏個人ではなくサーバー管理会社も含めて運営主体全体を訴える必要があるのではないでしょうか、訴える側の訴訟戦術に稚拙さが感じられます。

私自身は2ちゃんねるは使いにくいため2ちゃんねる自体を見ることはあまりないのですが、2ちゃんねるの面白そうなスレッドだけを抜き出したコピペブログは購読していいます。それらの内容から考えて、2ちゃんねるには、特に根拠を提示せず、また責任などにとらわれずに自由な発想(妄想ともいう)で書き込みできることから、結果的に一つの事実をさまざまな観点から分析できるという利点があるのではないかと考えています。

もちろん、匿名で確たる根拠も提示しないで書き込みができるため、書き込みの中にはいろんな組織や個人による情報操作、単なる嘘や誹謗中傷も含まれているのは確実だと思いますが、そういったものが書き込まれること自体、それはそれでひとつの情報にはなると思うので、それらの書き込みについても必ずしも無意味とは言えないと思います。

もっとも、違法な書き込みや個人への誹謗中傷を放置し、その結果発生した損害賠償請求を裁判にも出席せず、敗訴しても支払わない西村氏の無責任な行動については問題があると思います。 裁判の結果を受け入れるか、裁判で正面から争うことで問題の解決を図るべきではないかと思います。

個人的には2ちゃんねるはその使いにくさからブログに負けて、今後ジリ貧になるのではないかと考えていたのでですが、実名では書き込みにくい内容でも書き込みができる2ちゃんねるのような匿名掲示板には一定の意味やニーズがあることは理解できたので、もっと使いやすく管理のしやすい匿名掲示板システムを開発するというのも面白いのかもしれません。

2ちゃんねる閉鎖関連記事
2ちゃんねる、閉鎖か
2ちゃんねるの致命的欠陥――ひろゆきは2ちゃんねらーに責任転嫁すべきだ
「2ちゃん」VS「夕刊フジ」 閉鎖騒動巡り全面対決
あなたが代わりに使いたい掲示板は?
(追記あり)
[961] Posted by kagahiro at 2007/01/20 16:09:56
0 point | Link (4) | Trackback (0) | Comment (0)

独習ASP.NET
具体的なWebアプリケーションを作成しながら、ASP.NETの機能を順に解説した学習書。着実にサーバサイドスクリプト環境として重要な地位を確立したASPを平易に解説。

VBScript ASPスクリプティング入門
データベースをインターネットやイントラネット上で扱う場合に効力を発揮するVBScriptとASPについての初心者〜経験者向けテキスト。VBScriptの基礎からWebデータベースの構築までを詳細に解説。

VBScript+ASPハンドブック
VBScript関数やオブジェクトの引きやすいリファレンス、サンプルスクリプトに加え、データベース利用の実例が掲載された、ASP/Windowsサーバ管理者必携のVBScriptリファレンス。

ASPによるWebアプリケーションスーパーサンプル
検索エンジンやタイムカードシステムなど、詳細なコメントとともに、実践に即したサンプルスクリプトを100本厳選し公開。 ASPに対する理解を深める解説やカスタマイズ方法などの情報も提供。

ASP.NET実践テクニック Black Book
ASP.NETの解説書。各種コントロールの使い方、電子メール、コードビハインドファイル、Webサービス、データベースアクセスなど、具体的なヒントとテクニックが満載。

.NETエンタープライズWebアプリケーション開発技術大全〈Vol.1〉.NET Framework導入編
コンサルティングサービスに所属する人が「現場」の視点で執筆した開発技術大全。第1巻では、網羅的にマイクロソフトの開発技術を概観し、その全体像を把握できるように解説されている。

.NETエンタープライズWebアプリケーション開発技術大全〈Vol.2〉ASP.NET基礎編
第2巻では、ASP.NETランタイムの持つ各種の内部処理を詳細に解説。

.NETエンタープライズWebアプリケーション開発技術大全〈Vol.3〉ASP.NET応用編
第3巻では、エンタープライズWebアプリケーション開発に欠かすことのできない、各種の知識や設計セオリについて記述されている。

ビギニングASPデータベース
ASPでWebページを作成できる人に向け、Webページからデータベースを使い、データを操作して一歩進んだページにする方法を紹介。ASPとADOのインストールと設定、データベースとクッキー等収録。

ASPデベロッパーズガイド―最新サーバーサイドスクリプティング技術を詳細解説
Active Server Pagesの基礎から、DBアクセスアプリケーションの構築まで、最新サーバーサイドスクリプティング技術を解説。

ASP.NETシステム構築サンプル集―XML処理とカスタマイズのコツ
今すぐASP.NETを始めたい人が「どんな目的のサンプルを作りたい時に」「どのメソッドやプロパティを選択し組み合わせればよいか」を即座に理解できるサンプルを紹介。

ASP.NETラーニングマスター―ASP.NETプログラマのための厳選Webコントロール編
ASP.NETを極めるための必須コントロールを1冊に凝縮。Microsoftの定義する膨大な名前空間とクラスから知っておきたい機能をピックアップ。

JSP/PHP/ASPサーバサイドプログラミング徹底比較―目的&効果で選ぶ最適サーバサイド技術
JSP/サーブレット、PHP、ASP(ActiveServerPages)などのポストCGIアーキテクチャを、基本手法、拡張機能、外部データ活用、データベース連携、+αのテクニックなどの側面から徹底比較。
[911] Posted by kagahiro at 2006/11/23 16:23:50
0 point | Link (3) | Trackback (0) | Comment (0)

教室型の経営教育、書籍「MBAシリーズ」の出版等の経営教育事業等を行なっているグロービス・グループが、ビジネスパーソン向けに「経営の理論」と「現場の知恵」を融合した実践的な情報の提供を行なう経営情報提供サ...
[801] Posted by kagahiro at 2006/08/01 21:40:04
1 point | Link (1) | Trackback (1) | Comment (0)

FreeBSD(フリービーエスディ) の入門書やインストール方法や詳細や活用方法が解説された解説書、リファレンス、運用マニュアルなどの書籍。改訂版 FreeBSD徹底入門FreeBSDの入門書。インストール、カーネルの再構築...
[745] Posted by kagahiro at 2006/07/13 04:48:38
0 point | Link (6) | Trackback (0) | Comment (0)

基本から学ぶソフトウェアテスト―テストの「プロ」を目指す人のために市販ソフトウェアや一般の業務用ソフトウェアをテストする技術の入門書。基本から、テスト技術の各論、テストプロジェクトやテストチームの管理...
[682] Posted by kagahiro at 2006/06/27 22:10:01
0 point | Link (1) | Trackback (0) | Comment (0)

オープンソースの高速・軽量データベース「MySQL」に関する書籍。入門書や運用管理についての詳細な解説書、リファレンスなど。MySQL 徹底入門 第2版オープンソースのデータベース・サーバー、MySQLのインストールか...
[663] Posted by kagahiro at 2006/06/23 06:27:12
0 point | Link (7) | Trackback (0) | Comment (0)

リレーショナルデータベースの標準言語であるSQLに関する入門書やリファレンス、プログラミング解説書などの書籍。SQLプログラミング入門―12のレッスンで学ぶリレーショナルデータベース実践講座サンプル中心のチュ...
[662] Posted by kagahiro at 2006/06/23 05:59:57
0 point | Link (8) | Trackback (0) | Comment (0)

Oracle(オラクル)に関する書籍。Oracleの入門書、データベースのアーキテクチャから運用・管理、データベース設計、PL/SQL、プログラミングなど。Oracle DB ユーザーズガイド<9i&10g対応>初めてOracleを使う人で...
[659] Posted by kagahiro at 2006/06/22 21:05:49
0 point | Link (8) | Trackback (0) | Comment (0)

世界的なマーケティングの権威で、マーケティングに関する多数のベストセラーを持つフィリップ・コトラー教授が、ビジネス現場で抱えるマーケティングの10の問題点を指摘しその解決策を示している。基的は大企業に...
[607] Posted by kagahiro at 2006/06/07 11:29:01
1 point | Link (2) | Trackback (1) | Comment (0)

|< 先頭へ  < 前へ  1 2 3  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. FC2まとめ (5 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5 PV)
  3. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  4. 「RPGツクールMV」製ゲームを簡単にiOS、Androidアプリ化する「Monaca for RPGツクール」 #テクノロジー (3 PV)
  5. 2ちゃんねる(2ch) (3 PV)
  6. Google 日本語入力がオープンソースに (3 PV)
  7. 大人気のブランド品即時買取サービス「CASH」がDMM.comにたったの70億円で買い叩かれる (2 PV)
  8. 無料ダイヤルアッププロバイダ「Soloot(ソルート)」 (2 PV)
  9. FC2ブログにコミュニティ機能 (2 PV)
  10. ほしい物リスト (2 PV)

今月のアクセスランキング TOP 10

  1. FC2まとめ (13 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (8 PV)
  3. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (8 PV)
  4. 掲示板CGI ThreadPlus 1.2 のリリース (5 PV)
  5. 「Kindle for the Web」 (5 PV)
  6. FC2ブログにコミュニティ機能 (4 PV)
  7. Jipanguの配布は終了しました (4 PV)
  8. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (4 PV)
  9. MySQLのINSERT ... SELECT文でLIMIT句を使用して上位3件のレコードをテーブルに追加する (4 PV)
  10. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)

アクセス統計

ディレクトリ

関連サイト