fc2ブログ

C#ライブラリリファレンス - ファイルとディレクトリを監視して変化を捕捉する

概要
 ファイルとフォルダーを監視し、作成、更新、削除などの変化をキャッチしたい場合は、FileSystemWatcherクラスを使用します。

日常でたとえると
 倉庫番。

使用に適した状況
 ファイルとディレクトリ(フォルダー)に関するイベントに基づいて何らかの処理をしたい場合。例えば、ログ機能などが考えられます。

サンプル

/*----------------------------------------------------
 * 
 *  ファイルとディレクトリを監視する。
 *  
 ----------------------------------------------------*/
using System;
using System.IO;

class Sample
{
    static void Main( )
    {
        //監視を行う準備
        string path = Directory.GetCurrentDirectory();
        var watcher = new FileSystemWatcher( path );
        watcher.IncludeSubdirectories = true;
        watcher.NotifyFilter =
            NotifyFilters.CreationTime |
            NotifyFilters.LastAccess | NotifyFilters.LastWrite |
            NotifyFilters.FileName | NotifyFilters.DirectoryName |
            NotifyFilters.Size | NotifyFilters.Attributes;
        watcher.Created += WatcherEventShow;
        watcher.Changed += WatcherEventShow;
        watcher.Deleted += WatcherEventShow;
        watcher.Renamed += Renamed;

        //監視を始める
        watcher.EnableRaisingEvents = true;

        //監視下でいろいろ行う。
        var foo = new FileInfo( "foo.txt" );
        StreamWriter writer = foo.CreateText();
        writer.WriteLine( "piyo" );
        writer.Flush();
        writer.Close();
        foo.MoveTo( "bar.txt" );
        foo.Delete();

        var d = new DirectoryInfo( "X" );
        d.Create();
        d.MoveTo( "e" );
        d.Delete();

        //終了
        Console.ReadLine();
    }

    //変更の内容を表示する。
    static void WatcherEventShow( object sender, FileSystemEventArgs e )
    {
        Console.Write( e.Name );
        switch ( e.ChangeType ) {
            case WatcherChangeTypes.Created:
                Console.WriteLine( "が生成されました。" );
                break;
            case WatcherChangeTypes.Changed:
                Console.WriteLine( "の内容が変更されました。" );
                break;
            case WatcherChangeTypes.Deleted:
                Console.WriteLine( "が削除されました。" );
                break;
        }
    }

    //名前が変更された場合の処理
    static void Renamed( object source, RenamedEventArgs e )
    {
        Console.WriteLine( "{0}の名前が{1}に変更されました。",
            e.OldName, e.Name );
    }
}


名前空間
 System.IO名前空間を参照します。

解説
 ビジネス系の管理システムを開発するとき、ファイルとディレクトリ(フォルダー)を監視したい時があります。具体的言うと、ファイルもしくはディレクトリの作成、更新、削除などのイベント(出来事)です。
 C#プログラミングで子の要望を実現するには、FileSystemWatcherクラスを使用します。FileSystemWatcherクラスは強力な反面、インスタンスを生成するだけでは何もできません。プロパティの値により、挙動が変わるので、慎重にプロパティの値を設定しましょう。特にEnableRaisingEventsプロパティと、IncludeSubdirectoriesプロパティは重要です。
 EnableRaisingEventsプロパティの値を真にしなければイベントを捕捉できませんし、IncludeSubdirectoriesプロパティの値を真にしなければ、サブディレクトリの監視ができません。この2つのプロパティの値に注意しましょう。
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

