PHP, Perl, Python, Ruby 文法などの比較まとめチートシート

プログラミング言語の比較対応で文法覚えられそうなんで便利!

* Big Script: PHP, Perl, Python, Ruby, Smalltalk
http://hyperpolyglot.wikidot.com/scripting

* Small Script: Bash, Tcl, Lua, Javascript, IO
http://hyperpolyglot.wikidot.com/small

* Platform: C, C++, Objective C, Java, C#
http://hyperpolyglot.wikidot.com/platform

Ruby on Rails が自社Webサービス開発に向く11の理由

参考サイト:
http://www.moongift.jp/2008/10/why_i_choice_ruby_on_rails/

  1. MVCがRailsのみで完結する
  2. コーディング量が少ない
  3. テスト機構が予め組み込まれている
  4. 使い勝手の良いO/Rマッピング
  5. Ajaxが容易に使える
  6. 柔軟なバリデーション機能
  7. 豊富なプラグイン
  8. 多数のオープンソース・ソフトウェア
  9. 多数のWeb情報、書籍
  10. アジャイル開発が行える
  11. Ruby言語が日本製

Rubyも勉強します。

アクセス解析「AWStats日本語版」のインストール方法メモ その2

アクセス解析「AWStats日本語版」のインストール方法メモ その2

その1はこちら

  1. Apache の設定
  2. まず、Apache のログファイル名とログ形式を設定します。ファイル名は必ず「ホスト名-access_log」とし、形式は combined にしてください。

    バーチャルホストを使用していない場合

    # vi /etc/httpd/conf/httpd.conf
    
    CustomLog logs/access_log combined env=!no_log
    ↓
    CustomLog logs/blog.96q.org-access_log combined
    

    バーチャルホストを使用している場合

    # vi /etc/httpd/conf.d/virtualhost.conf
    
    <VirtualHost *:80>
    ServerName blog.96q.org
    :
    CustomLog logs/blog.96q.org-access_log combined  ←ログをこのように指定
    </VirtualHost>
    

    Web から AWStats のレポートにアクセスできるように設定します。

    # vi /etc/httpd/conf.d/awstats.conf
    
    #
    # Directives to allow use of AWStats as a CGI
    #
    Alias /classes "/usr/local/awstats/wwwroot/classes/"
    Alias /icon "/usr/local/awstats/wwwroot/icon"
    ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
    
    #
    # This is to permit URL access to scripts/files in AWStats directory.
    #
    <Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>

    Apache に設定を反映します。

    # /etc/init.d/httpd reload
    
  3. ログ集計の設定
  4. AWStats 完全日本語版では、オリジナルの AWStats とは違い、一度 Web サーバのログを UTF-8 変換するスクリプトを通してから集計する必要があります(でないと『完全』日本語版にはならなくなる)。

    まず、UTF-8 変換スクリプトを自分の環境に合わせて修正します。

    # vi /usr/local/awstats/wwwroot/cgi-bin/utf8_decode.pl
    
    $Myhost = "bflets.dyndns.org";      # 自ホストのchcheかの判定用.
    ↓
    $Myhost = "96q.org";  # 自ホストのchcheかの判定用.    ←自分のドメイン名に変更する
    

    次に Apache のログを UTF-8 変換スクリプトに通し、AWStats に集計させるスクリプトを作成します。

    # vi /usr/local/bin/awstats-update
    
    #!/usr/bin/env ruby
    
    CONF = "/etc/awstats"
    LOG_DIR = "/var/log/httpd"
    TMP_DIR = "/tmp/hl"
    UTF8_DECODE = "/usr/local/awstats/wwwroot/cgi-bin/utf8_decode.pl"
    AWSTATS = "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl"
    
    Dir.mkdir(TMP_DIR, 0700)
    begin
      Dir.glob(CONF + "/*") do |var|
        if File.basename(var, ".conf") =~ /awstats.(.+)/
          domain = $1;
          log = "#{LOG_DIR}/#{domain}-access_log"
          tmplog = "#{TMP_DIR}/#{domain}-log.utf8"
          system("#{UTF8_DECODE} < #{log} > #{tmplog}&quot;)
          begin
            File.truncate(log, 0)
            system("#{AWSTATS} -config=#{domain} -update&quot;)
          ensure
            File.unlink(tmplog)
          end
        end
      end
    ensure
      Dir.rmdir(TMP_DIR)
    end

    作成したスクリプトに実行権限を与えます。

    # chmod +x /usr/local/bin/awstats-update
    

    cron で自動的に実行されるように crontab を設定します。

    # crontab -e
    

    以下を追加。

    00 *  * * * /usr/local/bin/awstats-update > /dev/null
    

    これで設定は完了です。ログは1時間ごとに集計されて http://xxx.xxx.xxx/awstats/awstats.pl で参照することができます。複数のホストについて設定した場合は、ホスト名を変更してアクセスするだけで自動的に AWStats が適切な設定ファイルを読み込んで動いてくれます。