MacにWindow Managerを導入

Windowをもう少し賢く使いたいなぁ…と思いましたです。まる。

結論

Amethystを使ってみることにしました。
Xmonadライクだったので。

これで、キーボードのみでウィンドウ切り替え出来るよう修行しよう。

インストール方法

以下を見ていただければ。

github.com

brew cask install amethyst

後は、セキュリティ&プライバシーのところでAmethystを追加し、権限を与えてあげましょう。

使い方

  • [Option + Shift + Space]でレイアウト切り替え。レイアウトは次の4つがある。
    • Column
    • Tall
    • Wide
    • Full Screen
  • [Option + Shift + j/k]でアクティブなウィンドウ切り替え
    • ただ、別Spaceにあるウィンドウまでは対応出来てない?
  • [Option + Shift + Ctrl + j/w]でメインウィンドウの入れ替え(右回り/左回り)
    • Column, Tall, Wideの時作用する

JdbcTemplateの照会系の結果をBeanに詰めるにはBeanPropertyRowMapperが必要

とりあえずはそんな理解です。

件のクラスのJavadoc見ると、以下のように記載されていますね。

RowMapper implementation that converts a row into a new instance of the specified mapped target class.
The mapped target class must be a top-level class and it must have a default or no-arg constructor.
Column values are mapped based on matching the column name as obtained from result set metadata to public setters for the corresponding properties.
The names are matched either directly or by transforming a name separating the parts with underscores to the same name using "camel" case.

オチは特にない。深く見てはいないです。

in〜, on〜(part2)

in, onの他の表現

例文

Let's go leave in the morning.

in the morningだと、朝もしくは午前中になる。
広い範囲を指す。

How about 9:00 on the morning of May 1?

ある特定の日の朝。

時間を表すin, on

in the rainy season
in a week
in a month
in spring
in 2014 in the 21st century

be on a trip
He's on vacation.

時間ではないin

cry in despair
in hope

in〜, on〜(part1)

inとonの区別

例文

Japanese always arrive in time for the meet-up time.

arrive in timeで「その時間内に到着する」
be in time「間に合う」
finish in time「時間内に終わる」

If you arrive on time, it's a miracle.

arrive on time「時間ちょうど(定刻)に到着する」

We hold a weekly meeting on Mondays.
The new product is going on sale in April.
He was born on the 14th of June in 1999.

時間を表すin, on

meet in August 8月に会う
meet on Friday
meet on August 20

at, on, inの違い

  • in: week, month, year, century, season
  • on: day, day of the week
  • at: time

at〜, in〜

atとinは時間を表す前置詞

atはat 1:00のように時間の一地点を表す。
inはin an hourのように広い範囲を表す。

例文

Please finish cleaning the toilet at 2:00.
He always finishes breakfast at 8:00.
Please finish cleaning the toilet in an hour.
I finish lunch in an hour.

at, inを使った表現

He writes in his diary at the end of the day.
In the end, he said yes.結局、彼は承諾した
I can finish it in no time.それはすぐに終わらせることが出来る

時間ではないat

I would like to buy it at a discount.

Reactで動的に属性の値を生成する方法

HTML要素の属性の値を動的に生成するケースは往々にしてあるかと思います。
例えば、aタグのhref属性の値を動的に生成する等。

結果

JSXの記法でいけます。

<a href={'/item/' + this.props.id}>{this.props.name}</a>

このように、{...}の中に文字列もしくは式を値として入れることが出来るようです。
こんなスマートな記法あったのですね。知りませんでした。

MyBatisでorg.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

Spring Boot + MyBatisを使っていると、掲題の例外が発生することがよくあります。(私だけ?)
発生した時の対策をちょっとまとめてみたいと思います。

対策

  • MyBatisの設定クラス(@Configuration)に@MapperScanがついているか
  • @MapperScanに設定したパッケージ名は正しいか
  • Mapperクラスに@Mapperがついているか
  • XMLファイルが配置されているディレクトリ(もしくはパッケージ)は正しいか
    • たとえば、「xxx/yyy/zzz」なんてディレクトリにXMLファイルを配置したつもりが、「xxx.yyy.zzz」に配置したとか。

自分の場合、一番最後のやつによく当たります。

IntellJでパッケージ作っているのですが、操作ミスったりしてるのか、「xxx.yyy.zzz」なんてディレクトリになっちゃってます。
Finderでディレクトリ構成を確認して気付くというパターン。