ニュースを分析23回 - 日本を攻撃し続けるマスメディアを疑おう

 STAP細胞で儲けたマスメディアが味をしめたようで、今度は山中教授のiPS細胞まで攻撃し、「日本の学界全体が駄目」だと世界に向けて発信しました。このマスメディアの姿勢は戦前から変わっていません。

    【マスメディアの悪事の纏め】
  • 戦前・・・戦争を反対する人を個人攻撃し、民衆を戦争へと駆り立てる。
  • 戦後・・・南京大虐殺、従軍慰安婦など事実を捏造し、他国に日本を攻撃する口実を与える。
  • 最近・・・日本は資源が少なく、知的財産で儲けるしか方法がないのに、知的財産を作り出す学界を攻撃する。 これにより、日本は技術でリードできなくなるのは明白。
 STAP細胞とiPS細胞は、間違いなく先端技術です。技術大国を名乗るのであれば、先端技術を作り出さねばならないのですが、マスメディアはその先端技術を潰そうと躍起になっています。日本の報道機関が「日本の学界は問題がある」と発信するものですから、他国はそれを利用して、「日本は自身で問題があるといっているから問題があるんだろう」といい、「ならば全ての技術は我々が先行している」と知的財産を侵害される結果になるのは目に見えています。
 中国や韓国は、日本で生み出された技術は自国のものだと主張するでしょうし、他の国もそれに倣って、「日本は問題があるんだから。○○はわがわ国のものだ。」と知的財産の占有を始めるでしょう。特許は先行性がなければならないので、「不正だといっている日本が発明したものは先行性がない」と主張される可能性が十分にあります。こうなれば、日本は崩壊するしかありません。
 戦前から今まで、日本の危機を呼び込んできたマスメディアはいったい何を考えてこんなことをしているのでしょうか?他国の工作員かもしれません。何はともあれ、一番の問題は、こんなことをしているマスメディアを盲信し、出資している一般読者です。日本は駄目だと文句を言いながら、日本を駄目にすることに力を貸している。こんなばかげた行為をして、何になるのでしょうか?日本人は自殺願望が強いのでしょうか?
 不明な点が多い中、明らかな事は1つ、マスメディアは疑わしいという事です。犯行の動機は不明ですが、戦前から日本に危機をもたらし続けているマスメディアを疑わなければならないのは確かだと思います。

テーマ : ニュース
ジャンル : ニュース

C#ライブラリリファレンス - ドライブに関する情報を取得

概要
 DriveInfoクラスを使用すると、ドライブに関する情報を取得できます。

日常でたとえると
 ビジネスマンが集まるあの建物はどんな建物?

使用に適した状況
 ドライブの状態を判断したい場合。

サンプル

/*----------------------------------------------------
 * 
 *  ドライブに関する情報を取得する。
 *  
 ----------------------------------------------------*/
using System;
using System.IO;
using System.Linq;
class Sample
{
    static void Main( )
    {
        //全てのドライブ情報を表示
        var drives =
            from d in DriveInfo.GetDrives()
            select d;
        foreach ( DriveInfo info in drives )
            ShowInfo( info );

        //終了
        Console.ReadLine();
    }

    //ドライブに関する情報を表示する。
    private static void ShowInfo( DriveInfo drive )
    {
        Console.WriteLine(
            "ドライブ{0}の各種情報は次の通りです・・・",
            drive.Name );
        Console.WriteLine(
           "準備状態は{0}です。",
           drive.IsReady );
        Console.WriteLine(
            "種類は{0}です。",
            drive.DriveType );
        Console.WriteLine(
            "ルートは{0}です。",
            drive.RootDirectory );
        //IOExceptionを防ぐ
        if ( drive.IsReady ) {
            Console.WriteLine(
                "フォーマットは{0}です。",
                drive.DriveFormat );
            Console.WriteLine(
                "ボリュームラベルは{0}です。",
                drive.VolumeLabel );
            Console.WriteLine(
                "空き領域の量{0}です。",
                drive.AvailableFreeSpace );
            Console.WriteLine(
                "空き領域は{0}です。",
                drive.AvailableFreeSpace );
            Console.WriteLine(
                "合計サイズは{0}です。",
                drive.TotalSize );
        }
        Console.WriteLine();
    }
}


名前空間
 DriveInfoクラスはSystem.IOに属します。LINQプログラミングを行うために、System.Linqを参照しましょう。

解説
 Windowsのいうところのドライブとは、記憶装置(デバイス)を識別するための文字でした。例えば、フロッピーディスクはAドライブという風に割り当てます。ディレクトリ(フォルダー)は、記憶装置内にあるものなので、ディレクトリを持つものだと考えるとよいでしょう。
 先ほど過去形で書いた理由は、すでに記憶装置を識別するための文字ではないからです。昔のWindowsはMS-DOSの文化を引き継いでいました。なお、MS-DOSの文化は、CP/MというOSの文化を引き継いでいました。ですが現在では、互換性を保つために見かけ上そうなっていますが、OS内部ではすでにそうものではなくなっています。
 おそらくMSがそのようにしていた理由は、Unix流の「マウント」の概念が一般ユーザーに分かりにくいからです。一般ユーザーとしては、フロッピーを入れたら、A:¥からファイルが辿れるという具合にしたほうがわかりやすいです。
 C#プログラミングでは、DriveInfoクラスを使用して、ドライブに関する情報を取得します。このドライブ情報をどのように生かすのかは、貴方の腕次第です。

