rbenv
todo
rails
gem install rails --version "5.0.0.1" --no-rdoc --no-ri
参考
rbenv
rbenv + ruby-build はどうやって動いているのか - takatoshiono's blog
Homebrewでrbenvをインストールする | Mawatari.jp
todo
gem install rails --version "5.0.0.1" --no-rdoc --no-ri
rbenv + ruby-build はどうやって動いているのか - takatoshiono's blog
Homebrewでrbenvをインストールする | Mawatari.jp
ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み
(インストールは終わったものとして)
とりあえず動くだけの設定
vim /etc/mongod.conf
systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log storage: dbPath: /var/lib/mongo journal: enabled: true processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid net: port: 27017 bindIp: xxx.xxx.xxx.xxx
mongod開始
sudo service mongod start
td-agent導入
curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sudo sh
td-agentの設定を書く
vim /etc/td-agent/td-agent.conf
<source> type tail format tsv keys col1,col2,col3 tag hoge.fuga path /var/log/hoge/hogehoge.%Y-%m-%d pos_file /tmp/hoge.pos </source> <match hoge.**> @type mongo host xxx.xxx.xxx.xxx port 27017 database hogedb collection hogelog capped capped_size 1024m flush_interval 10s </match> <match fluent.**> @type mongo host xxx.xxx.xxx.xxx port 27017 database hogedb2 collection hogelog2 capped capped_size 1024m flush_interval 10s </match>
agent開始
sudo service td-agent start
こんな感じで設定すれば、ログが入っていく
サーバ/インフラエンジニア養成読本 ログ収集〜可視化編 [現場主導のデータ分析環境を構築!] Software Design plus
rm ~/Library/Preferences/com.apple.finder.plist
して、再起動でなんか直った。保証はできかねます( ー`дー´)キリッ
なんだけど、それでもダメなことが多く、結局だめになったらkillしてます。。。
killall Finder
[改訂版] Mac OS X ターミナルコマンド ポケットリファレンス
前に同僚と話題になったので。最初HogeAで考えていて、同僚がHogeBがいいよといい。
実行コード
import java.util.HashMap; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; import com.google.common.collect.Maps; public class EnumSample { public static void main(String[] args) { { long base = System.currentTimeMillis(); for (int i = 0; i < 1000000; i++) { HogeTypeA type = HogeTypeA.getEnum(1); } long diff = System.currentTimeMillis() - base; System.out.println("testA:" + String.valueOf(diff)); } { long base = System.currentTimeMillis(); for (int i = 0; i < 1000000; i++) { HogeTypeB type = HogeTypeB.getEnum(1); } long diff = System.currentTimeMillis() - base; System.out.println("testB:" + String.valueOf(diff)); } { long base = System.currentTimeMillis(); for (int i = 0; i < 1000000; i++) { HogeTypeC type = HogeTypeC.getEnum(1); } long diff = System.currentTimeMillis() - base; System.out.println("testC:" + String.valueOf(diff)); } } } enum HogeTypeA { ON(0), OFF(1); private int code; private HogeTypeA(int code) { this.code = code; } public int code() { return this.code; } public static HogeTypeA getEnum(int code) { return toEnum.get(code); } private static Map<Integer, HogeTypeA> toEnum = new HashMap<Integer, HogeTypeA>() { private static final long serialVersionUID = 1L; { Stream.of(HogeTypeA.values()) .forEach(type -> { put(type.code(), type); }); ; } }; } enum HogeTypeB { ON(0), OFF(1); private int code; private HogeTypeB(int code) { this.code = code; } public int code() { return this.code; } public static HogeTypeB getEnum(int code) { return toEnum.get(code); } private static final Map<Integer, HogeTypeB> toEnum = Maps.newHashMap(); static { for (HogeTypeB type : values()) toEnum.put(type.code(), type); } } enum HogeTypeC { ON(0), OFF(1); private int code; private HogeTypeC(int code) { this.code = code; } public int code() { return this.code; } public static HogeTypeC getEnum(int code) { return toEnum.get(code); } private static final Map<Integer, HogeTypeC> toEnum; static { toEnum = Stream.of(HogeTypeC.values()) .collect(Collectors.toMap(HogeTypeC::code, type -> type)); } }
実行結果
testA:89 testB:48 testC:53
単純な実行だとHogeBが早そう。
Cも悪くなさそうなんだけど、JVMの最適化のせいなのか、Aを抜いて、BとCだけ実行すると下記のようなスコアになるので、Streamは速度いまいちっぽいのよね。
実行結果2
testB:45 testC:118
Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング
vim /etc/yum.repos.d/mongodb-org-2.6.repo
[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
sudo yum install -y mongodb-org
start / stop
sudo service mongod start sudo service mongos stop
適当にdbつくって、適当にcollection作って、適当にデータぶちこむ
> use batchlog; switched to db hogelog > show dbs; local 0.000GB > > db.sample.save( { key : "001", value : "hogehoge" } ); WriteResult({ "nInserted" : 1 }) > show dbs; hogelog 0.000GB local 0.000GB
Linuxシステム[実践]入門 (Software Design plus)