Webアプリを創る

ワタミズムによってしか維持されない日本の豊かさでは悲しい

2013年6月10日

BLOGOSで大石哲之氏が「ワタミズムによって維持されてきた日本の豊かさ」という記事を書いている。

日本人は、米国と比べて同じような賃金水準を保っているのではないか。一人あたりGDPでは負けて無いのではないか?生産性がこれほど違うのに、なぜ同じような生産(GDP)を維持できるのか。
生産 = 生産性 x 労働投入時間
とすれば、調整できる変数は一つしか無い。そう、労働投入量(労働時間)である。
つまり、12時間の労働投入があれば、7割の生産性でも、100のアウトプットがえられる。

大石哲之氏は「アメリカにGDPで負けていない」といっているが、実際は一人あたりGDPでも大きく負けている。World Bank の 「GDP per capita, PPP」によるとOECD諸国の2011年の一人当たりGDP(単位:国際ドル)は以下のようになる。

1 ルクセンブルグ 88,797
2 ノルウェー 60,392
3 スイス 51,227
4 米国 48,112
5 オランダ 42,779
6 オーストリア 42,172
7 オーストラリア 41,974
8 スウェーデン 41,484
9 デンマーク 40,933
10 アイルランド 40,868
11 カナダ 40,420
12 ドイツ 39,456
13 ベルギー 38,723
14 フィンランド 37,455
15 アイスランド 36,483
16 イギリス 35,598
17 フランス 35,247
18 日本 33,668
19 イタリア 32,672
20 スペイン 32,087
21 ニュージーランド 31,082
22 韓国 29,834
23 イスラエル 28,809

米国を100として考えると、日本の一人当たりGDPはおよそ70%であり、労働生産性とほぼ同じだ。

大石哲之氏の翌日の記事「ワタミズムと生産性 日本が取りうる3つの改善シナリオ」 で次のように書いている。

一人あたりGDPでたとえ3割へっても、イタリアと同じくらい。彼らは豊かにくらしているではないか。

これは明らかに間違いであって、日本はサービス残業をしてやっとイタリアと同じくらいのGDPになっているのであって、サービス残業をやめてGDPが3割減れば東欧やトルコ並の生活になってしまうのである。

労働生産性の計算からすれば、生産額にはサービス残業をした分が含まれるが、労働時間にはサービス残業の分は考慮されていないので、サービス残業をしてやっとアメリカの70%の生産性を維持していることになる。もし、3割サービス残業のしているのであれば、日本の実質的な労働生産性はアメリカの50%ということになる。これもGDPと同じことだ。

以下の表が、日本の得意分野である製造業の労働生産性の推移である。1995年には日本は世界一であった。しかし、その後アメリカが大きく伸びて現在ではアメリカの7割程度になっている。アップル社のようにアメリカ国内には高付加価値なソフト部門だけを残し、労働集約的な部分は中国等の外国に移転させたことによるものであろう。

 image

日本生産性本部「日本の生産性の動向 2012年版」31Pを抜粋

それでは、20年前のように製造業で日本が労働生産性を再度世界一にすることはできるのだろうか。20年前の世界一になったのは、日本人の勤勉さと器用さによるものだと思う。でも、現在は中国にも東南アジアにも勤勉で器用な労働者が大量にいる。そして賃金は日本の10分の1ぐらいだ。そういう状況では、世界から優秀な人間を集めているアメリカに負けてしまうのは仕方がないことである。

日本の労働生産性の低下というのは、本当に深刻な問題である。サービス残業によってやっと新興国レベルに落ちないようにしている状態である。最早、日本の企業は強くなくなっているから、会社に不満がある優秀な人はぜひ起業して生産性の高い企業を作ってほしい。

ロギングライブラリ NLog を使ってみる

2013年6月8日

プログラムの実行状態をログで記録したいという場合には、ログの数が少ないうちは StreamWriter を使って自作してもそれほど手間はかからないのですが、Web サイトでアクセス数が多くなってくると、少なくとも次の2点を考慮する必要がでてきます。

  • ファイルが大きくなり過ぎないように、ログファイルのローテートをする。
  • 同時アクセスがあった場合の対応が必要である。

それではということで、ロギングライブラリーを探してみたら、C#用には、NLogLog4Net というライブラリーがありました。比較すると NLog の方が活動が活発で使い方も簡単そうだったので、NLog を使うことにしました。

ソースコードとマニュアルは、GitHub にホストされています。マニュアルによると、ログの出力先にはファイルだけでなく、データベースやメールやWebサービスが選択できます。重大な障害が発生したときには、メールで通知できるのは便利ですね。

Visual Studio へのインストールには NuGet が利用できます。NuGet パッケージの管理で NLog で検索すると以下のようなパッケージが表示されます。NLog には多くの拡張パッケージがあって多くのところで利用されているのがわかります。NuGet では NLog だけでなく、NLog Configuration もインストールします。

image

