GraveDollの備忘録ブログ

勉強したことや捗るグッズの備忘録です。

2021年買ってよかったもの

今年も買ってよかったものを紹介したいと思います!

STANDARD SUPPLY WEEKENDER PACKABLE DAYPACK

元々旅行用のサブバッグとして購入したものですが、とても使い勝手が良いので普段使いしています。
この手のパッカブルバッグって、畳ん打だ状態から開くとクシャクシャになって安っぽさ満開になりがちなのです。
しかしこちらのバッグはハリのある素材でシワがつきにくくなっています。
また、ジップはYKKの高級なものを使用していますし、上部の持ち手やファスナープルには牛革が使われています。
重量もとても軽いので肩の負担がとても少ないです。
左右に小さなループが付いているのでAirPodsとエコバッグをつけられるのも嬉しいポイント。
サイズは若干小さめなのでユニセックスで使えます。

モンベル サンブロックアンブレラ

男性でも使いやすい日傘を探していたら見つけました。人気商品で入荷するとすぐに売り切れてしまうそうです。
シルバーカラーなのとモンベルロゴがちょっと気になりますが逆にアウトドア用のものを敢えて使っている感(?)が出て良いかもしれませんね。
アウトドアブランドなので機能性はとても高いです。実際使ってみると本当に暑さが軽減されて、これ無しでは出かけたくなくなるくらいに感じました。
欠点はケースが小さい?ので折りたたみしてケースに収納するのがちょっと大変なことでしょうか…。
晴雨兼用なので一年中使えそうです。

BJ CLASSIC COLLECTION COMBI COM-510N NT

bj-classic-collection.co.jp

メガネを新調しようと思い、ボストン型が良いな〜と思っていたら見つけたメガネ。
ちょっとお値段は張りますが、セルロイドとチタンの組み合わせがとてもかっこいいです。
ブラック・ゴールドを買って、ちょっとゴールドが浮くかなと思っていたのですが、掛けてみると意外と主張がなくすんなりと馴染みます。
今までメガネは家の中でだけ掛けていて出かけるときはコンタクトをつけていたのですが、とても気に入ったのでメガネのまま出かけるようになりました。
ちなみに星野源着用モデルでもあります。

Blue Microphones Snowball iCE

仕事でMacBook Proを使っているのですが、あまりマイクの性能が良くないらしく買ってみました。
丸いフォルムでどこかレトロなデザインがかわいいのでデスクに置いてもおしゃれで邪魔に感じないです。
音声もクリアになり、感度も良いので頑張って大声を出さなくて良くなりましたw
個人的には有線なのも信頼性があって良いです。

ロジクール StreamCam C980OW

こちらも私のMacBook Proのカメラでは720pで高画質とはいえないので、高画質化するために購入しました。
外付けなので好きな場所に設置できるのも大きいですね。
私は昨年の記事で紹介したBenQのScreenBarの上に置いています。gravedoll.hatenablog.com
1080P、60FPSでなめらか高画質、オートフォーカスで文句なしの製品です。

SwitchBotカーテン

カーテンを自動開閉してくれるロボットです。
カーテンの開閉をおこなう、それだけといえばそれだけなのですが毎日やることだし、部屋が多いと面倒に思う日もあると思うので買ってよかったなと思っています。
毎日決まった時間にカーテンを開閉するようスケジュール設定しています。
手動で開け閉めしようとするのを感知して動いてくれる機能もあるので、ちょっと開けたり閉めたりするときに逆に面倒くさいってことにもなりません。
気になることとしては音はうるさいとは思わないものの、静かとは言えないかなと思います。私は設置していないのですが、寝室とかだと目がさめてしまうかなと思います。


今週のお題「買ってよかった2021」

ローカルaarファイルからサブモジュールを利用できない

Androidはかなり久しぶりの備忘録(投稿自体久しぶりですがw)。
Androidでライブラリ開発してるとき、そのライブラリ(Module)が依存するライブラリ(SubModule)のソースコードがプロジェクト内にあるとします。
このとき、メインのライブラリ(Moduleとします)のbuild.gradleで

