(こんなちっちゃいブログの)アクセス解析を見て思ったこと。
1 更新してないのにアクセスがある
だいたい8-15アクセスくらいが毎日・・・
記事が増えるとこうなるのですね
2 よく見られているページ
vivaldiの設定の保存場所 - soukouki’s diary まさかのこいつ。
まぁ、ほかの人向けに書いた記事だし、いいのかな・・?
ほかの人に役立っているのならうれしいです。でも今見ると結構あれな文章なんだよなぁ・・・
正直割と頑張って書いた Simutransでのデットロックの避け方 - soukouki’s diary これにはあまり人は来ていないようで残念。
流入元
まぁ、ほぼすべて検索エンジンからです。
googleが86%
yahooが5%
bingが2%
googleさんが一番ですね。
みんなどんなキーワードで検索しているのでしょうか。
更新頻度
※ 上が新しいです
年月 | 回数 |
---|---|
2017-8 | ■ |
2017-7 | ■■■ |
2017-6 | ■■ |
2017-5 | ■■ |
2017-4 | ■■■ |
2017-3 | ■■■■ |
2017-2 | ■■■■■ |
2017-1 | ■■ |
2016-12 | ■■■■■■ |
2016-11 | ■■■■■■ |
2016-10 | ■■■■■■ |
2016-9 | ■■■■■ |
2016-8 | ■■■■■■■■■ |
2016-7 | ■■■■■■■■■■■■■ |
2016-6 | ■■■■■■■■■■■■■■■■■■■ |
2016-5 | ■■■■■■■■■■ |
月一更新くらいになっていますね。
デットロックの避け方
Simutransでデットロック(永久渋滞、詰まる、とか呼ばれる)はあまり起こしたくないですね。
彼を知り己を知ればうんたらかんたら。なので、自分勝手にまとめてみました。
まだ初心者な為、あまり良くない解決策かもしれません。案があったらコメントで教えてくれるとありがたいです。
1 信号所の長さが足りない
「こんなん流す前に気が付くよ」
と思いきや、路線が大きくなったりするとたまに起こります。
特に貨物列車。
編成を作る際にはこういうことにも気を付けましょう。
原因
- 信号所の長さ以上の長さの編成同士がすれ違う時に起こります。
- なのでそれ以上の長さの編成が1編成だけならなら起こりません。
解決策
- 信号所を伸ばす
- 編成を短くする
2 編成を詰めすぎ
赤矢印の方向に進もうとしても、その先が詰まっているのでこうなります。
イメージとしては細長いラウンドアバウトで詰まったような感じ。
折り返しの形によっては、車両基地でおこることもあります。
これは完全な解決策が取りにくいのがつらいところ。
原因
解決策
3 折り返しと動きを阻害する信号
2番と似たようなスクリーンショットですが、原因が違います。
原因
折り返しの手前に、下り線(AからC・B方面)を塞ぐ形で詰まる上り線列車があるとこうなります。
解決策
- 下り線をふさぐような位置で列車が止まらないように、スクリーンショット白矢印の先の信号をもっと奥にする(一番長い列車が塞がない程度)
- そして貨物列車で詰まるところまでがお約束
- 平面交差をなくす
4 折り返し前の単線区間の両方向信号
C付近の両方向信号で詰まっています。
原因
C付近の車両のせいで下り(BからA方向)の列車が出れずに、そのまま詰まりました。
なお、折り返し駅がもっと遠い場合はあまり詰まりません。
解決策
- 複線にする
- 信号を撤去する
- その分捌ける本数は減ります
- 折り返しを遠くする
コマンドプロンプトやPowerShellでは、範囲指定の状態で放置すると動かなくなる。
Rubyでの実行されない宣言
((false)? a=123 : nil)
この後のaの値が気になる。
実際にやってみた。
irb(main):001:0> ((false)? a=123 : nil) => nil irb(main):002:0> a => nil
nil
が代入されていた。
それならif
はどうなるのか、
irb(main):003:0> if(false); b=123; end => nil irb(main):004:0> b => nil
これもnil
が代入されていた。
もうひとつ
irb(main):001:0> a=123 if false => nil irb(main):002:0> a => nil
これを使って、
def f(a, b) ((!a.nil?)? (a_is_not_nil = true; a) : "")+ ((!b.nil?)? ((a_is_not_nil)? ", " : "")+b : "") end p f("a", "b") p f("a", nil) p f(nil, "b") p f(nil, nil)
"a, b" "a" "b" ""
こんな風にできる。
宣言は、例え実行されなくても宣言とみなされます。
v = 1 if false # 代入は行われないが宣言は有効 p defined?(v) # => "local-variable" p v # => nil