インストールが完了すると、NLog.config という設定ファイルのひな形が以下のように作成されています。ひな形をみれば、NLog.config では、ターゲット(targets)とルール(rules)を設定をしたらいいということのようです。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <!–
  See http://nlog-project.org/wiki/Configuration_file
  for information on customizing logging rules and outputs.
   –>
  <targets>
    <!– add your targets here –>
   
    <!–
    <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
            layout="${longdate} ${uppercase:${level}} ${message}" />
    –>
  </targets>

  <rules>
    <!– add your logging rules here –>
   
    <!–
    <logger name="*" minlevel="Trace" writeTo="f" />
    –>
  </rules>
</nlog>

通常のログファイルだったらひな形がそのまま使えます。ターゲットが複数利用できるので、メール用のターゲットとルールを以下のように追加すると致命的エラーの時にメールを送るようにすることができます。

ターゲットの追加

<target xsi:type="Mail" name="m"
    subject="エラーの発生"
    from=admin@example.com
    to="niji@yniji.net"
    header="エラーが発生しました。${newline}"
    body="${message}"
    smtpServer="mail.example.com"
    smtpPort="587"
    smtpUserName=admin@example.com 
    enableSsl=”False” 
    smtpPassword="password"
    smtpAuthentication=”Basic” />

ルールの追加

<logger name="*" minlevel="Fatal" writeTo="m" />

ログを出力するコードを書くのは比較的簡単で、ASP.NET MVC の場合であれば、モデルに次のようなルーチンを作っておけば、他のモデルやコントローラーから呼び出して使えます。

using NLog;

public class LoggerClass
{
    private static Logger Logger = LogManager.GetCurrentClassLogger();

    public static void NLogInfo(string message)
    {
        Logger.Info(message);
    }

    public static void NLogFatal(string message)
    {
        Logger.Fatal(message);
    }
}

NLogを使うことで簡単にログを出力できるようになるので、現状のログに不満がある人は試してみてください。

フリーになって2ヶ月が経過しました

2013年6月7日

フリーになって2ヶ月が過ぎました。

4月から本格的に作ろうと思っていた新Webサイトですが、作業の方は遅れています。Webサイトを作るのは結構エネルギーがいるんですよね。でも、自分なりに方向性は決まってきたので、これからは作業も進んでいくと思います。

収入の面では、4月から Google アドセンスの最適化の作業をしてきたので、かなり安定した収入になってきました。アドセンスの収入のいい面は、時間を拘束されないことです。新Webサイトの制作に集中できる環境なので、これからしばらくは、他のことにあまり手をださないようにします。

このブログの方は、見に来てくれる人はあまりいません。ライティングの方は得意でないからしかたないけど。でも、これからもブログは続けていこうと思っています。ライティングは年を取ってもできる作業なので、今のうちにライティングの技術を少しでもアップさせておいた方がいいと思っているからです。このWebサイトはあまり更新ができていなかったけど、Webサービスの作り方を少しづつ書いて行く予定です。

日本型SEOの終焉

2013年5月26日

昨日「アフィリエイトで勘違い」の元増田氏のことを書いたので、それに関連してSEOのことについて書いてみました。その元増田氏がホームページを作り始めた2007年というのは、日本型SEOの最盛期の時期であり、また実際に「日本型SEO」が有効な時代でもありました。なお、SEO とは、日本語では検索エンジン最適化といい、特定の検索エンジンを対象として検索結果でより上位に現れるようにする技術のことです。

Google トレンドを使って、SEO の人気度を表示したのが下の図です。少し前に「CakePHPに飛びついた日本のITエンジニア」というブログを書いたけど、CakePHP とよく似た動きをしています。日本では、当時はSEO といって騒いでいましたが、2010年にYahoo Japan がGoogleの検索エンジンの採用し、2011年にはGoogleがパンダアップデートやペンギンアップデートと呼ばれる検索エンジンのアップデートをおこなったので、SEO対策だけで価値のないサイトは大きく検索順位を下げることになりました。それとともにSEOの人気度も急降下しています。

すべての国

image

日本

image

Google トレンドの図では、SEOの人気度の相対的な位置がよくわかるように、CMSとして最も有名なWordPress と Web アプリケーション フレームワークの Struts, Ruby on Rails, ASP.NET MVC, CakePHP, Grails, CodeIgniter, Laravel を合計したしたものを表示しています。日本の場合、Webページを作るためのツールであるWordPressよりSEOの方が人気があったというのはどう考えても過熱しすぎですよね。グラフを見るとSEOの人気度が急落して、日本も世界と同じような位置になったようにも見えます。

すべての国でみると、SEO は安定した動きをしているキーワードです。Web アプリケーション フレームワークも、個々のツールに関しては人気度が大きく動いていますが、それらを合計すれば安定した動きをしています。Web サイトに機能を追加しようと思えば、Web アプリケーション フレームワークを使った方が効率がいいから、根強い人気があるし、将来的にも Web 自体は重要な位置を占め続けると思うので、どのツールが人気を集めるかは別にして、根強い人気を持ち続けると思います。

