今日の記事
Your gut is directly connected to your brain, by a newly discovered neuron circuit | Science | AAAS
内蔵はダイレクトに脳につながってる。新たに発見された神経回路によって。 おもしろ。納得感あるね。6 personality traits driving your organization | Opensource.com
HEXACO:
Honesty-Humility
Emotionality
eXtraversion
Agreeableness (versus Anger)
Conscientiousness
Openness to Experience.Dockerイメージの理解とコンテナのライフサイクル
複数のルートファイルシステム = コンテナ
各々のリソースを持つ
Linuxカーネルの機能: Namespaces, Cgroups
Dockerイメージ: イメージ・レイヤの集合体
$ docker history <image id/name>
コンテナの起動 = Dockerイメージ+書き込み可能レイヤを追加+隔離されたリソース上で実行
ボリュームはレイヤとはまた別
今日の記事
別エントリにまとめました 愚直なコードを書けって話 - hirony3’s blog
最近やっと多少勉強に前向きになったので、こういう記事も心安く読めるよ。それまではむしろ嫌悪傾向でした...。
StackOverflow Developer Survey 2017 から。
どれが向いてるかは人によるかなと。 音楽機器ながらが良いならそれで良いし。
There Is No Such Thing as “Agile by The Book”
- Change Is Good, Embrace It
Automated Testing Makes Everything Easier
ざっと見てみたけど、一番見たかった "Examples of common goals both teams can agree on." をズバッと説明してるスライド的なものはみつけられなかった。
アメリカ人も元々はマニュアルが好きだったのか。
あと、 stick shift = manual transmission って意味なんだね。
良さげなリストだったので。
log aggregation は metrics aggregation とはちょっと性格がちがうぜ
あんま time-series data は得意じゃない
event data 収集にはよい
Rule for logging:
- DO include a timestamp
- DO format in JSON
- DON’T log insignificant events
- DO log all application errors
- MAYBE log warnings
- DO turn on logging
- DO write messages in a human-readable form
- DON’T log informational data in production
- DON’T log anything a human can’t read or react to
3つのツール
- ELK
Elasticsearch, Logstash, and Kibana
LをFluentdに替えるのも定番(下記)
Kibanaはすげー良いけど、アラート機能がないのが欠点
- Graylog
Go言語界隈で人気
Elasticsearch, MongoDB, and the Graylog Server
アラート機能あり
streamingがイケてる
geolocationもイケてる
- Fluentd
CとRuby
AWSとGoogleCloudで推奨
Logstashの代替にするのが定番(上記)
プラグインが500以上もあるので、どれかはあなたの使い方にマッチするだろ
もしなければOSSに貢献!
愚直なコードを書けって話
"Dumb"ってのは、このコンテキストなら、真面目に訳すなら「愚直」かなぁと思うけど、言葉として面白くないよね。 「バカっぽい」ぐらいにしたいところけど、長くてこれもヤだ。 ま、それは良いとして。
シニアエンジニアはなぜ「愚直」なコードを書くのか。そして1マイルも遠くからでもジュニアの書いたコードは一発で分かるよ。って話。
つまるところ、コードってのは、当然コンピュータ向けでもあるんだけど、実はそれよりも「人間に理解してもらう」ことのほうがずっと大事だよ、ってことです。
最後の標語は
「コードを書くときは常に、後でこのコードをメンテする人やテストする人のことを、あたかもあなたの住所を知ってるサイコパスであると想定しな」
つまり
「最大限注意して、あとで殺されないように、人にやさしいコードを書きな」
ってことですかね。
Docker「で」 ビルド
こういうのも楽でよいよね。 というか、実際にやろうとしてますよ、って感じなので、 メモ。
web上にある自然環境音
なんかの記事で見かけた、アメリカの国立公園の音。なんかのイベントとして作られてるみたい。
さらにここからいろいろ探ってみたら、この人のSoundCloudを見つけた。いろんな環境音があって、とてもよい。落ち着く。
他にネットラジオ系でも探してみたけど、音楽じゃなくて、純粋な環境音ってのは、見つけられなかった。なんか良いのあったら欲しい。
タイヤの太さとグリップの関係
単純なようで、実はまだ定着してない議論のようで。 自分用にちょっとメモです。
摩擦に面積は関係ない
そうです。荷重と摩擦係数だけがパラメータです。 というのがわかりやすく説明されてるサイト。
でもタイヤ(等)の場合は、面積が意味を持つ
ただ、タイヤの場合は、荷重と摩擦力の関係はリニアじゃないんです! 1つの、ある程度納得感のある説明。
実は、摩擦係数が特定できるのは特殊なケースだけ
そう、現実世界では、1つの摩擦係数が特定できるのは特殊なケースだけですよ、の簡単な説明。
というわけで私なりの理解のまとめ
タイヤの場合、単純に「面積増えればグリップ増える」は大いなる勘違い。ただ、面積がまったく無関係なパラメータかというとそういうことでもない。 面積増やすと、耐久性、発熱の少なさの点で有利。面圧の面で不利。 でも多分もっと大事なのは、限界荷重の性能や特性という点で、タイヤを太くする必要がある場合がけっこうある、という点。
たとえば、もし、自動車のタイヤが、ゴムじゃなくて、鉄道の車輪みたいな硬いものだと仮定すると、 「広くしてもグリップ増えない」が当てはまる条件はすごく広がると思う。 ただしその場合でも、細さに限界があるのは容易に想像がつく=面積は無関係ではない、と言えちゃうかなー。
今日の記事: CIとCDの違い
- Continuous Integration and Delivery with Jenkins X and Kubernetes - The New Stack
これ分かりやすい感じ。あとでもう一回読む。
今の所の疑問:
- testing environment と prod が同じって前提がないとダメかな...
- あと、こうなると、 Integration Test の環境と testing environment の違いって何になるんだろ。