dependencies  {
    api project(':Module:library:SubModule') //推移的依存
}

のように依存関係を設定してaarファイルを作成すれば良いかと思うかもしれません(ビルドも成功します)。
しかし、実際にアプリこのライブラリを組み込んでみると、アプリからSubModuleのメソッドなどにアクセスしようとするとClassNotFoundのエラーが発生してしまいます。
mavenリポジトリから依存させる場合はpomファイルで依存関係を参照できるのですが、ローカルのaarファイルではそれができないためです。

この場合どうすればよいのかというと、SubModuleをjarファイルで出力し、Moduleでそれを読み込むようにします。

//SubModuleのbuile.gradle
task copyJar(type: Copy) {
    from("${project.buildDir}/intermediates/aar_main_jar/release")
    into('../../libs')
    include('classes.jar')
    rename('classes.jar', 'SubModule.jar')
}

afterEvaluate {
    build.finalizedBy(copyJar)
}

ビルド処理終了時に、中間ファイルとして出力された.jarをリネームして、プロジェクトのlibsフォルダに保存しています。
中間ファイルの場所(${project.buildDir}/intermediates/aar_main_jar)ですが、AGPのバージョンによって突然変わってしまうことがあるので注意が必要です(この例では4.2.1を使用)。

上記の処理はメインのライブラリであるModuleのビルド前に完了させる必要があります。手動でSubModuleのgradleタスクを先に実行してしまえばいいのですが、面倒ですよね。
VisualStudioならこの辺のビルド順序は簡単に設定できるのですが、gradleは複数のタスクが並行して実行されているためなかなか難しいです。
私の場合はメインのModuleのbuile.gradleに以下の記載を追加し、Moduleのビルド処理前にSubModuleがビルド完了されるようにしています。

//メインModuleのbuile.gradle
preBuild.dependsOn ":Module:library:SubModule:build"

ModuleからSubModuleの参照は以下でOK。

//メインModuleのbuile.gradle
compileOnly project(path: ':Module:library:SubModule') //jarファイルが無い場合でもコンパイルエラーが起こらないように
api fileTree(dir: 'libs', include: ['SubModule.jar'])

4ヶ月間リモートワークを続けた中で買って良かったもの

昨今の社会情勢から約4ヶ月の間ずっとリモートワークを続けています。
以前からリモートワーク可能な職場で働いていたのですが、こんなに長期間連続してリモートワークをやったことがなかったので色々と不便に思うことも出てきました。
今後もしばらくはこの状態が続く中で少しでも快適に健康に過ごすために色々なものを買ったので紹介します。
f:id:GraveDoll:20200607172100j:plain

ユニクロUのTシャツ

最初の頃はフリースのセットアップでパジャマみたいな格好で仕事をしていたのですが、オンオフ切り替えるために
ある程度ちゃんとした(?)格好をしたほうがいいのではないかと思い始めました。しかし外行きの服をわざわざ着るのもどうかと思い、
リモートワーク用の服としてユニクロでTシャツを購入しました。
長袖・半袖ともにとても高いクオリティですが、低価格なので色違いで複数枚買ってローテーションしています。
ユニクロUのTシャツはオンラインストアでもよく再入荷するので、在庫切れでもこまめにチェックしてると良いですよ。

長袖(クルーネックT)

www.uniqlo.com
とてもしっかりした生地なのでヘビーユースしてもへたれにくく、程よいゆったり感でリラックスできます。
袖先がリブなので腕まくりもしやすく、タイピングの邪魔になりません。

半袖(エアリズムコットンオーバーサイズTシャツ)

www.uniqlo.com
爆発的にヒットした人気商品。裏地は高機能素材のエアリズムなので夏でも快適です。
一方、表地がコットンでエアリズム特有のテカテカ感がないため高級感があります。
こちらもゆったりしたシルエットなので窮屈感は全くありません。
洗濯後は襟部分がへたりやすいですが着ているうちに直ってきます。