テーマ : プログラミング
ジャンル : コンピュータ

C#ライブラリリファレンス - ディレクトリ(フォルダー)に関する情報を取得

概要
 DirectoryInfoクラスの各プロパティを参照すると、ディレクトリ(フォルダー)に関する様々な情報を取得することができます。

日常でたとえると
 その鞄について教えて。

使用に適した状況
 ディレクトリに関する情報に応じて、処理を行いたい場合。

サンプル

/*----------------------------------------------------
 * 
 *  ディレクトリが持つ各種情報を取得する。
 *  
 ----------------------------------------------------*/
using System;
using System.IO;
class Sample
{
    static void Main( )
    {
        string name = "Foo";
        DirectoryInfo directory = new DirectoryInfo( name );
        directory.Create();
        ShowInfo( directory );
        directory.Delete();
    }

    //ディレクトリの情報を表示する。
    private static void ShowInfo( DirectoryInfo directory )
    {
        Console.WriteLine(
            "ディレクトリ{0}の各種情報は次の通りです・・・",
            directory.Name );
        Console.WriteLine(
          "フルネームは{0}です。",
          directory.FullName );
        Console.WriteLine(
           "親デレクトリは{0}です。",
           directory.Parent );
        Console.WriteLine(
           "ルートは{0}です。",
           directory.Root );
        Console.WriteLine(
            "拡張子は{0}です。",
            directory.Extension );
        Console.WriteLine(
            "属性は{0}です。",
            directory.Attributes.ToString() );
        Console.WriteLine(
            "作成時間は{0}です。",
            directory.CreationTime );
        Console.WriteLine(
            "作成時間(UTC)は{0}です。",
            directory.CreationTimeUtc );
        Console.WriteLine(
            "最終アクセス時間は{0}です。",
            directory.LastAccessTime );
        Console.WriteLine(
            "最終アクセス(UTC)は{0}です。",
            directory.LastAccessTimeUtc );
        Console.WriteLine(
           "最終変更時間は{0}です。",
           directory.LastWriteTime );
        Console.WriteLine(
            "最終変更(UTC)は{0}です。",
            directory.LastWriteTimeUtc );
    }
}


名前空間
 System.IO名前空間を参照します。

解説
 ディレクトリ(フォルダー)に関する情報は色々あります。それらの情報は、プログラミングに必要なので、何らかの方法で取得しなければなりません。幸いC#ではDirectoryInfoクラスが持つプロパティの値を取得するだけでよいです。

テーマ : プログラミング
ジャンル : コンピュータ

C#ライブラリリファレンス - ディレクトリ(フォルダー)が持つファイルを取得

概要
 指定したディレクトリ(フォルダー)が持つファイルを容易に取得できます。

日常でたとえると
 そのかばんの中に、どんな資料が入っているの?

使用に適した状況
 ディレクトリ下のファイルに対して処理をしたい場合。

サンプル

/* 
*  ディレクトリが持つファイルを列挙する。
*  
----------------------------------------------------*/
using System;
using System.IO;
using System.Linq;

class Sample
{
    static void Main( )
    {
        //LINQで保持するファイルを取得。
        DirectoryInfo directory = new DirectoryInfo( @"C:\" );
        var files =
            from d in directory.GetFiles()
            select d;
        Console.WriteLine( "{0}が持っているファイル一覧",
            directory.Name );
        foreach ( FileInfo file in files ) {
            Console.WriteLine( file.Name );
        }
        Console.WriteLine();

        //終了。
        Console.ReadLine();
    }
}


名前空間
 DirectoryInfoクラスは、System.IO名前空間に属します。LINQプログラミングを行うために、System.Linq名前空間を参照するとよいでしょう。

解説
 特定のディレクトリ(フォルダー)が保持しているファイルを取得したいことがよくあります。C#ではLINQプログラミングの力と相まって、直感的にわかりやすいプログラムでそれが可能となります。
 具体的には、DirectoryInfoクラスのGetFilesメソッドを取得します。特定の条件を満たすファイルを取得したい時に修正が容易ですし、C#ではそれが普通の表現なので、LINQプログラミングを併用します。

テーマ : プログラミング
ジャンル : コンピュータ

ニュースを分析22回 - 特許ビジネスの裏話

