2014年8月5日火曜日

Cacoo の操作Tips

* 複数選択
** Shift + クリック

* 細かく移動
** そのまま矢印

* 大雑把に移動
** Shift + 矢印

* グループ化
** Ctrl + g

* グループ解除
** Ctrl + u

* 枠の大きさを広げる・縮める
** Cmd + ←→

2014年8月2日土曜日

There is a version mismatch between the spring client and the server.

environment:
$ ./bin/rails -v
Rails 4.0.1

$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.2.0]

error message:
Warning: Running `gem pristine --all` to regenerate your installed gemspecs (and deleting then reinstalling your bundle if you use bundle --path) will improve the startup performance of Spring. There is a version mismatch between the spring client and the server. You should restart the server and make sure to use the same version. CLIENT: 1.1.3, SERVER: 0.9.2
situation:
when I try to start rails, it fails with the error message above.
and it works if I comment out the part of loading spring
$ cat bin/rails
#!/usr/bin/env ruby
#begin
#  load File.expand_path("../spring", __FILE__)
#rescue LoadError
#end
APP_PATH = File.expand_path('../../config/application',  __FILE__)
require_relative '../config/boot'
require 'rails/commands'

solution:
just kill a spring process.
$ ps aux | grep spring
masaki925        22334   0.0  0.1  2485392  18856 s018  S    11:08PM   0:00.05 spring server | hogehoge | started 7 mins ago
$ kill 22334

voala, it works :)

2014年5月1日木曜日

Angular On Rails でi18n

やりたいこと