ココナッツ・ギー

大して動くわけではないので昼食兼朝食は腹持ちの良いバターコーヒー(+お腹の減り具合によってサラダやパン一枚などの軽食)で済まそうと思い購入しました。
バターコーヒーを作るにはグラスフェッドバターMCTオイルが必要なのですが、こちらは両者が混合されているという優れもの。
コーヒーに小さじ2杯入れて、クリーマーで撹拌させてから飲んでいます。昔は昼食はがっつり食べないとお腹が減ってしょうがなかったのですが、バターコーヒーを飲むようになってから確かに空腹感をあまり感じなくなりました。
ただ最初の頃は夕方になると低血糖みたいな症状になることがあったので、空腹を感じたら無理せず軽食を取ることをおすすめします。
ちなみにコーヒーは以前の記事で紹介したパナソニックのコーヒーメーカーを使って作っています。
gravedoll.hatenablog.com

ノートPCスタンド(Twelve South Curve Stand for MacBook

仕事はMacBook Proでやっているのですが、ラップトップだとディスプレイが下方向にあるため猫背になりがちです。
また、外付けディスプレイを使用してデュアル環境で作業する場合、視線を上下に動かさなければならず疲れてしまうと思います。
そこでノートPCスタンドのTwelve South Curve Stand for MacBookを購入しました。
シンプルかつしっかりとしたスタンドで、接地面が半円形でそれほど大きくないのでデスクを有効活用できるのが良いです。
ちょっと価格は高いですが、アップルストアでも販売されているためデザインやクオリティに関してはお墨付きかと思います。
ちなみにノートPCスタンドを使用する場合は外付けのキーボードとマウスは必ず使った方が良いです。腕が疲れてしまいますので・・・。


Apple Magic Keyboard - 日本語(JIS)

Apple Magic Keyboard - 日本語(JIS)

  • 発売日: 2015/10/14
  • メディア: Personal Computers
Apple Magic Mouse 2 - シルバー

Apple Magic Mouse 2 - シルバー

  • 発売日: 2015/10/14
  • メディア: Personal Computers

ノイズキャンセルイヤフォン、ヘッドフォン(AirPods Pro、Beats Solo Pro)

Apple AirPods Pro

Apple AirPods Pro

  • 発売日: 2019/10/30
  • メディア: エレクトロニクス


周りを気にぜず好きな音楽を聞きながら仕事ができるのもリモートワークの良いところかと思います。
私は一人のときはAmazon Echoで音楽を垂れ流しにしながら仕事をしているのですが、
家族がいる場合にはそうも行かないのでノイズキャンセル機能付きのワイヤレスヘッドフォン(Beats Solo Pro)で音楽を聞いています。
家族が隣の部屋でテレビを見ていても全く気にならないので狭い賃貸で家族と同居している人は特におすすめです。
もともと通勤用として買っていのたAirPods Proがあったですが、家で使う専用のものが欲しくなりBeats Solo Proを購入しましたw
当たり前ですがどちらもApple製品との相性がとても良いのでiPhoneMacユーザーはストレスフリーで使えます。
ちなみに私はApple Musicを契約しているので、集中したいときは「トゥデイズ チル」(カフェで流れているような落ち着いたBGM)、
ルーティーンワークのときは「ニュー・ミュージックミックス」(最新の邦楽)というプレイリストを聞いています。毎週更新されるので飽きもないですよ。

フィットボクシング

Fit Boxing (フィットボクシング) -Switch

Fit Boxing (フィットボクシング) -Switch

  • 発売日: 2018/12/20
  • メディア: Video Game

ジムが休館してしまい、運動不足を感じたので購入してみました。
毎日40分のデイリーモードをやっていて、だいたい300〜400kcal消費する有酸素運動ができます。
プログラムによっては結構ハードなこともあり、終わる頃には汗だくになっていますw
購入してから一日も欠かしたことがないのですが、やはりジムに通っていたときに感じた移動とか着替えとかを用意する心理的障壁がないので毎日継続しやすいのかなと思います。
そこまで激しい足の動きはないのですが、たまにステップという上下左右に移動するアクションがあるため、マンション住まいの方はトレーニングマットを敷いた方が良いと思います。

BenQ ScreenBar

BenQ スクリーンバー ScreenBar_Black

BenQ スクリーンバー ScreenBar_Black

  • メディア: Personal Computers

いわゆるデスクライトですがデスクに設置するのではなくディスプレイに取り付けるのが特徴で、デスク上の空間を有効活用できます。
実際に取り付けられている写真を見てディスプレイに光が反射するのではないか?という疑問が湧きましたが、
LEDが絶妙に計算された位置にあるためそのようなことは全くありませんでした。
アンビエントセンサーが内蔵されているため、スイッチをONにするだけで自動調光機能でいい感じの明るさにしてくれますし、
手動で色温度の調整もできるので、シャッキリしたい朝は白昼色、リラックスしたい夜は電球色にするといったことも可能です。
私はiMacのターゲットディスプレイモードを使用してMacbook Proの外付けディスプレイとして使用しているのですが、
iMacのカメラにも被ることなくScreenBar取り付けることができました。
最初はデスクライトは特にいらないと思っていましたがやはり有るのと無いのとでは見やすさが全く違います。
やはり集中すべきものに照明を当てるというのはとても重要なことだと思います。

【2019年買ってよかったもの】デスク横にカフェコーナーを作ってみた

家で作業するときコーヒーを飲むと捗りますよね。
私も徒歩一分の場所にセブンイレブンがあったので、休日や家で作業するときはよくコーヒーを買いに行っていました。
しかし転職を機に引っ越すと最寄りのコンビニまで5分くらいかかるようになってしまったのと、やはり不経済な感じがして思い切ってコーヒーメーカーを買うことにしました。
現在はリモートワークできる会社で今まで以上に家でコーヒーを飲むことになるので、すぐに元は取れるかと思いますw
ついでに部屋も少し広くなったので、デスク横に小さなカフェコーナーを作ることにしました。

コーヒーメーカーの選定

やはりいちばん重視するのは手入れの簡単さです。毎回洗い物が面倒だと使う気がなくなってしまいますので。。。
色々調べてみたのですが、パナソニックの製品だとミルの自動洗浄機能が付いているようです。
さらにレビューサイトや口コミを見るとコーヒーの味も評判が良いので、買って間違いないようでした。

ワゴンの選定

次はコーヒーメーカーを設置するワゴンです。
コーヒー豆のストックやフィルター、ゴミ袋など置ける程度の大きさのものが良いと思います。
買ったのはIKEAのロースコグです。CMにも登場している人気商品ですね。
www.ikea.com
最上段に囲いがないものが使いやすいかと思いましたが、ぶつかって落としたりしたら嫌なので囲いのあるワゴンにしました。
実際使ってみても問題なかったです。

キャニスター

コーヒー豆は空気に触れる時間が長いと味が落ちるので密封保存する容器が必要です。
こちらもIKEAで購入しました。200gが余裕で入ります。
www.ikea.com

コーヒー豆

近所にカルディがあったのでコロンビアを買ってみました。
酸味と苦味のバランスが良いらしいので最初の豆として良いかなと。

カフェコーナー完成!

f:id:GraveDoll:20191229020205j:plain
当たり前ですが上段はコーヒーメーカを設置。使用後は吸水マットを敷いて洗い物置き場にもなっています。
小物はほとんど百均のSeriaで買っています。インテリア小物は品揃えの良い大型店がオススメです。

f:id:GraveDoll:20191229010939j:plain
中段は開封したコーヒー豆とフィルター、マドラーなどを収納しています。

f:id:GraveDoll:20191229010708j:plain
下段は開封前のコーヒーと、コーヒーのかすを入れて捨てるためのポリ袋を収納しています。
こちらも空いているスペースは吸水マットを敷いて洗い物置き場として使用しています。

設置後の感想

私が買ったコーヒーメーカーですが、一番最初のミルの音が結構大きいのでテレビ会議前などは気をつけようと思いますw
まあこれはセブンイレブンなどのマシンでもそうなのでしょうがないですね。
後は肝心の手入れですが、ミル部分は自動洗浄されるもののドリップ部分と保温ポットは自分で洗う必要があります。
大した作業ではないのですが10分ほどかかるので、私の場合は出勤する日に毎朝コーヒーを入れるのは面倒かなと思いました。

やはり休日やリモート中にコーヒーをガブ飲みできるのは良いですね。
豆から作ると部屋がコーヒーの香ばしい匂いで包まれるのも気分がいいです。
これからいろんな豆を試して飲み比べしてみようと思います。

ネットワークデバイスを切り替えるツールを作ってみた

社内ネットワークを経由すると接続できないサイトがあるため、別途開発用に自由にインターネットに接続できるネットワークに接続しなければならない開発環境ってありますよね。
インターネット上のリポジトリから依存するライブラリをダウンロードできないとかイラッとすると思います。
しかしセキュリティ上の理由から2つのネットワークを混合させられないため、ネットワークデバイスNIC)ごとに割り当てるネットワークを変えてそれを切り替えるような運用をしている方いるのではないでしょうか。
以前そのような環境で開発していたときに作ったネットワークデバイスの切り替えツールをGitHubで公開しました。
ReleaseタブからNetworkSwitcher.exeをダウンロードロードしてください。
github.com

