今日の記事

今日の記事

別エントリにまとめました 愚直なコードを書けって話 - hirony3’s blog

最近やっと多少勉強に前向きになったので、こういう記事も心安く読めるよ。それまではむしろ嫌悪傾向でした...。

StackOverflow Developer Survey 2017 から。

  1. オンラインコース
  2. 本を買ってエクササイズをやる
  3. 半日コース
  4. オープンソースに貢献
  5. コーディングブートキャンプ
  6. オンライン協議会
  7. カンファレンス/ミートアップ
  8. ハッカソン
  9. blogを書く

どれが向いてるかは人によるかなと。 音楽機器ながらが良いならそれで良いし。

ざっと見てみたけど、一番見たかった "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マイルも遠くからでもジュニアの書いたコードは一発で分かるよ。って話。

つまるところ、コードってのは、当然コンピュータ向けでもあるんだけど、実はそれよりも「人間に理解してもらう」ことのほうがずっと大事だよ、ってことです。

最後の標語は

「コードを書くときは常に、後でこのコードをメンテする人やテストする人のことを、あたかもあなたの住所を知ってるサイコパスであると想定しな」

つまり

「最大限注意して、あとで殺されないように、人にやさしいコードを書きな」

ってことですかね。

web上にある自然環境音

なんかの記事で見かけた、アメリカの国立公園の音。なんかのイベントとして作られてるみたい。

さらにここからいろいろ探ってみたら、この人のSoundCloudを見つけた。いろんな環境音があって、とてもよい。落ち着く。

他にネットラジオ系でも探してみたけど、音楽じゃなくて、純粋な環境音ってのは、見つけられなかった。なんか良いのあったら欲しい。

タイヤの太さとグリップの関係

単純なようで、実はまだ定着してない議論のようで。 自分用にちょっとメモです。

摩擦に面積は関係ない

そうです。荷重と摩擦係数だけがパラメータです。 というのがわかりやすく説明されてるサイト。

でもタイヤ(等)の場合は、面積が意味を持つ

ただ、タイヤの場合は、荷重と摩擦力の関係はリニアじゃないんです! 1つの、ある程度納得感のある説明。

実は、摩擦係数が特定できるのは特殊なケースだけ

そう、現実世界では、1つの摩擦係数が特定できるのは特殊なケースだけですよ、の簡単な説明。

というわけで私なりの理解のまとめ

タイヤの場合、単純に「面積増えればグリップ増える」は大いなる勘違い。ただ、面積がまったく無関係なパラメータかというとそういうことでもない。 面積増やすと、耐久性、発熱の少なさの点で有利。面圧の面で不利。 でも多分もっと大事なのは、限界荷重の性能や特性という点で、タイヤを太くする必要がある場合がけっこうある、という点。

たとえば、もし、自動車のタイヤが、ゴムじゃなくて、鉄道の車輪みたいな硬いものだと仮定すると、 「広くしてもグリップ増えない」が当てはまる条件はすごく広がると思う。 ただしその場合でも、細さに限界があるのは容易に想像がつく=面積は無関係ではない、と言えちゃうかなー。

今日の記事: CIとCDの違い

今の所の疑問:
- testing environment と prod が同じって前提がないとダメかな...
- あと、こうなると、 Integration Test の環境と testing environment の違いって何になるんだろ。