 STAP細胞の報道を見ていて、特許ビジネスについて何も知らないと感じたので、特許ビジネスについて書くことにしました。重要なので最初に言っておきますが、30歳の研究者1人(今回のケースは小保方さん)に任せるなんてことはあり得ません。これは、特許ビジネスにかかわった人ならば誰でも知っています。
 特許ビジネスにおいて重要なのは、何よりも戦略です。特許の出願をした時点で、内容が漏れてしまうので、盗まれる前提で儲けを生み出さねばなりません。従って、特許出願時において、何を書くのかも重要ですが、何を書かないのかの方が重要です。小保方さんが言うコツの様なものは、絶対に秘密にします。
 というのも、悪質な企業はいくらでもあり、まねて特許を出願する企業も出現します。また、勝手に商品を作って販売するなんてこともざらにあります。そういった企業は、裁判で負けようが気にしません。その前に売り抜けるだけです。そのほかにも、色々な犯罪手法が存在します。悪質な企業は呆れるほど、手を変え品をかえ犯罪を行います。
 という事で、何を公開して秘密にするのかを慎重に検討します。検討する人々は、特許に強い弁護士と経営陣です。発明者は経営戦略会議にほとんど参加しません。何故ならば、特許ビジネスと特許の内容は別次元の話であり、世間知らずの研究者には理解できない事だからです。かく言う私ももちろんそうでした。今は経営の方もやっているので知っていますが、お金に興味がない研究者は、特許戦略について知っていることはほぼないといってもよいでしょう。
 そういった方面から考えると、小保方さんは脇役です。また、理研の人達がほとんど知らないというのも、あり得ない話です。兆単位のビジネスをしているときに、責任者が知らない何てことあり得ません。特許ビジネスは、厳密に予定を組み、経営戦略に沿って物事を展開していきます。特許ビジネスは時間との戦いであり、いち早くマーケットシェアを高め、費用を回収せねばなりません。そうしないと、泥棒企業にマーケットを奪われてしまいます。この辺は、戦争といってもよいぐらいものであり、ルールなんてあってないようなものです。それ故に、厳密に戦略を練り、細かいところまで細心の注意を払います。
 ちなみに、特許の内容について隠蔽しても、解析するプロがいるので、いずればれてしまいます。産業スパイもいますし、ある程度公開しなければならない以上、専門家は内容を解析して模倣できます。そういう事から、特許ビジネスは時間との闘いなのです。
 それにも関わらず、日本のマスメディアは、その貴重な時間を奪いました。損害額は軽く見積もって億単位で、下手すれば兆単位になるかもしれません。STAP細胞の内容を見るに、特許ビジネスの規模としては、兆単位と考えるのが妥当でしょう。その莫大な損害は誰が責任をとるのか、それを問いただしたいです。おそらく、マスメディアは何も考えていないと思います・・・
 報道する前に、特許ビジネスに関しての基礎知識ぐらいもってほしいと思えてなりません。持っていれば、こんな愚かな事をして、莫大な損害を出さないと思います。いや、持っていても儲かると思ったらするかな・・・
 それにしても、莫大な被害をだして、いまだに特許の詳細を公開しろと騒いでいるマスメディアにはあきれ返るほかありません。日本の利益を損なっているのを自覚していないのでしょう。今回の事件(本当は事件ですらない)で一番悪いのは、どう考えてもマスメディアです。日本に損害を与えるのはいい加減にしてほしいです。

テーマ : ニュース
ジャンル : ニュース

中の人の徒然草492 やっぱり窃盗幇助するの?技術を殺すの?

