ひさびさにとった出町桝形商店街の黒板

ひさびさ

大きな黒板は出ていなかったので残念。

それにしても通勤経路から外れてしばらくたったけど、大分人通りが多くなっている気がするがどうなんだろうか。ついでにサマカニが流れてましたが、だれの趣味なんですかね……?

出かけたついでにRX100 M3を持って桜を撮る

期日前投票の出かけついでに、今年の桜を撮ろうとRX100 M3を手に取った。

今年の桜-20180401-1

今までGR DIGITAL IVに慣れきってしまっているせいか、近づいて写真が撮れないのでこうイマイチいい感じの射程圏に入らずいろいろ難儀した。

遠景やある程度距離のあるものを撮ったり、GRだと弱かった光量の少ないところはいい感じなんだけど。

今年の桜-20180401-1

しかしこうもっとちゃんと撮りたい欲が出てくると一眼レフあたりを持ち出したいがぐぬぬ。風邪ひいたせいでいろいろ狂ってしまった。

今年も使うのです、ほぼ日手帳

無事に2018年4月始まりに更新。ロフトかほぼ日ストアぐらいしか扱いないと思っていたが、Amazonで検索しても出てくる。しかしこれは公式なのかどうかわからんな……

ほぼ日手帳 カズン 2018 ほぼ日 手帳 本体 4月はじまり 月曜はじまり cousin【下敷き/ボールペン付】

風邪

つらさがにじむのです。

【指定第2類医薬品】パブロンゴールドA<錠> 210錠

【指定第2類医薬品】パブロンゴールドA<錠> 210錠

#ScalaMatsuri 2018 Day1 メモ

例によっていつものメモ書き。最近この手のカンファレンス来てなかったから、メモ取る速度が遅くて自分の考えを書き込めなかったのでつらい。

Why Composability Matters

  • Scalaはマルチパラダイム言語
    • でも他の言語も大なり小なり関数型言語のエッセンスはある
  • Scalaと他の言語の違い
    • Composability
  • 意味は?
    • Composition 合成とは
      • いろいろある
      • 同じ概念の異なる要素を合成することで新しい要素を生成する
  • 合成する方法が多い方がComposabilityが高いとこの発表では高いと定義
  • なぜ重要か?
  • Custom Typeを変換する例
    • SpringとPlayの違い
      • 変換処理をするConverterはほとんど同じ
      • 使い回しをするのはScalaのほうが楽に書ける
      • Javaでも言語機能では可能、Frameworkが
  • Scalaだと他の言語よりComposabilityが高い
    • 高いと逆に全体の見通しが難しいのではないかという質問
      • HowとWhatがうまく分離できないと大変になるのはある
      • 意識的に切り分けていけば可読性は上がると思う

How to get along with implicit

  • implicitはふたつある
  • 有名なimplicit
    • JavaConverters
  • implicitはなぜ難しいと思われるのか
    • 3つ
      • 明示的でない
      • スコープが複雑
      • しばしば導出を前提にデザインされる
  • Seq(2,1,3).sortedをもとに例示
  • IntelliJでImplicit Parameterを調べる機能があるので、それがおすすめ
    • 動いているものが必要
    • 暗黙の値を複数つかっているようなものでも解析できる
  • 暗黙の型変換
    • Enrich my libraryパターン
  • 動いてるサンプルを見つけて調べるのがよい
  • 最終的にComposability的な話になってきた
    • 既存のものでやっていく

あなたの集計クエリをお金をかけることなく14倍高速化するには?

  • 他と毛色が違うタイトルなので気になった
  • データウェアハウスなどなどでかいデータの集約
    • データが大量なのでクエリ遅い
    • full scanの発生
  • ユーザーに気づかせないことが大事
  • それほどScalaに関連する話じゃなかった、けど面白い
  • 内容はスライド見るとわかったが、英語のなまりが結構強く、しかもかなり早口だったので通訳のレシーバー借りとけばよかったと思った

もしScala初心者がMonoidを投げ込まれたら

  • 突如投げ込まれるコミット
  • どう対処していくのか
    • チームビルディングの最中でコンテキストの共有が不十分
    • 地道な勉強会、教育、コンテキストの共有
    • モチベーション大事
    • 自分がなにをすべきかが見える
    • 試行錯誤してやっていくしかない
  • 何事もやっていくしかない感じ

