hsimyu's diary

ゲームなどをします。

12/20 おしごと感

先週は無限にだらだらしていたのですが、今週は研究室に来て色々やっています。とりあえず余らせている高性能PCが3台〜4台あるので上手いことクラスタ化したい。インストール後のセットアップを itamae でやるのと、openldapサーバーの立ち上げまでやった。

ずっとCentOS5だったマシンのOSをCentOS7にしたんですけど、CentOS7ってすごいんですよ、SCLというやつを使うとちゃんと最新のgccとかがyum管理の元で(repository追加しなくても)インストールできる。しかもどれをenableするかも簡単に切り替えられる。これが時代の進歩ですね。シンポさん。CentOS5はクソ

itamaeいい感じなのだが、特定のパッケージ (libevent-devel) をインストールしようとするとその後がおかしくなるのでなんでなんだろうという気持ちがあり、まあそこだけ手動でやればいいんとちゃいますかという諦めが出てきている。

 

研究は(うちの研究室だと)基本的に個人の仕事なのであまり「仕事してる感」がないのだが、研究室のインフラ整備をしてると一日が終わったあとに「うーん、今日は仕事したな〜」という気持ちがあって気持ちがいい。あと、今日はここまでやったけどこの部分だけ消化不良だな〜みたいのがあんまりないので、例え上手くインストールできなくて一日が終わってもあんまり焦りみたいのがない。

 

2017/12 2週目に調べたことまとめ

React v16.2.0: Fragment 記法のサポートのJSX拡張

render()で複数の要素を返す際、今までだと

render() {
 return [
  "Some text.",
  <h2 key="heading-1">A heading</h2>,
  "More text.",
  <h2 key="heading-2">Another heading</h2>,
  "Even more text."
 ];
}

のように、配列を返すように書いていた。

この記法の場合

  • 文字列がダブルクォーテーションで囲まれていないといけない
  • 要素ごとにコンマが必要
  • 文字列以外の要素にkeyをつけないといけない(ReactがWarningを出しやがるので)

といった不便があった。
これを避けるため、v16.0からFragmentというのがサポートされている。

render() {
  return (
    <Fragment>
      Some text.
      <h2>A heading</h2>
      More text.
      <h2>Another heading</h2>
      Even more text.
    </Fragment>
  );
}

これによって、前述した3点の不便な点が解決されている。
更に、v16.2.0では、このFragment記法のシンタックスシュガーとして

render() {
  return (
    <>
      Some text.
      <h2>A heading</h2>
      More text.
      <h2>Another heading</h2>
      Even more text.
    </>
  );
}

と書けるようになる。

注意点としては、<></>要素はアトリビュートを受け付けない(keyも含めて)ため、
何かしらのアトリビュートを付与したい場合には<Fragment></Fragment>を使う必要がある。

function Glossary(props) {
  return (
    <dl>
      {props.items.map(item => (
        // Without the `key`, React will fire a key warning
        <Fragment key={item.id}>
          <dt>{item.term}</dt>
          <dd>{item.description}</dd>
        </Fragment>
      ))}
    </dl>
  );
}

英語の復習: 制限用法と非制限用法

  • the man that (which) have one hundred chou yen
    • 100兆円持っているその(あの)男は
  • a man which have one hundred chou yen
    • 100兆円を持っている男(人は)
  • the man, which have one hundred chou yen,
    • その男は、100兆円を持っているのだが、

制限用法ではwhichよりthatのが自然ぽいという議論がある
https://en.oxforddictionaries.com/usage/that-or-which