SEO も Web アプリケーション フレームワークと同じようなものです。Web の世界では検索エンジンに拾ってもらわなければ、誰にも知られない存在です。だから、検索エンジンを理解して、検索結果をより上位に現れるように努力することは Web に携わるエンジニアであれば当然のことです。Google 自身がウェブマスターツールを作成し、SEO の解説をしていることからもわかるでしょう。最後に、SEO の未来について、「「SEOは終わった」のではなく、進化した」という記事を紹介しておきます。

http://www.seojapan.com/blog/future-of-seo

アフィリエイトで勘違い

2013年5月25日

はてな匿名ダイアリーにあった「アフィリエイトで勘違いした大学生の末路」の記事を読んだときに気になったのですが、イケダハヤト氏も「「ブログで稼ぐ」「アフィリエイトで稼ぐ」なんて夢は見ない方がいいですよ」という記事を書いていたので少し自分の感じたことを書いてみた。

元増田氏は、趣味で作成したホームページが、多い時で1日12万PVもあるサイトになり多いときで月80万円も収入があった。しかし、べた書きで作っていて、MVC は理解できなかったから、できることに限界があった。昨年の11月にグーグルのアルゴリズムが代わり検索順位が大きく下がった。多い時で80万円あった収入は20万円台にまで落ちた。

それで元増田氏は、「ゲームオーバー」したとして、「僕は公務員を目指すことを考え始めた。」そうだ。そして次のようにいっている。

勉強したあげく面接に落ちたらどうなるだろう。
27歳にもなるのに職歴がなく、独学でphpとSQLを囓った程度ではWEB制作会社は雇ってはくれないだろう。
詰んだかな、これ。
もっと外に出て、みんなと同じ大学生活を送って、みんなと同じ就職活動をして、みんなと同じように働いていれば。

イケダハヤト氏は、ブログの中で「コンテンツ制作のスキルはかなりありそうなので、公務員よりふさわしいキャリアはありそうな気もしますが…。」と言っているし、トラックバックでもスキルあるからと同情的なものが多い。でも、自分は元増田氏にスキルがあるとは思っていない。

なぜかというと、昨年の11月に検索の順位が大きく下がったということは、Google のいわゆるパンダアップデート呼ばれる検索アルゴリズムの変更によるものだと思われる。パンダアップデートは、質が低いとみなされるサイト、例えばコピーサイトや重複サイトのようにユーザにとって価値のないサイトの順位を下げてGoogle 検索の品質を高めようとするものだ。要するに元増田氏が作っていたサイトというのは、価値のないサイトだった可能性が大だ。そら技術力ないから、「ゲームオーバー」するしかなかったのだと思う。

多分元増田氏は要領がいい人間だったのだと思う。それで一時的には相当な儲けができた。でも理念のない人間だったので価値のないサイトを作ってしまった。最近、そういう要領はいいけど理念のない人間が幅をきかせているような気がする。彼らは口ではうまいことを言うが、創造性はないからどんどん内向きになって仕事をつまらなくしてしまう。

元増田氏が「みんなと同じように働いていれば」というのは過去の成功体験だろう。日本の高度成長期には真面目に働く労働者がいるのは日本だけだったので、真面目に働けばそれだけで成功した時代だった。しかし、現在では真面目に働く労働者は、中国にもインドにも東南アジアにも日本の数倍の労働者がいる。そして、彼らの給料は日本人の1割や2割である。だから、みんなと同じように働くだけでは、給料に下降圧力がかかるのは無理がないことである。だから最後の結論が「みんなと同じように働いていれば」というのは本当に寂しい。

イケダハヤト氏は、自分がブロガーであることについて次のように書いている。

でも、ぼくはプロブロガーを辞めることは当面ありません。限界までこの仕事で稼ぎつづけるつもりです。
なぜか?それはぼくが「書くことが大好き」だからです。もう、これ以上の理由はありませんね。どれだけ厳しくても、稼げなくても、この道は諦めたくないのです。

プロとして生きるというのはそういうことだよね。自分も価値のあるWebサービスを作りたいと思う。

最後に Google の理念ということで、Google が掲げる10の事実のタイトルのみだけど記載しておく。

  1. ユーザーに焦点を絞れば、他のものはみな後からついてくる。
  2. 1 つのことをとことん極めてうまくやるのが一番。
  3. 遅いより速いほうがいい。
  4. ウェブでも民主主義は機能する。
  5. 情報を探したくなるのはパソコンの前にいるときだけではない。
  6. 悪事を働かなくてもお金は稼げる。
  7. 世の中にはまだまだ情報があふれている。
  8. 情報のニーズはすべての国境を越える。
  9. スーツがなくても真剣に仕事はできる。
  10. 「すばらしい」では足りない。