@niftyからの迷惑電話

http://www.jpnumber.com/freedial/numberinfo_0120_938_857.html

WIMAX契約の副作用がこんなところに出てくるとは。
せめて昼間にかけてきてほしいなぁ。

平日夜ならまだわかる(昼間は仕事中で誰も相手にしないだろうから)けど、土曜の夜とか何がしたいのやら。

Rails以外のMySQLダンプをインポートした時の一部文字化け

いろんな原因があるんだろうけど、遭遇したケースに付いてメモ。

Railsで文字化けが起きてると相談されて、インポートしたdumpを見てみると、その時点で文字化けしてた。

元の環境を見ると、

mysql> show variables like 'character_set%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | ujis                             |
| character_set_connection | ujis                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | ujis                             |
| character_set_server     | ujis                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)

こんな感じだった。

データ自体はutf8で保存されているようだったので、
mysqldumpに--default-character-set=utf8を設定したら、行けた。

まさか、2015年にEUC-JPうんぬんみたいな話を聞くことになるとは…。

Capistranoのdeplyが2回実行されてエラーになる

今まで使ってなかったconfig/deploy/staging.rbを編集して、$ cap staging deployしたら、

cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as user@example.com: git exit status: 128
git stdout: Nothing written
git stderr: fatal: destination path '/path/to/releases/20150407233334' already exists and is not an empty
 directory.

となって失敗。
よく見ると全部のコマンドが2回ずつ実行されてた。

設定を再確認すると、

role :app, %w{user@example.com}
role :web, %w{user@example.com}
role :db,  %w{user@example.com}

server 'example.com', user: 'user', roles: %w{web app db}

の両方が書かれてしまっていた。
roleの方をコメントアウトしたらいけた。

gulpfile.coffeeでSyntaxError

とあるレポジトリをcloneしなおしてgulpを実行したら、以下のようなエラーに。

$ gulp
[13:11:14] Failed to load external module coffee-script/register

/path/to/gulpfile.coffee:1
tion (exports, require, module, __filename, __dirname) { gulp = require 'gulp'
                                                                        ^^^^^^
SyntaxError: Unexpected string
    at Module._compile (module.js:439:25)
    :
    :

CoffeeScriptが解釈できてないっぽい?

package.jsondevDependenciesに、

"coffee-script": "^1.9.1",

を追加して、$ npm installしたら直った。

この辺りのツールの動向は全然追えてないのでちょっと何かあると一瞬テンパる。

Sass::SyntaxError: Invalid CSS after

他の人の作ったRailsアプリをデプロイすることがあったんだけど、

$ rake assets:precompile RAILS_ENV=production
rake aborted!
Sass::SyntaxError: Invalid CSS after "...in:  20px; 30px": expected "{", was ";"
  (in /path/to/app/assets/stylesheets/admin.css)
(sass):1469
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

というエラーが発生。
古いシステムから持ってきたCSSが原因らしい。

このエラー、毎度どこが悪いか全くわからない…。

今回は、

$ rake assets:precompile RAILS_ENV=development

したら通ったので、どうやらminify時にエラーになっているようだ。

# Gemfile
gem 'yui-compressor'

# config/environments/production.rb 
config.assets.css_compressor = :yui

したら、解消した。
まぁCSS側を直せよ、という話ではあるけど。