 ニュースを見ていて思ったのですが、マスメディアはやはり窃盗幇助するのでしょうか?STAP細胞の情報開示(コツなどの核心となる部分)をしきりに言っていますが、それって特許の内容を盗める状態にしたいという事になります。私はSTAP細胞を公知にしてほしいとは思いますが、経営面から考えて、研究費回収のチャンスを与えてあげないと、研究所の経営ができません。
 このままだと、日本の研究所はつぶれて、特許を盗み放題になります。あれ?著作権侵害だと騒いだのに、特許権侵害は幇助するんだ・・・非常に不思議です。彼らは何を目指しているのでしょうか?技術流出国家日本を目指しているのかな?
 それはそうと昨日の記者会見、理研は責任回避をしたいのだと感じます。ですが、こんな不合理な事態に陥れば、会社経営という観点から言うと、そう考えても不思議はありません。だって、マスメディアはただ虐めたいだけなんですから。論理的な会話ができないとなれば、逃げたいという心境になっても不思議ではありません。とはいえ、小保方さんだけに責任をなすりつけるというのは頂けません。
 一番会見を開かなければならないのは、マスメディアだと思います。知的財産を侵害し、研究を妨害しているのはほかでもないマスメディアなのですから。私はマスメディアの謝罪会見を見たことがありません。公平ではないので、マスメディアの謝罪会見を見たいと私は思います。
 それに、いまするべきことは、STAP細胞の研究であり、それを止めてどうするんだと思えてなりません。研究途中のものをバッシングして何になるのでしょうか?新規発明は、最後までやってみないと分からないものです。新しいものを発明するときは、最後まで研究しないと何も分からないものなのです。新しい概念を研究したことがない人にはわからないのかもしれません。
 現状は、ライト兄弟が一度飛行に失敗したことを叩くのと同じです。こんな状態でライト兄弟は飛行機を発明できたのでしょうか?本当に日本は技術虐殺国家です。狂ったように騒いでいないで、冷静になって考えてみるべきです。そうすれば、静かにするのが一番だと分かるでしょう。

テーマ : 日記
ジャンル : 日記

ネタつつき213  - 情報技術者がSTAP細胞について考えてみた

