モニターアームはじめました。

こんにちは。デザイナーのMです。
弊社では新型コロナウイルスの感染拡大防止の為、在宅勤務が基本の勤務体系になっており、4月ごろからずっと在宅で勤務しています。

そして最近、引越しをしました🏡
引越しの理由としては、以前の家ではリビングで仕事をしていて仕事とプライベートのオンオフが切り替えづらく、オンラインミーティングなども頻繁に行うので、作業部屋が必要になってきたためです。
そして何より作業部屋(自分の部屋)を持てるのが嬉しいです😂

引越しの荷解きもだいたい終わったので、休日は作業部屋のカスタマイズに勤しんでいるのですが、せっかく引越したので心機一転やりたかったことを実践してみようと思いました!
やりたかったことの一つとして、今回のブログネタのモニターアーム設置がありました。
今回は、初めてのモニターアーム設置について、ざっくりですが記事にしてみました!

モニターアームとは

モニターアームをモニターに接続すると、モニターの位置を前後左右、そして上下に自由に移動できるようになります。
通常のスタンドでは実現できない角度や高さをモニターアームを使用すれば簡単に実現できるようになるアイテムです。
モニターアームにもいろいろな種類がありますが、私が購入したのはモニターアーム界の中でもメジャーなErgotron(エルゴトロン)社製のモニターアームを購入しました。エルゴトロンって名前の響きが男心をくすぐりますよね😉
価格はAmazonで約14,000円(2020年7月29日現在)で、他の中華製のモニターアームなどよりは少し価格設定は高めです。ただその価格分、精度の高さや堅牢性はとても満足できるものと思います。

いざ、開封の儀

結構大きい箱で届きました。

パカッ。開封!!

モニターアーム、ネジ類、説明書というシンプルな内容です。

表面が少しザラザラしたマットな質感でイケてます。ひんやりしているのでずっとスリスリしていたい()

いよいよモニターアームを設置!

まず既存のモニターに付いているスタンドを外します。私が使っていたモニターはネジが1本だけで止められていたのですぐ外すことができました。


モニターの裏側に取付ネジがあります。


取り外されたスタンドくん。
今まで支えてくれてありがとう。そしてさようなら、お元気で😂


続いてモニターアームを接続します。
付け方は簡単。付属のネジで4箇所止めるだけです。


VESA規格のモニターだったので特に問題なく付けることができました。(VESA規格以外のモニターでもアダプターを使えば付けることはできます)

次にモニターアームの土台をクランプを使ってテーブルに固定します。
土台はまぁまぁ重いので、天板はある程度の厚さが合ったほうが安定して良さそうです。あ、天板の耐荷重も一応見ておきましょう👆
そして今回はモニターアームの補強板も購入して安定感をプラスするようにしました!
補強板があるのとないのとでは、個人的によりがっしり固定してくれてるような気がしました。(補強板なくてもグラつきなどはなかったですが精神安定上つけました)

そして土台にアームを取り付けていきます。


……

………


じゃーん!設置完了!
めっちゃかっこいいです👌

モニターアームを取り付けてみて思ったこと

従来のスタンドと違いモニターアームは可動域がぜんぜん違うのでとても便利です。無駄に色々動かしていましたw
モニターを横に移動させたり、画面を回転させて縦にすることもすぐにでき、非常に効率的に作業環境を作ることができます。