Scalaでの部分的な関数型プログラミング

  • Pureな部分とSideEffectのある部分をなるべくわけるようにしていく
    • 2つの層がでてきた pure layer effectful layer
    • 作用の起こす層はpure layerに依存する逆はだめ
    • pure layerはcore business rules

scalaメタプログラミング今昔物語

  • メタプロ
    • プログラムをデータとして扱うプログラム
  • 歴史
    • ~ 2.10 Gen 0
      • 直接さわれない scalapとかから
    • 2.10 Gen 1
      • sclaa.reflect
      • scalacに強く異存
        • DottyやIDEではうごかない
    • Ge 2
      • scala.meta
      • Standard AST
      • AST Converterの実装コストが高い
      • 情報ロス
      • 性能劣化
    • Next Gen
      • scala.macros
        • Standard abstract syntax
        • intellij AST とscalac ASTにそれぞれのラッパーを作る
      • Converterよりラッパーの方が実装が楽
  • ScalaGen
    • 静的コード生成
    • 注目していく価値あり
  • 質問
    • Standard abstract syntaxとQuasiquateとのちがい
      • 回答に質問者あまり納得していなかったようだが……

Haskell + Scala ハイブリッド開発大作戦

  • https://speakerdeck.com/ytaka23/operation-haskell-plus-scala
  • Scalaは純粋か非純粋な関数かが関数名からわからない
  • Haskellはわかる(IO Stringの例)
    • 副作用は隔離すべき
    • コンパイラが型チェックしてくれる
    • これがHaskellの特徴(Side Effectが型になる)
  • EtaからScala呼ぼうとすると隠れたものがあるので、書くのはやめたほうがいい
    • 日本では数人しか持っていない知見
  • JavaからEta, EtaからJava, 最終的にEtaのみでマイクロサービスにしてしまうという移行順序はよさげ
    • EtaからHaskellにしてしまったりできると言ってたが、どの程度手を入れる必要あるのだろうか
    • Haskellでなんらかのサービスを書く……?
  • 純粋な関数にちょっとログみたいとIOをいれてしまうと大変そうという質問
    • もうそういうものとして考えるしかなさそう

リアクティブDDD実践入門

  • AkkaをつかったリアクティブDDDの話
  • メッセージ駆動をつかったactor + DDD = リアクティブDDD
    • Akkaつかうとイベントソーシングも扱える
  • CQRS+ESだとreadとwriteのストレージはわける
    • 論理的でも物理的でもOK
    • そこまで
  • ドメインモデルの候補は言葉にするとでてきやすい
  • Akka persistenceだとDDD Repositoryの実装がいらない
  • Aggregateはインターフェイス層に、関心事がライフサイクル管理や整合性の保証なのでドメイン層ではない
  • CQRS
    • queryが多い場合にpayできる
  • 徐々に疲れで意識が一瞬飛ぶ

会場のWiFiがかなり不安定でその点はちょっと不満でした。明日はどうなるかな。

Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)

Scalaスケーラブルプログラミング第3版

IntelliJ IDEAハンズオン――基本操作からプロジェクト管理までマスター

そろそろスタンディングデスクとかほしい

現職の事務所が移転して、通勤での徒歩時間がとても少なくなってしまったので全体的な運動量が減ってしまった。基本的に座り仕事だからどうしようかなぁと思っていたところ、先日職場でスタンディングデスク使う機会があったのでしばらくやってみたところ、なかなか調子がいいので家でもできないかなーと。

このへんとかだと今ある机の処分とかを考えないといけないのだけど、片付けたりもろもろ必要なのですぐには無理。かといって、

とか既存の机の上に載せるやつも今持ってる机のサイズとiMacとか置き場所考えると大変だなーというところで、

を見つけたのでサイズがLのものをぽちってみた。これならお試しに使えるし、出先でも使えそうなのでしばし使ってみたいと思う。

定期的に撮るのはこれで終わりな出町桝形商店街の黒板

朝とるのも今日で終わり

なぜかというと事務所が移転するから。場所的に反対の方角に行ってしまうので、若干寂しいですね。

ニチバン 布テープ 50mm×25m巻 121-50 黄土

ニチバン 布テープ 50mm×25m巻 121-50 黄土

SUN UP(サンアップ) 包装緩衝材 プチプチ d36 巾300mm×全長10m

SUN UP(サンアップ) 包装緩衝材 プチプチ d36 巾300mm×全長10m

ぷちぷちとかガムテープとか大事。大事ね。