 私は情報技術者であり、生物系の学問を知らないのですが、非常に興味深いのでSTAP細胞およびSTAP現象について、知的好奇心から自然と考えました。ワイドショー化した、STAP細胞報道にはうんざりしているので、同じことを感じている人と意見を交換したいと思い、自分の考えを書くことにしました。
 STAP現象とは、細胞分裂が行われ、分化が進んだ細胞が、外部刺激により初期化される現象とのことです。これは非常に興味深いです。私も生物の細胞は、外的要因と内的要因の兼ね合いで決まると自然と考えていたので、やっぱりそうなんだと納得しました。おそらく、素人の方が余計な前提を考えないので発想が豊かになるのでしょう。逆にSTAP細胞の資料を読んで、科学者たちがそう考えていなかったことに驚きました。ただし念のために言っておきますが、小保方氏の方法で、STAP細胞が取り出せるのか、もしくは作り出せるのかという点においては、専門家の調査を待っています。
 私が思うに、生物が哺乳類になるのも、爬虫類になるのも、情報の配列により決定されるのなのではないでしょうか?これは情報技術者としての発想ですが、どのようにバイナリ(遺伝子情報)を並べるのか、そのパターン(フォーマット)が「類」を形成していると思います。例えるならば、エクセルのバイナリパターン、ワードのバイナリパターンのようなものです。
 と考えるのであれば、爬虫類に見られるであろうSTAP現象が哺乳類で起こっても不思議ではないと思います。要は遺伝子情報に、共通フォーマットがあるか否かの問題であって、生物というオブジェクトの派生形式だから、共通部分があり得るのではないかと思います。加えて、細胞というものの仕様を考えると、細胞の初期化というメソッドは持っているという気がします。私が設計者ならばそのようにオブジェクトデザインします。
 話は少し変わりますが、資料によると小保方さんは「操作により小さな幹細胞が発生しているのではないか」との着想を持ったそうですが、これはいわばアインシュタイン博士が発想を逆転して考えたときや、天動説を地動説に変えた「立場の逆転」という科学の発展時によくある考え方なのではないかと思います。すなわち、科学の歴史が変わるマイルストーンになりえると思います。
 話を元に戻すと、そもそも、爬虫類とは何か、哺乳類とは何か、生物とは何かという事に帰着すると思います。それは、どのような遺伝子情報形式を持つのか、それさえ分ければ形式変換も可能であり、なんとでもなります。むろんハードウェアの部分を考える必要がありますが、人類はソフトウェアの部分を考えれば、いつの日かハードウェアも発明するので無問題です。
 ただ単純に考えて、生物の細胞は、外的要因と内的要因によって決まると考える方が自然です。何故ならば、生物には環境適用能力があるからです。この能力は、外的要因に反応していると考えないと成り立たない能力です。従って、STAP現象のようなものは存在するのではないかと推測できます。
 さて、以前にも書きましたが、STAP細胞があるのであれば、細胞プログラミングが可能となります。細胞プログラミングをするには、元からある細胞を初期化する方法、細胞に信号を送り任意の動作を命令する方法の2つ+α(その他プログラミン上必要な細かい事なので省略)が必要になりますので、人類は細胞プログラミングの第一歩を歩みだしたと思います。
 STAP細胞があるのであれば、適切なハードウェアを用意し、生物の情報解析を行った後で、適切な場所で初期化し、適切に作動するようにもっていけばいいという事になります。これが可能となると、人類は自由自在に細胞を操るすべを得たことになります。悪用されなければいいのですが、悪用する人もいるのでしょう。その危険な技術をどのように管理するのか、今からそのことについて考え始めた方がいいかと思います。
 それにしても、マスメディアが騒いだことにより、研究がストップしてしまっています。人類にとって重要な研究が、ワイドショーでストップされている現状は非常に不快です。人類に与えた被害に関して、マスメディアはどのように責任をとるのでしょうか?おそらく、何時ものように責任をとることはないでしょう。マスメディアは、他者に対して責任だとか謝罪を要求しますが、自身がしたことは一切ありません。非常に迷惑な存在です。世間を騒がせたなどといっていますが、騒いでいるのはマスメディアであり、その騒ぎに巻き込まれているのが世間だと思います。そんなことで、日本の技術進化が阻害されているので、日本は不景気になるのです。
 なにはともあれ、細胞が外的要因で何らかの反応を示すのは至極当然の考え方だと思います。STAP現象およびSTAP細胞そのものはまだ研究中とのことなので、最後まで結論はわかりませんが、仮に失敗したとしても新しい研究の発想源になるかと思います。私は細胞プログラミングに興味を持っているので期待しています。

テーマ : 文明・文化&思想
ジャンル : 学問・文化・芸術

ネタつつき212  - 誹謗中傷を鵜呑みにする日本人体質は危険

 世間の論調や日常の言動を見ると、日本人は誰かを誹謗中傷する人の言葉を信じ込む性質があると私は感じております。念のために言っておきますが、どこか違う国の人もそうであっても関係がありません。違う国の人がそうであれば、それは許される(みんなが言えば正しい)という日本人的思考はそもそも間違いです。
 何故ならば、論理的に考えると、その誹謗中傷する人の言葉にも真偽があるからです。日本人は無条件に真実だと思い込んでいますが、言葉の真偽は順番とは関係がないはずです。最初に聞いたことが真実だと仮定すると、順番で真偽決定されることになり、極めて非理論的な結論になります。
 こういうことを言うと、「人間は感情の生き物だ」と反論する人がいます。それは真なのですが、誹謗中傷された人も人間であり、感情があります。誹謗中傷する人の感情だけ、肯定する理由はどこにもありません。
 日本人は論理ではなく、順番だとか、発言者の看板(組織が言ったら信じる)で言葉の真偽を判定するので、極めて騙されやすいです。その証拠に、詐欺事件の被害総額が高いです。また、質が悪いマスメディアが存在することも、その証明になります。というのも、存在するほどお金をつぎ込んでいる人がいるからです。
 それは果たして、良い事なのでしょうか?言葉の内容ではなく、看板と順番で決めるという行為は、およそ思考とは程遠いものです。その思考停止を続けていた日本は、はたして今、健全な社会になっているのでしょうか?
 それは否だと思います。何故ならば、サラリーマンや主婦たちは、日常の愚痴を言っているからです。仮にそれでよい社会が作れるのであれば、不平不満はないはずです。また、解決できない社会問題もないはずです。というのも、順番と看板で全てがうまくいくのであれば、不都合なことは存在しないという事になるからです。
 その事実に加え、改めて考えれば直ぐに、順番と看板で決めることの愚かさに気付きます。物事の真偽に関係なく、最初に看板を持った人が言えば全て真実だと仮定すると、その人が黒いものを白いといえば、日本ではそれが真だとしないといけないことになるからです。でも、それはおかしいと誰でもわかります。烏を白いと誰が言っても、黒いものは黒い。真実は誰が言ったかだとか順番で決まるものではありません。
 纏めます。日本人は最初の誹謗中傷だとか看板の大きさで、その内容を鵜呑みにする傾向があります。しかしながら、物事の真偽は、順番だとか看板とは無関係です。自分の頭を使って、物事の真偽を見極めましょう。

テーマ : 文明・文化&思想
ジャンル : 学問・文化・芸術

ニュースを分析21回 - STAP細胞報道を論理分析してみよう