これで少しでも効率的に作業ができるようになればと思います!
お仕事頑張ります🔥(モニターアームの次はワークチェアをいいヤツにしたいという野望がひっそりとあります…

SolrCloudをDockerで動かす

前回に引き続き、SolrをDockerで動かしてみます。今回はSolrとZooKeeperを別コンテナに分けてSolrCloudを構成します。

docker-compose.yml作成

まず、以下の内容の docker-compose.yml を作成します。

ZooKeeperの公式コンテナイメージの情報はこちらです。

正しく動作させるためのポイントがいくつかあります。

Solrの起動オプションを使ってコンテナのZooKeeperを指定

そのまま起動するとSolrは同梱のZooKeeperを使ってしまうので、docker-compose でコマンドラインオプションを指定してコンテナのZooKeeperを参照するように指定しています。

ZooKeeperの4lw.commands.whitlistの指定

“ZOO_4LW_COMMANDS_WHITELIST: mntr,conf,ruok”を指定します。これをしないと、管理GUIの”Cloud” → “ZK Status”の画面で以下のエラーになりZooKeeperの状態を確認できません。

Could not execute ruok towards ZK host zoo1:2181. Add this line to the 'zoo.cfg' configuration file on each zookeeper node: '4lw.commands.whitelist=mntr,conf,ruok'. See also chapter 'Setting Up an External ZooKeeper Ensemble' in the Solr Reference Guide.

ZooKeeperのバージョンを3.5.7で指定する

ZooKeeperの最新イメージは3.6系になっていますが、これを使うと、先程の”Cloud”→”ZK Status”の画面で4lw.commands.whitelistの指定をしていても以下のエラーになります。

For input string: "null"

いろいろ調べてみると Solr 8.5 と ZooKeeper 3.6 の組み合わせで発生するという情報が見つかりました。この問題を回避するために ZooKeeper のバージョン 3.5.7 を指定しています。

起動

$ docker-compose up -d

http://localhost:8983/solr/ で管理GUIにアクセスできます。

起動後

いつもの動作確認をしてみます。

設定ファイルアップロード

$ (cd configsets/_default/conf && zip -r - *) | curl -X POST --header "Content-Type:application/octet-stream" --data-binary @- "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=test"

コレクション作成

$ curl -s "http://localhost:8983/solr/admin/collections?action=CREATE&name=test&maxShardsPerNode=2&numShards=2&replicationFactor=3&collection.configName=test"

ドキュメント投入

$ bin/post -c test example/exampledocs/manufacturers.xml

検索

$ curl -s "http://localhost:8983/solr/test/select?q=*%3A*&rows=1"
{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":64,
    "params":{
      "q":"*:*",
      "rows":"1"}},
  "response":{"numFound":11,"start":0,"maxScore":1.0,"docs":[
      {
        "id":"apple",
        "compName_s":"Apple",
        "address_s":"1 Infinite Way, Cupertino CA",
        "_version_":1670655179588894720}]
  }}

SolrをDockerで動かす

SolrをDockerで稼働させるにあたっては、公式に提供されているコンテナイメージを利用することができます。ただし、このページの説明は非常に簡素なので、利用法については GitHub の README を参照した方が分かりやすいと思います。

起動

docker run -d -p 8983:8983 --name my_solr solr solr-precreate gettingstarted

サンプルデータの投入

docker exec -it my_solr post -c gettingstarted example/exampledocs/manufacturers.xml

データの確認

$ curl 'http://localhost:8983/solr/gettingstarted/select?q=*%3A*&rows=1'
{
  "responseHeader":{
    "status":0,
    "QTime":1,
    "params":{
      "q":"*:*",
      "rows":"1"}},
  "response":{"numFound":11,"start":0,"docs":[
      {
        "id":"adata",
        "compName_s":"A-Data Technology",
        "address_s":"46221 Landing Parkway Fremont, CA 94538",
        "_version_":1670098040008998912}]
  }}

コンテナの中はどうなっているか

コンテナに入って中を確認してみます。

$ sudo docker exec -it my_solr /bin/bash
solr@ef3c76ff156a:/opt/solr-8.5.2$ pwd
/opt/solr-8.5.2
solr@ef3c76ff156a:/opt/solr-8.5.2$ ls
CHANGES.txt  LICENSE.txt  LUCENE_CHANGES.txt  NOTICE.txt  README.txt  bin  contrib  dist  example  licenses  server

Solr は /opt/solr-8.5.2 にインストールされていて、solr ユーザのホームディレクトリになっていることが分かります。

solr@ef3c76ff156a:/opt/solr-8.5.2$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
solr@ef3c76ff156a:/opt/solr-8.5.2$ dpkg --list|grep solr

OS は Debian buster です。Solr パッケージを使っている訳ではないです。

solr@ef3c76ff156a:/opt/solr-8.5.2$ find /var/solr -type d
/var/solr
/var/solr/data
/var/solr/data/gettingstarted
/var/solr/data/gettingstarted/data
/var/solr/data/gettingstarted/data/snapshot_metadata
/var/solr/data/gettingstarted/data/tlog
/var/solr/data/gettingstarted/data/index
/var/solr/data/gettingstarted/conf
/var/solr/data/gettingstarted/conf/lang
/var/solr/data/userfiles
/var/solr/data/filestore
/var/solr/logs

データは /var/solr 以下に格納されます。