登録したネットワークデバイスの有効・無効を切り替えるツールです。 タスクトレイに常駐し、素早くネットワークを切り替えることができます。
「コントロール パネル」→「ネットワークとインターネット」→「ネットワーク接続」でネットワークデバイスの有効・無効を切り替えるのと同様の操作をおこなっています。
f:id:GraveDoll:20190923100503p:plain
f:id:GraveDoll:20190923100507p:plain

JenkinsでC#のプロジェクトを自動ビルドしてみた

JenkinsでC#のプロジェクトを自動ビルドしてみたときのメモ。
Windows用アプリを作成するときのものですが、キャプチャ画面がMacなのは気にしないでくださいw

1. プラグインマネージャーでMS Buildにチェックを入れ、Jenkinsを再起動。

f:id:GraveDoll:20190506134622p:plain

2. Global Tool ConfigurationでMS Buildのパスを設定する。

下の画面キャプチャは空白ですが、Visual Studioのインストールフォルダの中にあるはずなので、MSBuild.exeのパスを設定してください。
f:id:GraveDoll:20190506134536p:plain

3. プロジェクトの設定でMS Buildを選び、コマンドを記述する。
  • MS Build ビルドファイルはソリューションファイルを指定します。
  • コマンドライン引数については以下の通りです。
/t: 

でターゲットのプロジェクト名とbuild/cleanの指定を行います。

/p:

でRelease/Debugの指定やプラットフォームの指定を行います。
f:id:GraveDoll:20190506134552p:plain

  • InstallShieldのプロジェクトもビルドできるのでインストーラまで自動で作成できます。

その場合のコマンドは

/t:InstallShieldProject,build /p:Configuration=SingleImage /p:Platform="Any CPU"

のようになります。
さらに

/p:InstallShieldProductversion="1.0.0.0"

というパラーメータを追加するとインストーラファイルのバージョンも設定できます。

macOS 10.14 Mojave では32bitアプリでCWInterfaceの生成ができない件

support.apple.com

10月にmacOS 10.14 Mojaveがリリースされ、32ビットアプリをサポートする最後のmacOSと発表されました。
そこで、無線LANを使う32bitアプリをMojaveで動作確認してみると無線LANインターフェース(CWInterface)の取得に失敗してしまいます。

let interface = CWWiFiClient.shared().interface()//32bitだとnilになる

64bitでビルドしたら取得できていましたので起動はするが動作は保証しないってことなんでしょうか・・・。
というわけでまだ64bit対応していないアプリがあれば早く移行しましょう。