 STAP細胞報道には、実に凶暴で危険な思想が潜んでいます。表面的な言動に騙されず、本当の報道を読み取りましょう。そうするには、論理学が一番適切だと思います。そこで、論理学でマスメディアの主張が正しいのか論証してみます。
 マスメディアが主張していることは、異常なことにほぼ同じです。日本には個性というものがないようです。その論調を論理の前提にして考えてみましょう。

A.厳密に法律(著作権法など)に照らさず、ミスがあれば犯罪者(偽装などは犯罪者といっているのと同じ)だとみなす。

B.ミスがあれば(マスメディアは犯罪を表す不正と表現)があれば、研究者の発明も疑う。
C.ミスを犯した人がいたら、学会全体を疑う。学界の信頼回復が必要などと報道している。

 わかりやすいように3点にまとめましたが、マスメディアの論理の流れは、ミスを犯した→その人は犯罪者だ→犯罪者のいう事だから発明も疑う→犯罪者が出現する業界は信じないという3段論法です。
 この論理が正しいか帰誤法で確かめてみましょう。論理はAであればB、BであればCという事ですから、文章にすると個人が犯したミスは犯罪行為と同じであり、ミスを犯した人は犯罪者である。犯罪者の研究はすべて否定する。犯罪者がいる業界は信じない。これをDとし、それを真だと仮定してみます。
 仮定に当たり、論理の世界では、小保方さんは変数でしかないので、他の人でもそれが言えるか否か考えなければなりません。そこで、個人をX、研究や行為などをY、属する業界をZとします。
 もう一度復習し纏めます。A⇒B⇒C(AならばB、BならばC)なので、Xが居ればY、YならばZであり、論理の推移律に従って、省略するとA⇒CとX⇒Zとなります。
 さて、これを真だと仮定するので、マスメディアを論理に当てはめて考えます。すると、名誉棄損で敗訴したマスメディアの個人Xは存在するので、X⇒Y(名誉棄損に問われた人間がいるからその論理は信じられない)とY⇒Z(犯罪者がいる業界は信じられない)ということになります。
 この段階で結論が導きだされます。その信じられないマスメディアが言ったことを、真実だというのであれば、前提X⇒Zおよび、A⇒Cの前提に反しています。すなわち矛盾が存在します。という事は、X⇒ZとA⇒Cが真だと仮定したことが誤りだと判明します。
 さらに突っ込んで考えると、ミスを犯した人が存在しない業界は存在するのでしょうか?仮に真だと仮定すると、ミスを犯さない人間が業界を形成するほど存在することになり、人間は基本ミスをしないという事になります。しかしそれもまた、矛盾を生じるので、それもあり得ないと分かります。
 以上の論理分析から言って、マスメディアは自己矛盾している報道をしているのであって、その報道の価値は甚だ疑わしいです。また彼らの主張が正しいならば、彼ら自身を信じないという事になります。
 私がよく日本の報道の質が悪いといっているのは、こういう事です。彼らはおよそ非理論的で金儲けだけを目的とし、虐めを頻繁に行います。そういった稚拙で醜い行為は真似せず、反面教師にしましょう。そして、数少ない価値ある報道をしている記者と会社を応援しましょう。そうすれば、このような質の悪い報道は、経済原則に従って消滅するでしょう。

テーマ : ニュース
ジャンル : ニュース

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

QRコード
FC2カウンター