solr@ef3c76ff156a:/opt/solr-8.5.2$ ls /opt/docker-solr/scripts/
docker-entrypoint.sh  init-var-solr  oom_solr.sh  precreate-core  run-initdb  solr-create  solr-demo  solr-fg  solr-foreground	solr-precreate	start-local-solr  stop-local-solr  wait-for-solr.sh  wait-for-zookeeper.sh

コンテナ外からの操作で使われるスクリプトが /opt/docker-solr/scripts 以下に置かれています。起動時に使った solr-precreate はここに置かれているものです。

solr-precreate の中身は、/opt/solr/server/solr/configsets/_defaults の設定ファイルを指定されたコアのディレクトリ(上の例なら /var/solr/data/gettingstarted/conf)にコピーしてコアを作成してから Solr を起動するというものになっています。

SolrのデータをホストOS側に置く

データサイズが気になる場合や、インデックスの使い回しをしたい場合などには、SolrのデータをホストOS側に置くこともできます。

$ mkdir solrdata
$ sudo chown 8983:8983 solrdata/
$ sudo docker run -d -v "$PWD/solrdata:/var/solr" -p 8983:8983 --name my_solr2 solr solr-precreate gettingstarted

起動前に、ホスト側に作ったデータディレクトリの所有者をコンテナのsolrユーザ(8983:8983)に合わせておくことが必要です。

起動後

起動後はホストOS側から localhost:8983 でアクセスできるので、管理GUIなりウェブAPIなりで管理することができます。

サザンオールスターズ・桑田佳祐の曲で年表を作ってみた

先日WOWOWでサザンオールスターズ・桑田佳祐のライブ映像が12時間ぶっ通しで無料放送されました。いろんなライブからの編集で12時間162曲全部違う曲だったことが話題になりました。
「サザンは去年40周年だったけど、真夏の果実はデビュー10年ちょいのときに出た曲なんだな」とか「デビューからTSUNAMIが出るまでと、TSUNAMIが出てから今までとだいたい同じくらいなんだな」とかそういうことを考えているうちに、放送された曲を年表にしてしまいました。(カバー曲は除く)

年表を表示するために SIMILE Widgets Timeline を利用しています。

年表をドラッグすることでスクロールさせることができます。しばらく待ってもうまく表示されない場合はこのページをリロードしてみてください。

放送で使われたのはサザンの曲・ソロの曲全体の一部ではありますが、それでもほとんどの年が埋まってしまうわけで、こうしてできあがった年表を見るにつけ、40年間常に第一線で走り続けていることのすごみを感じますね。

お茶の匣

お茶のセットを買いました。

THE BOOK OF TEA JAPAN ブック オブ ティー・ジャパン
* クリックすると別サイトが開きます。

定期的に、お茶の詰め合わせになったものをいくつか買うのですが、その中でも THE BOOK OF TEA はここ最近、毎年購入しています。

年なのか季節なのか分からないですが組み合わせも違っていて、去年買った際には紅茶をメインにした50種のセットだったように思います。
(それより前かもしれません)

個別のレビューは控えますが、サツマイモのような風味がしたり梅の匂いがしたり、味以外にも香りのバリエーション豊富です。

お湯を沸かし、説明に書いてある通りにお茶を入れ、ホットアイマスクを付け、アンビエントなエレクトロニカを聴くと非常にリラックスできます。

最高です。

個包装のティーバッグなので難しいことを気にする必要がありません。

お茶の種類に詳しくなくても、現地まで買いに行く熱意がなくても、茶こしに詰まった葉っぱを取るのが面倒に感じる人にも、ティーバッグは遍く平等です。

お茶に詳しいであろう方々が選んでくれたものをただただ飲む。

日替わりで。
食事ごとに。
休日に。
おやつに。
気分次第で。

素晴らしいですね。

あと、Book というにはあまりにも極厚なのですが、箱がなんかおしゃれです。

ティーバッグもそれぞれに個別のデザインで包装されていて、見た目でも楽しめます。

気に入ったものは飾ってもいいかもしれません。

以上、ティーバッグのお茶セットを買うと手軽に優雅できるかもしれないお話でした。

優雅さが足りないと感じている方はいかがでしょうか。

※個人の感想です。効果には個人差があります。用法、容量を守って容器にもこだわると一層優雅になります。フレーバーな緑茶は、慣れないうちは薄めに作ることをお勧めします。