下記のi18n
- サイト内の静的な文言
- script 内の静的な文言 (warning とか
- 画像
- リンク

考慮したいこと
- ユーザーの設定で言語切り替え
- ブラウザの設定
- 脱 全SPA構成
-- 但しいきなり全部はやらない
- i18n のファイルの局所化

とかを考えてたら、

angular-translate 使いつつ、
Rails 側でtemplate をERBで返しつつ、
ユーザーが設定変えたらtemplateCache クリアしつつ、
言語設定はCookie に保存するけど基本Rails 側のみでセットするようにしてAngular 側では基本触らない、

とか、けっこういろいろ気持ち悪いことになってしまった。

変な知識はいろいろつくけど、つくづくSPA にやられてる感。。
設計スキルが無いだけとも言える

とりあえずGoogle website translator はもっとちゃんとメンテしてください。






2014年4月27日日曜日

カルトと宗教と禅宗と

今日はお世話になった44田寮で、定例総会兼、卒寮するにあたっての壮行会を行っていただきました。

寮長の赤木さんは本当に博識な方でいろいろ教えてもらうんですが、今日は標題の件について。

宗教は、他者との関係を定義しているもの。
カルトは、他者との関係を定義していないもの。(信じないものを排除し得る)
禅宗は、仏教の中の一つの宗派(?)  のようなもの。

唯一神の宗教と、やおろずの神の宗教との違いは、神の間の関係性を定義しているかどうか。

世界的には、禅宗が注目を集めてきているようです。

いまのところ一番平和に近づけるのは、禅宗なんですかねぇ。

なんにせよ、起業家の方は、44田寮オススメですよ!

2014年4月24日木曜日

AngularJS勉強会#5に参加しました

初めて参加したのですが、グループに分かれてディスカッションするタイプの勉強会で、個人的にはすごく楽しかったし勉強になりました。

- Provider はライブラリとか作るときに使う、Service はOOP的なほげほげ、Factory は関数型的なほげほげ
- パフォーマンス対応、bind once は使えるところは使うとよいかも。IE8はやばいらしい
- SEO対策、やるとしたらサーバー側でレンダリングしつつ、directive でparse  して使うとよい

主催者のみなさまありがとうございました。
また参加したい!

2014年4月21日月曜日

どうすればブログが続くか

- 書くハードルを下げる
-- 英語とかやめる
-- 携帯から書けるようにする
-- 気張りすぎない

まずは続けることを目指そう。。

2013年6月21日金曜日

does logrotate work well with Fluentd?

Preparation

OS: Scientific Linux 6.1
Fluentd: td-agent 0.10.25
    type exec
    buffer_type file
    buffer_path /var/log/td-agent/buffer/td
    flush_interval 5s
    command 1>> /var/tmp/hoge.log 2>> /var/tmp/err.log cat
    keys k1,k2
    retry_limit 4
  

  
    type tail
    path /var/tmp/tail.log
    tag test.iwa
    format tsv
    pos_file /var/log/td-agent/tail.pos
    keys k1,k2
  

* confirm Fluentd configuration

  $ wc -l tail.log
  10000 tail.log
 
  $ wc -l hoge.log
  10000 hoge.log

* logrotate.tdtest

  /var/tmp/tail.log {
      size 100M
      rotate 200
      missingok
      notifempty
      compress
  }

* confirm logrotate configuration

** prepare large file

  $ cp tail.log tail.log.cp
 
  $ for i in {1..1100}; do cat tail.log.cp >> tail.log; done
 
  $ du -sm tail.log
  106     tail.log

** confirm

  $ wc -l tail.log
  11110000 tail.log.1
 
  $ sudo logrotate logrotate.tdtest
 
  $ ll
  -rw-r--r--  1 m-iwamoto contentsuser   215534  6月 21 19:22 2013 tail.log.1.gz
 
  $ gunzip tail.log.1.gz
  $ wc -l tail.log.1
  11110000 tail.log.1

Experiment


* Terminal 1
  $ ll
  合計 118808
  -rw-rw-rw-  1 td-agent  td-agent        110000  6月 21 19:13 2013 hoge.log
  -rw-r--r--  1 m-iwamoto contentsuser       131  6月 21 18:54 2013 logrotate.tdtest
  -rw-r--r--  1 m-iwamoto contentsuser 121527400  6月 21 19:13 2013 tail.log
  -rw-r--r--  1 m-iwamoto contentsuser       242  6月 21 18:38 2013 tail.log.2.gz
 
  $ sudo rm -f hoge.log
  $ ll
  -rw-r--r--  1 m-iwamoto contentsuser       131  6月 21 18:54 2013 logrotate.tdtest
  -rw-r--r--  1 m-iwamoto contentsuser 121527400  6月 21 19:13 2013 tail.log
  -rw-r--r--  1 m-iwamoto contentsuser       242  6月 21 18:38 2013 tail.log.2.gz
 
  # count line number of current target log file
  [m-iwamoto@sl6-64-mysqlgosh tmp]$ wc -l tail.log
  12152740 tail.log
* Terminal 2
  $ for i in {1..100000}; do echo "hoge,fuga" >> /var/tmp/tail.log; done
* Treminal 1
  # run logrotate during processing on Terminal 2
  $ sudo logrotate logrotate.tdtest
  $ ll
  合計 1988
  -rw-rw-rw-  1 td-agent  td-agent     1100000  6月 21 19:14 2013 hoge.log
  -rw-r--r--  1 m-iwamoto contentsuser     131  6月 21 18:54 2013 logrotate.tdtest
  -rw-r--r--  1 m-iwamoto contentsuser  674200  6月 21 19:14 2013 tail.log
  -rw-r--r--  1 m-iwamoto contentsuser  236387  6月 21 19:14 2013 tail.log.1.gz
  -rw-r--r--  1 m-iwamoto contentsuser     242  6月 21 18:38 2013 tail.log.3.gz
 
  # confirm if the line number of file produced by Fluentd matches to process of Terminal 1
  $ wc -l hoge.log
  100000 hoge.log
 
  # check line number of current target log #=> (★)
  $ wc -l tail.log
  67420 tail.log
 
  # check line number by decompressing archived file
  $ gunzip tail.log.1.gz
  $ wc -l tail.log.1
  12185320 tail.log.1
 
  # minus line number of previous file (before experiment) #=> (☆)
  $ expr 12185320 - 12152740
  32580
 
  # confirm sum of (★) and (☆) matches the number of process of Terminal 2
  $ expr 67420 + 32580
  100000

Conclusion

logrotate works pretty well with Fluentd :)
happy data aggregating!