早起きは「3億」の徳


哀川翔さんの「早起きは『3億』の徳 日の出起床で人生激変!」(東邦出版)。
薦められて読みました。サーファーの私としては、実践すべき事柄ではありますが、最近、遅寝遅起です。かなり反省し、翌日から早起きを実行中。まずは、7時前に起きるようにしています。

早寝早起きが主題の本ですが、「他人に奢る」という事について、哀川さんの価値観が書かれていたのが印象的だった。

人の度量(人間性ではない)を測る尺度として、奢る側の人か、奢られる側かがあるとのこと。これは、男ということを意識する哀川さんらしい見方だと思う。

気前良く奢ることは、本当に難しいと感じる。人が成長し家族を持つと、男はある意味「この奢るという境遇」に身を置くことになる。親に養ってもらっている内は、自分のことのみ心配していれば良い。しかし、家族を持つと見返りのない献身が、人としての度量・大きさを鍛錬して行くのであろう。

さらに大きな器として、社長(特にオーナー社長)という立場もこれに近い。自らの体を張って、社会に貢献すべく社員に血肉を注ぐという行為。これも、気前良く奢るという行為に非常に近いと感じる。逆に、これができなきゃ、社長は多分できないでしょう。社長になる器かどうかの判断基準にもなると思う。

「気前良く奢る」ことができるかは、その人の度量を表す。

さくらのfml 空メールによる自動登録の設定

メーリングリストの設定ファイル config.fh に関する説明を参考にしました。
http://linux.kororo.jp/cont/server/config_ph.php

(1) メンバー以外が、メールを出したときに、自動登録処理を行う。

# ### Section: Mailing List Policy
$REJECT_POST_HANDLER = "auto_subscribe";


(2) 本文にキーワード(通常subscribe、数字9999とかすればパスワード的にも利用可能?)を入れてもらい登録する。登録者のメールアドレスは、キーワードの後に入れてもらう必要なし。

# ### Section: Automatic Registration
$AUTO_REGISTRATION_TYPE = "body";
$AUTO_REGISTRATION_KEYWORD  = "9999";
$CONFIRMATION_SUBSCRIBE_NEED_YOUR_NAME = 1;


(3) 登録したらwelcomeメッセージを出す。登録完了通知のwelcomeメッセージファイルと登録できなかった場合の通知をそれなりに編集する。
・登録完了通知 ・・・welcome
・登録できなかった場合の通知・・・deny

# ### Section: Automatic Registration
$WELCOME_FILE = "$DIR/welcome";


(4) 登録する先を配信先(actives)、投稿者(members)を選択。両方は、この行をコメントアウトのまま。

# ### Section: Automatic Registration
$FILE_TO_REGIST = "$DIR/members";

※activesには無条件で登録されるようだ。上記指定では、結局、両方に登録される。
※実在するファイル名を指定すると、そこにも登録される。
例えば、$DIR/actives ⇒ activesのみ登録。(activeに同じメアドが2つ登録される)
例えば、$DIR/test  ⇒ actives、testに登録。(これにすれば、membersには登録されない?でも、testも配送先になってしまう。)

(5) 自動登録と手動登録の違い
・自動登録の場合は、activesに登録された人が、投稿と配信先になる。
・手動登録の場合は、membersが投稿者、activesが配信先で同一ではない。

(6) 自動登録で、membersが投稿者、activesが配信者にしたい場合

4.4	ポストできる人は制限したいが、配送される人は自動登録したい場合

$REJECT_COMMAND_HANDLER には特殊な auto_asymmetric_regist という値があ
ります。これは配送と認証のリストを非対称に使う時に使います。ただし
elena-ctl を使うことを前提としています。

	elena/actives	MLの配送のリスト(自動登録に使う)
	elena/members	MLの認証に使うリスト(手動登録)
			(MLに投稿できる人のリスト)

つまり、$REJECT_POST_HANDLER で設定せず、$REJECT_COMMAND_HANDLERで、”auto_asymmetric_regist”を設定する。当然、登録先は、ML名-ctl@~~~~~となる。
※反対はないみたいね。(ポストできる人を自動登録し、配送される人を制限する)

以上です。


思わず買ってしまいました。かなり参考になります。

さくらインターネットでRails(3日目)

(1) RailsアプリをMySQLで動作させます。
MySQLを使うパラメタを入れて、Railsアプリを作成する。

%rails app2 -d mysql


(2) データベースの設定
environment.rbおよび.htaccessの設定、公開wwwへのシンボリックリンク作成はしておいてね。
app2/config/database.yml でMySQLの情報を設定する。
パスワードの前にも、空白を入れる。(XXXXの前)

development:
  adapter: mysql
  encoding: utf8
  database: XXXX
  pool: 5
  username: XXXX
  password: XXXX
  host: mysqlXXX.db.sakura.ne.jp


webから接続すると、下記のエラーがでました。

Mysql::Error in Rails/infoController#properties
Can't initialize character set utf8 (path: /usr/local/mysql/4.0/share/mysql/charsets/)

config/database.yml のエンコーディングをはずす。再度チャレンジ。下記のエラー。

Client does not support authentication protocol requested by server; consider upgrading MySQL client


(3) MySQLモジュールインストール

%setenv RB_USER_INSTALL true
%gem18 install mysql

environment.rb に下記の記述を追加

 # config.gem "aws-s3", :lib => "aws/s3"
config.gem "mysql", :version => "2.7"

※うまく接続できました。

(4) scaffoldで雛形作成
下記の雛形を作成します。

%script/generate scaffold user name:string mail:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/users
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  public/stylesheets/
      create  app/views/users/index.html.erb
      create  app/views/users/show.html.erb
      create  app/views/users/new.html.erb
      create  app/views/users/edit.html.erb
      create  app/views/layouts/users.html.erb
      create  public/stylesheets/scaffold.css
      create  app/controllers/users_controller.rb
      create  test/functional/users_controller_test.rb
      create  app/helpers/users_helper.rb
       route  map.resources :users
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
      create    app/models/user.rb
      create    test/unit/user_test.rb
      create    test/fixtures/users.yml
      create    db/migrate
      create    db/migrate/20090525164026_create_users.rb

webからアクセス。http://XXXX.sakura.ne.jp/app2/user。下記のエラーが出ました。

Routing Error
No route matches "/user" with {:method=>:get}

ちなみに削除する場合は、下記で。

%script/destory scaffold user


(6) テーブル作成
テーブルさくせいするのを忘れてました。

%rake db:migrate
(in /home/XXXX/Rails/mailist)
==  CreateUsers: migrating ====================================================
-- create_table(:users)
   -> 0.0116s
==  CreateUsers: migrated (0.0118s) ===========================================

phpmyadminで、テーブルが生成されたか確認します。*は自動生成されます。
テーブル名: users(複数形になりました)
id: int(11) auto_increment 主キー*
name: varchar(255) ヌル:はい
mail: varchar(255) ヌル:はい
create_at: datetime *
update_at: datetime *
webで接続します。http://XXXX.sakura.ne.jp/app/users/(userは、複数形usersになる)

マイグレーションを管理するテーブルも出来る:schema_migrations
(追記)テーブルに、接頭語を付けるには、config/environment.rbの最後に下記を追加することで、テーブルに”sys_”がつき、他のテーブルと区別しやすくなります。

  
ActiveRecord::Base.table_name_prefix = "sys_"