Fukuoka Perl Workshop #19 いってきた

今回は東京から@tokuhiromさんをお招きしての開催でした。JPAさん++

まずは @d_tsuruさんの「MojoliciousのCRUD構築ワークショップ」

Mojolicious触った事無かったので良かったです。
全員のペースが同じじゃないので1時間は厳しかったですね。
ゆっくり教え合うような場面もあってほのぼのしました。


お次は @tokuhiromさんの
「dotcloudっぽい環境を sakura vps に自前でつくる方法」

DotCloudはまだベータのサービスで、APIのレスポンスも安定していないし
いつ有料になるのかとかわかんないよね。いきなり使えなくなるのも困っちゃうし
DotCloudとまったく同じように使える自分用の環境があったらいんじゃね?
てことでやってみたよという話だったと思います。

DotCloudはSSHできるのでpsでプロセス確認したりなんだりして、だいたいこんな
構成なんじゃないかなって感じで調べたそうですが、uwsgi とか supervisord、
aufs、lxc などの紹介があり、勉強になりました。
supervisord を使ってみたいなー。


お次は @su_askaさんの
「Webデザイン参考サイトのリプレース&ソーシャルタスク管理ツールのニュースリリース
デザインの参考になるサイトをブックマークできるサービス→ http://bookma.org/
とタスク管理ツールのご紹介でした。リプレースの方は大胆にいろいろ変えたそうで、こちら
を見ていただくとわかります。結構変えましたね。タスク管理ツールの方は現在 @su_aska
さんが提供してる Google Tasks 用拡張に置き換わるものだそうです。使ってみますね!


最後は @dragon3さんの
「dotcloud やAWS環境へのデプロイをみんなでワイワイしながらやってみよう」
でしたが、当初の順番ではなくなってしまったので、ちょっとやり辛かったかもですね。
内容としては DotCloudの紹介に終わってしまいましたが、シンプルでわかりやすかったです。
みんなでワイワイではないですが、スライド見ながら一緒にやってました。
環境構築の手間が無くて済むのは嬉しいですね!


そして @debilityさんから fukuoka.pm の立ち上げの発起人である @sugmakさんが
亡くなられて1年が経つということで、SOHOやフリーの方はみんなで健康診断行に
いきましょうというお知らせがあったのでここでもご紹介しておきます。
@debilityさん進行や飲み会の仕切りありがとうございました。
(仮)FWW_健康って大事なんですよ @sugmak 一周忌イベント



そして懇親会へ
居酒屋行って居酒屋行って屋台行って @hayashi_77 さんが面白かったです。
いろいろ話した事はあったんですが、@tokuhiromさんが言ってのたので印象に残ったのは
YAPCで fukuaoka.pm枠とかもらってセッションとかじゃなくてガッツリ発表したらいんじゃない?
って内容の話でした。それって面白そう。機会があれば是非。


とても楽しく参加させてもらいました。みなさんありがとうございました。

おしまい

PostgreSQL強制終了

/etc/init.d/postgres stop しても止まらない場合がある。

http://liblog.seesaa.net/article/60224233.html
似たような症状に出くわした人もいるようだ。

pidファイルが健在で、記載してあったプロセスもまだ残っていたので、pg_ctl コマンドに immediate をつけて停止した。
無事停止でき、起動できシステムは復旧した。

情報が直ぐに見つからなかったので、同様の現象に遭遇した人のためにこの記録を残しておく。

というか、遠い昔に経験済みだったんじゃないかと思うが。

qmailadmin 文字コード変更

シェルスクリプトでユーザのフルネームをマルチバイトで登録すると
qmailadmin文字コードeuc-jpである為、文字化けした。

そこで下記の方法でutf-8文字コードを変更した。

cp /usr/local/share/qmailadmin/lang/ja /usr/local/share/qmailadmin/lang/ja.org
perl -pi -e 's/euc-jp/utf-8/' /usr/local/share/qmailadmin/lang/ja
perl -pi -MEncode -e 'Encode::from_to($_,"euc-jp","utf-8");' \
/usr/local/share/qmailadmin/lang/ja

Fukuoka.pm 参加してきました。

先週の土曜日は Fukuoka.pm の Fukuoka Perl Workshop #18 でした。

9月に必ず毎回参加する事に決めて2回目です。

今回の内容は、YAPC参加者のレポートや、YappoさんのFicia周りの話
JPA牧さんのテストの話でした。


FiciaのUI周りの話やテストの話は大変参考になりました。
職場でうまくとりいれて実践していきたいと思います。


YAPCは、毎回行きたいと思いながら仕事の都合で行けなかったりなので、
来年こそは行って自分もレポートしたいなと思います。
行けなくてもモチベーション上げてくれるYAPCは凄いですね。


それと、いつも地方にいながら関東や関西のPerl事情に興味深々なので、
今回は牧さんやYappoさんがいらっしゃると言う事で、最初からお祭りの
ような気分でした。嬉しかったです。


飲み会の場でもここぞとばかりにお話をさせてもらって大満足でしたが、
あまり気分がよかったせいで呑みすぎてしまい、二次会中盤からの記憶が
ほとんどありません。みなさんにご迷惑をかけなかったかがちょっと心配。


話は変わりますが、今回のレポートの中で @dragon3 さんが Amon2 +
DBI::Skinny + Text::Xslate でアプリを開発してますって話を聞いて、
自分もやってみよっかなと思っています。
構成もシンプルそうだし、理解して仲間にも教えやすいかもなと思っています。


そのうち Fukuoka.pm で情報共有できたら幸いです。
あと、大したことかけないかもしれないけど、学んだ事はブログに
残していけたらなと思います。


