DevLove社内勉強会×勉強会に参加してきた。

DevLove社内勉強会×勉強会に参加しました。

もともとは発表を聞くだけのつもりだったんですが、よく見たら発表聞いた後にディスカッションやるとありました。
「ディスカッションなんてできるのかな?」と不安に思ってましたが、同じテーブルにいた皆さんのおかげでとても楽しく過ごせました。

ディスカッションも「勉強会に求めるものは?」というシンプルなテーマに対してそれぞれが色々な意見を出し合ったりして、とても刺激になりました。
参加するとモチベーションが上がるのも勉強会のいいとこですね。

運営者、発表者、参加者のみなさんありがとうございました!

今日書いたTRYを達成するために頑張ろうと思います。

RSM(Ruby Simple Manager)を作ってみた。

Rubyのバージョン切り替えのためのスクリプトRSM(Ruby Simple Manager)を作ってみた。

経緯

rvmはオワコンを書いたniwさんの話をAsakusa.rbで聞くことができた。
今はbundlerもあるし、Rubyのバージョン切り替えるだけならrvmとか使わず自作した方がいいよ、ということでした。
最近流行りのrbenvも試してみたけどいまいちだったので、さっそくniwさんのrubiesを試してみました。
でもやっぱり自作した方が勉強になりそうなので、niwさんのコード読んで真似てみようと思って作り始めてみた。

結果

rubiesはコード自体は短いし、難しいことはやってないと言っていたので少し時間かければ分かるだろうと思ったら、知識不足でさっぱり分かりませんでした。
でも、要するにRubyのパスを切り替えればいいだけ、ということは分かったので、if文とsed使ってパス切り替えをできるようにしてみた。

RSMについて

RSMの機能はRubyのパス切り替えだけで、Rubyのビルドは自分でやる必要があります。
詳しくはgithubのレポジトリをご覧ください。

参考

その2:Rails3.1で`autodetect': Could not find a JavaScript runtime

以前に,Rails3.1でエラー「in `autodetect': Could not find a JavaScript runtime.」というエントリを書いたのだけれど
githubで他の人のアプリ見てると

gem 'therubyracer'

というのが書いていないことに気づいた.

解決策

そもそも最低限必要なgemをデフォルトでGemfileに書いていないわけがないので,再度調べてみたところ以下のページを発見.

要するにnodejsを入れれば,therubyracerはなくてもいいらしい.
そこでさっそくインストールしてみたらtherubyracerがなくてもエラーが出なくなった!

sudo apt-get install nodejs

MySQL server has gone away errorへの対処

RailsでResque使ってworkerを動かすようにしているのだが,Scientific Linuxにデプロイしたら下のようなエラーが吐かれた.

failed: #<ActiveRecord::StatementInvalid: Mysql2::Error: MySQL server has gone away: SHOW TABLES>

原因を調べてみたら,どうやらMySQLとの接続が切れてしまうらしい.
そこで,config/database.ymlに以下の行を追加したら上手くいった.

reconnect: true

MySQLの設定を変えればいいのかもしれないけれど,とりあえずはこれで対処できた.

Scientific LinuxにNagiosをインストールしたら403 Forbiddenが出た.

以下の記事を参考にSLにNagiosをインストールしてみた.

とりあえず手順通りに進めてみた.
そして,http://(servername)/nagiosにアクセスしてみたところ,403 Forbiddenが出てしまった.
設定はあっているはずなのになー,と思ってググってみたら以下のページを発見.

ここではphpをインストールしたらいいということで,さっそくyum install phpをやってみたら無事アクセスすることができた.

MySQLのデータをCSVに出力

MySQLのデータをCSVにエクスポートしたかったので調べてみた。
なぜかmysqldumpがうまくできなかったので、mysqlから操作。

mysql> select * from database名 into outfile "/tmp/dump.csv" fields terminated by ',';