そんなこんなで、今日は、perlbrew + cpanm の環境を、仲間でそれぞれ
新たに構築しました。旧来、従来のPerlCPANモジュールのインストールの
方法を知らない子もいるので、違いなども見せてどんだけ楽になったか教えたり。
社内から福岡の Perl Monger 開拓中です。


今度から、こういうイベントではもっと詳細なレポートを、来れなかった人や
興味をもっている人に届けられたら名と思います。
次回のFukuoka.pmの開催を楽しみにしています。


牧さん、Yappoさん、Fukuoka.pmの皆さん本当にありがとうございました。

redmine インストール

何回かやったので記録しておく

参考にしたサイト
Redmine 0.9のインストール手順 | Redmine.JP Blog

最初のは必要なパッケージの最新バージョンを使おうとしていろいろはまった。
redmine を展開して doc/INSTALL の依存を確認したらすんなりうまくいくようになった。

# OS初期設定

export LANG=C
useradd -G wheel kataoka
passwd kataoka
vi /etc/ssh/sshd_config 
vi /etc/pam.d/su
/etc/rc.d/init.d/yum-updatesd stop
yum -y remove yum-updatesd
yum -y install yum-fastestmirror
yum -y update
yum -y install yum-cron
/etc/rc.d/init.d/yum-cron start
chkconfig yum-cron on
ntsysv
reboot 

# yum

yum -y install gcc gcc-c++ zlib zlib-devel \
  mysql-server mysql-devel httpd httpd-devel \
  openssl-devel readline-devel ntp

# ruby

cd /usr/local/src/
wget ftp://core.ring.gr.jp/pub/lang/ruby/1.8/ruby-1.8.7.tar.gz
tar xzfv ruby-1.8.7.tar.gz 
cd ruby-1.8.7
./configure
make
make install

# rubygems

cd /usr/local/src/
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
tar xzfv rubygems-1.3.1.tgz 
cd rubygems-1.3.1
ruby setup.rb
cd ../ruby-1.8.7
cd ext/zlib
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install

# rack, rake, passenger

gem install rack -v=1.0.1
gem install rake -v=0.8.3
gem install passenger

今回は rake の gem でのインストールがなぜかうまくいかなかったので
ダウンロードしてインストールした。

cd /usr/local/src/
wget http://rubyforge.org/frs/download.php/43955/rake-0.8.3.tgz
tar xzfv rake-0.8.3.tgz 
cd rake-0.8.3
ruby install.rb

# passenger configuration for apache

passenger-install-apache2-module
vi /etc/sysconfig/httpd
vi /etc/httpd/conf.d/passenger.conf

/etc/sysconfig/httpd

HTTPD=/usr/sbin/httpd.worker

/etc/httpd/conf.d/passenger.conf

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby

Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerUseGlobalQueue on
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0

# mysql base settings

vi /etc/my.cnf
/etc/init.d/mysqld start
/sbin/chkconfig mysqld on

mysql -uroot
mysql> use mysql;
mysql> update user set password=password('********') where user = 'root';
mysql> delete from user where user = '';
mysql> flush privileges;
mysql> exit;

mysql -uroot -p
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by '********';
mysql> flush privileges;
mysql> exit;

/etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8

[mysql]
default-character-set=utf8

# redmine set up

cd /usr/local/src/
wget http://rubyforge.org/frs/download.php/72201/redmine-1.0.1.tar.gz
tar xzfv redmine-1.0.1.tar.gz 
mv redmine-1.0.1 /var/lib/redmine
cd /var/lib/redmine
vi config/database.yml
vi config/email.yml
rake config/initializers/session_store.rb
gem install mysql
rake db:migrate RAILS_ENV=production
chown -R apache:apache /var/lib/redmine
vi /etc/httpd/conf/httpd.conf 
/etc/init.d/httpd restart

config/database.yml

production:
  adapter: mysql
  database: db_redmine
  username: user_redmine
  password: ********
  host: localhost
  encoding: utf8

config/email.yml

production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: host.example.jp

/etc/httpd/conf/httpd.conf

DocumentRoot "/var/lib/redmine/public"

# iptables

vi /etc/sysconfig/iptables
/etc/init.d/iptables restart

# restore

mysqldump -p db_redmine > db_redmine.default
mysql -u root -p
DROP DATABASE db_redmine;
CREATE DATABASE db_redmine;
flush privileges;
exit;
mysql -p db_redmine < ~kataoka/db_redmine.used

もう8月か

7月は何も書いてないな(・_・;

はてなtouchってiPhoneアプリで日記書いてます。
画像アップロードの時、ローディングアイコン出なくて固まったかと思った。


print "Hello world"

はてな記法オート入力便利だな。

ウィジウィグでないこういう記法のほうが移植性高いなと再認識した。

失礼致しました。と、申し訳ございませんでした。

「失礼致しました。」と「申し訳ございませんでした。」の使い分けについて
ちょっと気になったので調べてみた。

すみません=済まないの丁寧語
済まない=申し訳ない。謝罪や依頼の時に言う。

失礼=礼儀を欠くこと。礼儀をわきまえないこと。不作法な事。
 人に問いかける時。別れるとき。わびるとき等の気軽な挨拶語。

「すみませんでした」は申し訳ない時や、謝罪などに丁重に言う謝りの言葉ですね。
一方、「失礼」は礼儀を失した時に言う詫び言葉でしょうか。
「すみませんでした」や「申し訳ございませんでした」は完全に丁寧な謝りの言葉で、「失礼しました」は、ちょっとした不作法に対する軽い詫び言葉と取れますので、使う相手に寄ってではなく、使う状況に寄って変ると思います。


なるほど。これで今後はこの辺で悩む必要なし。